Simon Harriyott

Things I've learnt so far

I've been a software developer for nine years and four companies. I'm starting to look back at my career to see what I've learnt. I've learnt from making mistakes, doing something well, reading, listening to what people say, and watching what people do.

I'm going to list them for my own benefit, firstly to remember what they are, secondly to make me think about them some more, and thirdly because the process of listing them may unearth more. They could all be preceded "Note to self: ". Each item could be expanded upon, and I might well do so later. Some of them I have got the hang of, some I really need to work on. If you've ever worked with me, you can probably spot which is which.

They are in three categories, one for software (1-10), one for work in general (11-20), and one for people (21-30).
  1. Don't over-engineer a solution.
  2. There's a whole game of Chinese whispers between what the customer asks for, and what is delivered.
  3. Don't forget to check files into source control.
  4. Over-estimate how long something will take.
  5. Code simply, so the next person can read it.
  6. Comment what the code is for, not how it does it.
  7. Frequently check with the customer that what you are writing is what they think they want.
  8. Learn how to use Google for samples and bug fixes.
  9. Whilst writing software, you need to picture the people who will use it.
  10. Keep up to date with technology.
  11. You can only work with what you have, so make the best of it.
  12. Being genuinely enthusiastic is good.
  13. Find out exactly what criteria you will be assessed against, and make sure you do those well.
  14. Training courses aren't all they're cracked up to be.
  15. See what mistakes other people make, and learn from them.
  16. Each company I have worked for has been better than the previous one.
  17. Don't write an email while you are angry. Don't even make any decisions while you are angry. Calm down first. Leave it a day or two.
  18. Don't say "yes" to everything.
  19. You will make more difference getting better at things you are rubbish at than the things you are quite good at.
  20. Keep learning.
  21. At least one of your colleagues will think they are better than you. Hopefully they won't tell your other colleagues.
  22. You spend loads of time with your colleagues. Much more than with your family and friends.
  23. People keep cropping up when you think you won't see them again.
  24. Be helpful.
  25. Be careful with first impressions. They are often wrong, so don't trust yours. Other people may judge you on their first impression of you.
  26. Don't be smug, arrogant or lead people to believe you know more than you do.
  27. Being a gossip is bad.
  28. Don't belittle yourself or your colleagues in front of your customer or boss.
  29. If you're not very good at one aspect of your job, find someone who is good at it, and ask them to help you.
  30. Everyone has good points and bad points. You will be happier if you focus on people's good points.
n.b. I have learned some other things as well, but I'm not going to put them in the list.

15 January 2005