An odd thing about our industry is that at some point we “are experienced” and therefore become lead developers, team leads, project leads, mentors, craftsmen, and so it goes. From here, the only places to go are management or remain “a lead” for the rest of our days.
There has been a lot of talk about how management should not necessarily be the path for great developers and that staying hands on with the code is a perfectly reasonable path to choose. I’m not going to discuss that here, as I strongly believe it is the case that being a manager is an entirely different skill set from development.
Should we stay in the developer track, can we step back and not be a lead? Even some of the time? I’ve never heard of this happening.
Essentially, a lead has been selected to walk point forevermore.
In modern military parlance, to take point, walk point, be on point, or be a point man means to assume the first and most exposed position in a combat military formation…During a military patrol or infantry operation, the point man walks several meters out in front of everyone else and is likely to be the first one to encounter enemy soldiers. It is a hazardous position that requires alertness and ability to deal with unexpected attacks.
– Wikipedia, “Take Point”
What this means in practice is that we’re now expected to be an expert on all topics, all problems and all proposed solutions which may or may not actually be used or even needed. Node.js? WCF? Fast Rails testing with cucumber running on Windows using Visual Studio 2005? That old ASP site that won’t DIAF? Morphing a WebForms app into MVC3 in our spare time because no one else sees the value in the MVC pattern?
Much like walking point in hostile territory, eventually we begin to take fire and our chances of being hit are quite high.
I wonder in this context, how many people still want to be lead all the time? Once a lead, always a lead? Salary, title and responsibility are tied to this paradigm and there are few places to go. Why is this? Who made this up? Surely there are developers out there that do believe they know everything, but I think the truly great ones know what they don’t know and adjust their game plan accordingly.
Lately I have been feeling a little beaten up as a lead. I don’t always have all the answers. I don’t always have an answer, period. Remember when Scott Hanselman talked about being a phony? Ouch! Was he calling me out?
Am I relying on the things that I have learned in the past far too much? Am I trying to apply knowledge from one area incorrectly to another?
Frankly, I have been feeling that I would greatly benefit from taking mentorship from someone else who has an entirely different perspective. Experience in the technical world is sort of an odd beast. We put a lot of value on it, but then again, things change so often, are the things we learned ten years ago even relevant any longer?
I’m hit. Would someone else please walk point for a bit?