Discussion about this post

User's avatar
Brent Naseath's avatar

Having started as a software engineer in the late 1970s, including experience as a project manager, executive, management consultant , and entrepreneur, I think you got them all right except for two. They are the most common that people fail to understand, especially in the software industry. Regarding number three, it is always better to build it right the first time without bugs than shio bugs. All software development companies and clients feel speed is everything so they don't do adequate line testing during the process building in bugs that are impossible to find and never resolved. It's a major flaw and tradition in software development. Number 20 is true but conveys the wrong message. Process is there to guarantee the desired results, regardless of the person executing the process. The risk is that the process isn't followed or the process wasn't designed correctly. The software industry relies too much on heroes and long hours and not enough on proper processes. For example, lean development is not a process, it's a methodology. Other than these, the rest are the same conclusions I reached even though my experience started much earlier. Because people haven't changed and management hasn't earned any of the important lesson lessons. I spent much of my career solving impossible problems that management created only to discover these rules that your network, politics, and managing up is how you create a career, not by doing a good job designing and developing software. One final point that wasn't mentioned is that good software that solves problems comes from properly interviewing potential users, asking them how they experience frustrations and problems in their everyday process, whether that is a personal process or a business process, not how they would solve the problem or if they would buy the software. Those questions are worthless.

8Lee's avatar

This was some of the best stuff I've read all year. Even after writing software for so many years, I still fall into these holes of novelty and cleverness; for instance, this morning I realized that my need for a more "semantic" folder structure for a new project was just forcing me to create a custom build command that was creating unnecessary complexity. But, why.

Thanks for these great reminders.

41 more comments...

No posts

Ready for more?