97 Things Every Programmer Should Know

1. Continuous learning

  • If you want to get immersed in a technology, get hands on - write some code
  • When ever you make a mistake, fix a bug, run into a problem- try to understand what happened.
  • Not everything you learn has to be about technology. Learn the domain you're working so you can better understand the requirements and help solve the business problem.

2. Know your next commit

  • If their tasks took more than two hours? After realizing they had taken on too much, they would most likely throw away their changes, define smaller tasks, and start over.
  • Know your next commit, if you can not finish, throw away your changes, do not let yourself slip into speculative mode without noticing.

3. The professional programmer

Professional programmer is personal responsibility. They take responsibility for their career, their estimates, their schedule commitments, their mistakes, and their workmanship.

  • If you are a professional, then you are responsible for your own career: You are responsible for reading and learning
  • Professionals take responsibility for the code they write: They do not release code unless they know it works
  • As professionals, our attitude must be that we will leave nothing for QA to find.
  • Professionals are team players: They take responsibility for the output of the whole team, not just their own work.
  • Professionals do not tolerate big bug lists
  • Professionals do not make a mess: They take pride in their workmanship. They keep their code clean, well structured, and easy to read. They follow agreed-upon standards and best practices. Imagine a doctor, does he rush? No, but his work is perfect.

4. Put the mouse down and step away from the keyboard

  • While you're coding, the logical part of your brain is active and the creative side is shut out. It can’t present anything to you until the logical side takes a break
  • When you hit a nasty problem do something involving the creative side of your brain—sketch out the problem, listen to some music, or just take a walk out- side.
  • Sometimes the best thing you can do to solve a problem is to put the mouse down and step away from the keyboard.

5. Do lots of deliberate practice

  • You do deliberate practice to improve your ability to perform a task. It's about skill and technique. Deliberate practice means repetition. Slowly, over and over again, until you achieve your desired level of mastery
  • Deliberate practice means practicing something you are not good at. Challenging yourself with a task that is just beyond your current ability.

6. A message to the future

That the smart programmer in the future would see your code and say, ‘Wow! This is great! I can understand perfectly what’s been done here and I’m amazed at what an elegant—no, wait—what a beautiful piece of code this is. I’m going to show the other folks on my team. This is a masterpiece!’

7. Dont reinvent the wheel

Whenever we are about to build something from scratch, we must ask ourselves how others have solved this problem before (it is extremely rare to encounter genuinely original problems) and whether any open solutions or standards already exist that we can make use of

Last updated on