Thanks to Twitter, I’ve just found the interesting blog over at agilefaqs. One of Naresh’s posts, “Who is a Developer?” struck a chord with me.

Naresh wrote:

A lot of people think, if they can write some code, they qualify as a software developer.

I too have met a lot of people who think the ability to write a simple Excel macro or to craft a couple of SQL statements makes them a developer.

They’re dead wrong.

Being a developer involves a whole lot more than just writing a couple of lines of code - just as being a professional racing driver (like Scott Dixon) involves more than pushing a Matchbox car around the living room floor.

So what’s involved with being a developer, a real developer?

Here’s a list of some of what’s necessary to consider if you want to be a real developer …

  • Readability - code layout, naming conventions, good comments

  • Maintainability - ease of change, the DRY principle

  • Error Modes - when it goes wrong, how easy is dignosis

  • Monitoring - what’s “normal”, and how do we know it if we see it

  • Versioning - what happens when data formats need to change

  • Performance - what’s going to happen to performance over time, as datasets grow

  • Structure - how does someone find the right bit of code

  • Platform conventions - are you doing things the “common way”? If not, do you have a good reason?

  • Testability - how can someone easily verify the code (still) works?

  • Good Practices - are you avoiding known pitfalls?

  • Supportability - will it be supported by the professionals hired to do so, or will it require your personal intervention every time?

  • Documentation - is there any at all?

There’s twelve things straight off the top of my head - what else would you add?


blog comments powered by Disqus
Next Post
Asserting Convention  10 May 2010
Prior Post
On Naming and Convention ...  18 Apr 2010
Related Posts
Using Constructors  27 Feb 2023
An Inconvenient API  18 Feb 2023
Method Archetypes  11 Sep 2022
A bash puzzle, solved  02 Jul 2022
A bash puzzle  25 Jun 2022
Improve your troubleshooting by aggregating errors  11 Jun 2022
Improve your troubleshooting by wrapping errors  28 May 2022
Keep your promises  14 May 2022
When are you done?  18 Apr 2022
Fixing GitHub Authentication  28 Nov 2021
May 2010