Death of the Single Developer?

I was reading the following article in InformationWeek and I was struck by the following quote:

 “The cliché of the solitary coder is dead.”

The article goes on to talk about a number of Corporate IT application development groups that have done some pretty phenomenal things for their companies. 

This is a subject near and dear to my heart as I am the IT department at my day job and I am the only developer for my business.  I can categorically say that in my day job, it is certainly not by my choice. 

Is It Possible to Deliver Great Results By Yourself?

I don’t know – I think it depends on the developer.  I can say that in my twenty plus years of IT, the amount of stufff you need to know has grown tremendously.  For the applications that I typically develop (your based Create Report Update Delete – CRUD applications – and yes some of them are just that), here’s a short list of what you need to know:

  1. Database/Table Design
  2. Object Oriented Design
  3. User Interface Design
  4. Requirements Gathering
  5. Application Development tool
  6. Testing
  7. Implementation/Installation Packaging

Notice I didn’t even get into the application development tool of choice or platform – Web vs. Windows.  This is a pretty steep learning curve for anyone.  A person can become a master in any single topic I listed and still not know everything.  I find it ironic that while a development tool like Visual Studio .NET can make you more productive because many of the things you might want to do are part of the .NET framework, it is so huge that it seems like an endless task to figure out how to do what you want.

Is It Desirable?

I don’t know;  I have mixed feelings about that.  As a developer, I love owning the application and being able to point at it and say “I built that.”  That’s on the good days when everything is running as it should.  On the days that there seem to be more new bugs than lines of code in the system, you want to hide in a cave, lest the users arrive with pitchforks and torches…

But the practical reasons that it is not a good idea are:

  • All the knowledge of the application is embedded in one person’s head.  I don’t care how well it’s documented, there’s stuff that someone will want to know quickly that is very difficult to extract from a source code listing.
  • There is no second eye for design choices.  It is that person’s design, warts and all.  While I don’t recommend design by committee, having other resources to assist in the design phase will certainly create a better product.
  • The pressure to get it done can override a developer’s natural (or unnatural) tendencies to follow good development practices.  Sara Chipp wrote an excellent description of this phenomena here

Is It Really The Death of the Single Developer?

In a word, no.  For one very simple reason: COST.  Many small and medium size companies (even if they are part of a bigger corporate parent) can’t justify having a team of programmers.  These companies always need someone to develop something that works exactly the way the business works.  As much as the big software vendors like to throw everyone in the same functionality pool for their applications, truth be told, each business is unique.  It has a unique structure, culture, and institutional history.  All that stuff becomes the DNA of their business processes.  And as a developer it’s your responsibility to turn that DNA into something – hopefully not a genetic mutant hell-bent on world domination…

Can a single developer do that?  The answer is…it depends.  If the company realizes all of the things that a developer can bring to the table and is willing to invest in that developer in terms of training and decent tools to do his/her work, it might just work.  The developer does have to be linked into the business and know what’s happening.  He/she has to be sensitive to the business climate, really understand what it is the business wants from the developer, and have his/her pulse on the work going on out on the floor.  Likewise, the business needs to listen to the developer when it comes to what’s needed to accomplish a project in terms of time, money, resources (not necessarily other developers – users too!), and respect the developer’s technical decisions and expertise.  If the developer says “If we don’t start to rewrite this critical business from Visual Basic 6 to a .Net platform now so that it will run when we migrate to Vista/Windows 7, we are going to be dead in the water”, you might want to listen to him/her, instead of (figuratively) patting him/her on the head and saying “That’s nice. When’s the next release?”.  If you find a company like that, please let me know…

However, in many small shops, the developer is also the Server Admin, Network Admin, PC Hardware and Software Support, and Printer Repair person.  Now take that list from above and then add everything you need to know to support THIS list of duties and I fear that the majority of people’s heads would explode at the amount of knowledge needed.  And end result?  I think it’s safe to say that the company gets exactly what they paid for – a jack of all trades, master of none.


 I still think it’s possible for a single developer to succeed.  While the single developer has many hurdles to clear that aren’t found in a development team, there are two things that the single developer and the development team both need to succeed – a clear commitment from the business to support the development team and excellent communication between the team/single developer and the business.  If I ever can find a company like that, I’ll let you know!

Explore posts in the same categories: Single Developer, Software Development

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: