Sukshma

Jeff Barr “You didn’t tell me…”

July 16, 2006 · 2 Comments

Jeff wonders what it takes to be a practicing Software Developer (”You didn’t tell me“).

Traditionally, an inclination for Computer Science - the basics, math, data structures, algorithms, database, operating systems, other subjects.

To quote Jeff,

I am rapidly coming to realize that those basic skills aren’t enough anymore for people who want to spend their working lives building things out of bits.

He (and others who commented) feels a good software developer is a little bit of a lawyer, usability engineer, an artist, a marketer, a writer, a communicator, an architect, a database administrator, a hardware technician, a system operator, and finally a business-man (I am tempted to add “hacker” to include a hacking or innovative mentality and “quality engineer” to ensure quality, but that list is getting too long).

I will pause for a moment to let it sink in.

Jeff writes,

In the past, project teams were large, and it was possible to create a team with a bunch of developers and other people with the requisite skills. These days, thanks to better programming tools and high-level platforms and services, very small teams can have an incredible impact, but only if that small team includes enough people with all of these skills. Instead of specializing, it is better to be a jack of all trades.

Ouch, I spent 6 years of my life studying computer science :-)! What is made extinct is the idea of large teams of developers with support groups that carry these other skills (refer to “The Mythical Man Month” - Fred Brooks, to see where the idea of support and specialization within teams is documented).

I read the above and I thought “That is so true, he is dead right”. I would base my hiring strategy on this rationale. There is really no such thing as just a practicing computer scientist any more (thats not my profile for sure, seriously). Paul Graham also has a note on how computer science and software engineering are misnomers. - he calls them all “hackers” and “painters” interchangeably. But he stops short of telling us that the good hackers don’t specialize.

If you specialize in one language, or platform, could it be that your thoughts and efforts are constrained? So many other software development organizations out there continue to persist on the large development team theory (especially here in Pune).

I will add “Leadership” skills to the list. When your team’s stuck in the mud, it is very important for someone to step up and lead. A good friend of mine really believes this to be a necessity especially within small teams of people.

There are a few other questions we do need to think about. What do you think jack’s (of all trades) resume will look like :-)? Also, I still believe you have to be an expert in one skill at least. Finally, Teams that are too small teams are also a drag (2 or fewer). 3 or 4 works better in my opinion.

Categories: interviews · programming · technology

2 responses so far ↓

  • Jeff Barr’s Blog » You Didn’t Tell Me… // July 17, 2006 at 1:07 pm

    [...] Update 2:: I really like what Santosh said: “Ouch, I spent 6 years of my life studying computer science :-) ! What is made extinct is the idea of large teams of developers with support groups that carry these other skills (refer to “The Mythical Man Month” to see where the idea of support and specialization within teams is documented)..“ [...]

  • Shabbir // July 19, 2006 at 2:12 pm

    My experience is that firms are always confronted with the question of the right team size when it comes to optimisation. A very small team can burn out all the members, and a team size one or two member bigger, does not help either, cause most of the time is spend in delegating tasks, delays due to internal communications and ofcouse resources not being utilized to the fullest. Trial and error and the management style will help decide size.

    For the skill set part, I believe one should be a “master” of atleast one technology. And ofcouse the more the merrier. In addition to the skills one possesses, the person should be a quick learner too - I guess that really helps.

Leave a Comment