For many years I couldn’t understand what software architects do. Early in my career, I thought they were useless. As a young developer, I felt that I could do the job of a business analyst, software architect, and developer all at the same time. Now, seventeen years into my post-college career I am one myself. I am trying to learn what it means to be a good software architect, and I hope to be one myself. Continue reading What does a Chief Software Architect do?
You have a product. You have a service. You have a business plan. Now you want to leverage technology and build a relationship with your customers by offering them an app. I am here to talk you out of it. Nobody wants an app You may feel like you are extending your brand to your customers' smartphones by giving them an app. In reality, however, … Continue reading Nobody wants your app
A Factory hides the details of instantiating objects within a class hierarchy. The client provides some information regarding the object it needs. Based on that information the factory determines which class of objects to instantiate and how to go about it. Factories are typically Singletons but don’t necessarily need to be, and it depends on the implementation needs. Factories is very common. Anytime you are … Continue reading Design patterns in TypeScript: Factory
Man’s wisdom is in what he writes, good sense at the end of his pen; and using his pen he can climb to the height of the scepter in the hand of his king — The Dream of the Poem: Hebrew Poetry from Muslim and Christian Spain Moses Ben Maimon (aka Maimonides) lived over 800 years ago. With his studies and writings he influenced … Continue reading On Maintaining Personal Brand as a Software Engineer
One of the key tenets of modern capitalism is division of labor. But is it a good thing for software development ? Prior to the late 19th century a violin was produced from raw materials to completion by a single person, who himself may have been an expert violinist. He may have had members of his family work for him. Everyone involved in the process … Continue reading The Perils of Division of Labor in Software Engineering
In 1992 Ed Yourdon wrote Decline and Fall of the American Programmer followed by Rise and Resurrection of the American Programmer just four years later. The first book spelled doom and gloom for the American Programmers who were going to get replaced by cheaper counterparts in India, Russia, Philippines, etc. The second book revisited some of the predictions based on the changes that the software … Continue reading Exploration of the Software Engineering as a Profession
When I was a freshman at Clarkson in 1996 there was a work-study program they called Student-Directed Computing Services. It was an effort to recruit students and get their help in wiring the campus for high speed Internet. It was thanks to that program that by the end of that year I had a real world paid experience in UNIX administration and networking. In the … Continue reading On apprenticeship