Entries from April 1, 2006 - May 1, 2006

Good vs Great software developers.

Thursday, April 27, 2006 at 05:25PM

I was recently asked an interesting question as to whether I perceive myself to be a great developer. As someone who's previously been responsible for employing technical staff, here are my opinions on the differences between good developers and absolutely great developers

  • Language is unimportant:

    Programming languages are all very much the same and have some common roots.

    A good programmer will learn a number of these languages to allow him to be more flexible for his employers.

    A great programmer will learn and understand the root language and semantics (like Latin for most European languages) and be able to adjust quickly to other languages as his employer requires.

  • Continual self development:

    The IT industry is a fast-paced beast. Ruby on Rails was only released in 2005 yet it has revolutionised the way powerful web-based applications can be developed.

    A good developer will stay abreast of news and technologies that most affect him (usually within the technologies he's already familiar with).

    A great developer will keep informed about as much as possible on as much as possible. Not just IT-related news, but he needs to know what's happening in the rest of the world. A great developer will also continually evaluate and test how these technologies can be used to solve the issues he's faced with on a day-to-day basis. Agility is the great developer's best friend.

  • Problem solving:

    There is so much more to creating applications than writing code. Most problems don't lend themselves to being easily mapped to solutions. Of course there are usually many different solutions to the same problem, some are more correct/elegant/efficient than others.

    A good developer will break a large problem into many parts and solve each part individually following a set of standards/rules.

    A great developer will also do this, but be able to take into account the complete problem-set when deciding on a solutions to the constituent parts. Also, due to the great developers large knowledge base, solutions tend to be more correct/elegant/efficient than those of the good developer.

  • Social/communication skills:

    Developers (especially web-based developers) are ultimately developing applications to be used by people.

    A good developer understands this and has empathy for the end user when developing.

    A great developer will involve the user in his design and development process. He will stay in constant contact with the end-user and attempt to provide as much of the core value required from the application as quickly as possible.

Well, that's just my opinion of course. I'm sure I've missed a number of qualities others may feel are more important than these, or listed some others don't agree with. If you're a great developer, why not drop me a line and we can chat over some a hot pot of ruby code.

Rails is truly amazing.

Thursday, April 27, 2006 at 10:16AM

I can never get over how truly amazing Ruby on Rails is. I was recently asked to create a quick and nasty demo application to showcase some of my skills. So, following the provided specs, I whipped up the following application in less than a day (of course, I spent a larger portion of that than I'd like to admit on user interface tweaks - I wish I had design talent).

Now, I'm not a graphic designer/illustrator by any means, but my coding is pretty good. You can check out the application here. It's a pretty basic file uploader with the ability to make files public. Also, the upload supports RTF and HTML in addition to plain text.

A brave new world.

Wednesday, April 26, 2006 at 11:03PM

I find it important to stay as informed as possible about the "goings-on" in the world. As a result, I read a lot of blogs and paper-based journals. Finally, I feel I should contribute to this truly global community of information so I've started this blog.

My hopes are this blog will contain helpful articles, personal musings and general highlights of other interesting things happening in the world. Although previous attempts of keeping a diary of any kind have ended in failure, it's about time I made an effort to document the life and times of me, Wayne Robinson, for all the world to see.