The lone programmer

Beware the lone programmer.

I say this for many reasons, but they all can be summed up by answering either: 1. Why isn't anyone else working with him/her? Or: 2. What are we missing with a programmer working alone?

I will start with the second one, since it is more innocent. If the programmer leaves, how screwed are you? How good is/was their code? There has never been anyone to tell him/her that its bad, so that they can improve. What if they spent 9 months rewriting some existing module (CPAN or otherwise), simply because they didn't know it existed, or how it worked? What do we do at vacation time? What happens if he/she gets hit by a bus? These are all valid concerns, and is mitigated by having a second programmer on a project. What happens to the programmer when he/she gets frustrated and there is no one to help them?

The primary question, of why, is really the kicker. Is the person a jerk to others? Do they write terrible, unreadable code? This in my opinion can lead to a bad, toxic situation, and will foster bad blood among all involved.

The 'rock star' programmer that does whatever they want, I have found usually write terrible code, that is buggy, not conforming to any standards, and worse: they think its ok to do some 'magic' in the code, because they think they are a rock star. I have seen better code coming from college students than the rock star. 

Also, what of your other programmers? They have to deal with his/her sh*t whenever maintenance on the code is needed, and they may feel that they write better code, but don't get benefits.

The last point on the 'Why?' question is what if the team hasn't 'adopted' the new programmer? How discouraging is it when they have spent a week doing what they feel is good work, and then getting completely shot down? Part of development is getting shot down, but a new programmer doesn't know that, and working with a team that accepts the reality of the changes, and moves along, teaches him/her not to be discouraged. 

If you are a developer and working alone, you are doing it wrong.


My job is defined as a system administrator, which in theory is also a team effort... but in many companies, for technology Foo, your team is you.

In the area of development, I have seen what you describe, to exactly happen, many times.

May be, that the unit testing and check its tests and its alignment with the documentation, can mitigate this incident.

Anyway magic/bad code will remain, but at least docs and tests will help, when the rock start is not here.

The main problem here, is not the rock star. IMHO the problem is the team manager if this happens.

A manager that does not know/care about the implementation, but only about dates/issues, is the big fail, because will generate rock stars and lot of more issues.

Nice post/talking, I wish people managing teams read it.


I'm working alone since the beginning of my job just because another coder would be more than we'd need in the eyes of my boss.
It's really annoying to have nobody to discuss solutions with and decide everything on my own.
I'm very glad I've discovered IRC some year ago which is full of helpful people!
Thanks guys!

About this Entry

This page contains a single entry by leonard published on November 2, 2010 2:50 PM.

Frozen Perl 2011 was the previous entry in this blog.

Frozen Perl Call for Speakers! is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.