«

»

Feb 09 2017

Becoming a Better Programmer A Handbook for People Who Care About Code

Becoming a Better Programmer A Handbook for People Who Care About Code is a collection of tips to follow to become a better programmer.

$312 billion per year is spent on the wage bills for programmers debugging their software (source: Cambridge University’s Judge Business School). This is one of the cost of having poor code.

The main point of the book is that your code is communication to other humans. Including you. So, it must be clear and unambiguous if others are to maintain it. A high-calibre programmer strives to write code that clearly communicates its intent.

The single biggest problem in communication is the illusion that it has taken place. — George Bernard Shaw



Key Takeaways

  • The quality of a coder depends more on their attitude than their technical prowess.
  • Refuse to compromise code quality. Makes the code easy to read and easy to understand. Write the simplest possible code that works.
  • Unhealthy team interactions result in unhealthy code.
  • When facing a problem, make sure you’ve considered more than one approach to solve it. Don’t be afraid to ask questions.
  • Make your build and release process as simple as a single step that automates all parts of the process
  • Always trust the code, not the documentation.
  • The best way to learn code is to modify it. Learn from your mistakes.
  • Silence the feeling of revulsion when you encounter “bad” code. Instead, look for ways to practically improve it.
  • Make one code change at time. Follow the Boy Scout Rule
  • Don’t allow bugs to stay in your software for longer than necessary.
  • Implement a good testing strategy. Short feedback loops are essential. Exploratory testing is also essential regardless of how many tests you have.
  • Good programmers work with humility. They admit that they don’t know it all. Don’t ignore other platforms and paradigms.
  • Nothing is set in stone. Not the design. Not the team. Not the process. Not the code.

I am a Software Engineer in Red Gate Software. My peers describe me as really enthusiastic, motivated with an infinite passion for software development, a relentless desire to keep learning and an amazing ability to involve others in my pursuit of excellence. I am a proficient C# developer and founder of DotNetCambridge: the official community on .NET in Cambridge.

Facebook Twitter LinkedIn YouTube  

Permanent link to this article: http://www.andreaangella.com/2017/02/better-programmer/