Top ten things ten years of professional software development has taught me

The list is really fantastic. Here is the résumé:

  1. Object orientation is much harder than you think
  2. The difficult part of software development is communication
    And that’s communication with persons … Work on your soft skills.
  3. Learn to say no
    If you never say no, your yes is worth very little.
  4. If everything is equally important, then nothing is important
  5. Don’t over-think a problem
    I can spend whole days designing things in front of the white board. That doesn’t mean it will be any better, it just means it will be more complicated.
  6. Dive really deep into something, but don’t get hung up
  7. Learn about the other parts of the software development machine
  8. Your colleagues are your best teachers
  9. It all comes down to working software
    Focus on delivering working software, and at the same time prepare to continue delivering software using that code base and you’re on the right path.
  10. Some people are assholes
    Don’t take this too hard. Try to work around them and do what you can to minimize the pain and effort they cause, but don’t blame yourself. As long as you stay honest and do your best, you’ve done your part.