During the latter part of Basic Training, when the Drill Sergeants stopped screwing with us at every conceivable opportunity, they sat down and talked to us. During one talk, a trainee (we weren’t allowed to be called ‘soldiers’ yet) asked for tips on how to get promoted and on how to ‘get ahead’.
I wasn’t prepared for what the Drill Sergeant said next.
The key to being promoted in the Army is simple: Follow through.
Most soldiers don’t worry about perfecting the fundamentals: Shining Boots, learning their Common Tasks, or any of those other things that make a soldier a look like a soldier. After a soldier graduates from Initial Entry Training (Basic Training + MOS (Job) Training), they are assigned to a unit. At that point, whatever discipline they have is a combination of their supervisor’s dedication and their own. As the Drill Sergeant pointed out to us, it’s that personal dedication to completing a task that separates the ‘ok’ soldiers from the really good ones. The soldiers that shine their boots, keep their uniforms pressed, and look the part end up getting promoted faster in the Army.
The same holds true in Software Development. Very little of our job is actually coding. Most of what we do is spread among various non-coding responsibilities: Managing User expectations, taking responsibility for software failures, collaborating with the users, other development teams, and the QA team. Most software developers are great at being programmers. But when it comes to explaining things in a way a user can understand, we don’t fare so well. It’s bad enough that almost every job posting for a developer includes:
Exceptional verbal and written communication skills. You will need to be able to communicate complex technical concepts to the US and offshore development team, and communicate status, issues, and risks to our leadership team.
We’re so bad at it (collectively) that an entire industry has been spawned to bridge the gap between software developers and business users. You may remember this clip from Office Space:
In a recession, and with the smartest minds believing this is going to turn into a depression, it’s time to move out of our comfort zone and follow through with the non-coding parts of our profession. We don’t have the luxury of avoiding human contact any longer. If you want to be a successful (and employed) programmer, you must learn to follow through. Without that follow through, you may find yourself unemployed or worse, unmarketable.