Dissecting the question, we have two operative terms here: “readable” and “maintainable.” Let’s talk about what these mean. “Readable” would describe code that is understood without much inspection or explanation by another developer. You have to choose what parameters you want to describe the “other developer” to know what would be readable to them. Some… Read More


If you have been developing software for a long time, then you can easily relate to the importance of unit testing.  Experts say that most bugs can be captured in the unit testing phase itself, which eventually gets passed on to quality teams.  Here is a list of my top 8 signs your writing bad unit… Read More


Personally, I’d give it about 5 to 7 more years, maximum 10. I’d even kill off web design alongside it. I am talking about website development, specifically where the developer is concentrating on writing code that manifests directly on a website, rendering HTML and Javascript. Web development is a broad term though because API development… Read More


I would summarize: The main issue is that server time is cheaper than developer time. A scripted language like PHP (or Ruby, etc.) takes about half as much time to program as bytecode or compiled language like Java (or C, C++, etc.). So if you have a team of 10 developers each paid $100K, then you… Read More


To paraphrase Mark Zuckerberg, there is a widespread feeling that young people are smarter and senior developers are not needed. But, when you look inside most businesses, you see businesses that are being held back by a lack of senior developers. What did the founder of one of the largest tech companies mean by this? Many… Read More


After sitting around with a few programmer friends of mine we came up with the following truths about computer programming. Programming is 99% self-taught. See all that stuff you learned in that Python class? Yeah, you’re going to relearn it all when working on a real project. There’s no such thing as a simple bug.… Read More


A good product manager doesn’t “break down” requirements into user stories, they start with good user stories and work from there. The whole point of using user stories is that they are how you communicate “requirements” to your development teams — by stating the user persona that you’re targeting, the task that user is trying to perform,… Read More


Responding to a junior developer who asked “Why developers at Google consider Agile to be nonsense?” I said,  because in practice, “agile” is code for sloppy thinking & lack of design. Code first, think later. It’s also great for giving managers metrics they can report against that sound good (e.g, “tickets closed”), while not having… Read More


There is one critically important reason to wear headphones while programming. When you understand the impact of this, it will change how you think about what it means to make things and what that process really requires. Programmers wear headphones so that they won’t be bothered. That much is pretty obvious. The reason why being… Read More


The career of a software engineer is not an easy one. It’s a tale of hardship and woe, filled with ladders to climb, and management to appease. Level 1 (0 – 2 years): You just graduated from college, a young boy with a young boy’s dreams, big eyes and a thirst for life. You start… Read More