// you’re reading...


10 things learned in professional software development

Abhijit of ifacethoughts points to Andrés Taylor’s reflection on ten years of professional software development, which in turn took inspiration from Michael McDonough’s Top Ten Things They Never Taught Me in Design School. Quite a trail of thought, but there are some good ideas in there. Enumerated list of headings follows.

  1. Object orientation is much harder than you think
  2. The difficult part of software development is communication
  3. Learn to say no
  4. If everything is equally important, then nothing is important
  5. Don’t over-think a problem
  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
  10. Some people are assholes

If I had to choose one as my favourite point, I would go with “Your colleagues are your best teachers”. During my last work term, fellow developers, colleagues, and friends have made learning PHP from scratch too easy. Go ahead and ask a colleague about programming, software, or anything remotely related – you will learn something new. At an absence of a fellow programmer, rubber ducking is an acceptable substitute.

I would also add another point to this list myself:

11. Enjoy what you do.

Alright, so that is not always feasible when it comes to software development. Someone still has to take care of QA and testing. Though you have to take enjoyment and interest when it comes to programming. Stuck with a dull problem? Work on its solution with your tools of choice. Be creative! Be passionate! Otherwise if everything you do just sucks, you will not make it to the ten year mark, to write such a list of your own.

Any thoughts on the list? Favourite points, disagreements with statements, or addition of your own – make a comment!

Read more

Uhh... nothing else appears to be relevant enough.


  1. Posted by Keith Casey | March 23, 2007, 8:04 am

    “Learn to say no
    If everything is equally important, then nothing is important
    Don’t over-think a problem”

    I think these apply beyond software development and to life in general. ;) I’d like to add one though:

    “Writing things down is not a sign of weakness”

    I can’t count the number of times some subtle little problem was found or solved by someone sketching out an idea on a whiteboard. This applies equally well when there is zero code or when the system is up and running. And it applies to requirements too…

    Reply to comment

  2. Posted by Tony | March 23, 2007, 1:32 pm

    Oh, that’s a good one Keith.

    I’ve been actually looking for a whiteboard to put up at my place just for that – sketching out ideas. Writing things down also goes beyond software and into real life. I think it has been shown that one is more likely to act upon own ideas if they were written down.

    Reply to comment

  3. Posted by Martin | March 23, 2007, 4:05 pm

    Come on guys, weeks of programming can save you hours of planning!

    By the way, congrats on over 100 on Feedburner Tony.

    Reply to comment

Post a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>