mark cerqueira well-rounded nerd

Build Software for Many, Not Few

We develop software ultimately for others, usually customers. Sometimes you are your own customer. But we should aim to build software for many, not just the customer. Build for:

  • You   Build software you are proud of today and won’t be ashamed of in the future. You don’t want your name to show up when someone runs git blame to figure out who crafted a mess. Help your future self by writing stable, reusable code today!

  • Fellow engineers   Be a team player in all respects. Craft your code with care. Talk with your teammates if you’re unsure of how to approach a problem rather than building the wrong solution correctly. Review your own code before asking others to review it. Be nice; learn from your teammates and teach your teammates. Become an invaluable part of your team.

  • Quality assurance folks   QA helps engineers by testing their code and verifying implementations against mocks and specifications. Don’t waste their time. Build things properly and given your familiarity with the codebase and issues you have encountered in the past, think about edgecases and handle them before code is merged. Take the time to build tools (e.g. debug screens) that helps QA exercise every nook and cranny of your code.

  • Your customers   Don’t forget the people you are building things for. You are trying to help them solve a problem or improve something in their lives. In the hustle of bustle of the development process, don’t forget about caring for your customers.

Don’t confuse this school of thought with cognitive overload! Think more about spreading out your mindfulness - from you all the way to your customers - during the entire process. Happy developing!