The field of software development has been in existence for a relatively short period when compared to most fields. In this short time it has experienced continual and substantial change, both in terms of technology and business. Over my eighteen years of experience in the field, I have seen or been a participant in much of this change, from the early dot-com boom to financial crashes and a wide array of software development methodologies and technologies. I have worn many hats; engineer, analyst, architect, manager, and even founder. Regardless of the role, I have maintained a strong interest in the software design and have avoided opportunities to climb the so-called “corporate ladder" because I could see it would result in parting ways from the hands on development that I love.
Today, I ask the question, what exactly is the career path of a software developer? What is the highest position one can attain, and why does it seem like even highly experienced professionals are subject to the whim of lesser-experienced middle managers?
Philippe Kruchten, professor of software engineering at the University of British Columbia in Vancouver, conjectured that the half-life of software engineering ideas is likely not much more than 5 years. This means that much of what a software developer learns begins to decay after just five years, replaced by new and improved technologies and theories. To be a good software developer you must therefore spend a significant percentage of time learning new technologies and practices to stay effective and marketable.
While experienced developers do generally make more than less experienced, there is also a point of diminishing returns. Ten years of experience may be worth more to an employer than five, but is thirty years more than twenty five? The half-life of ideas is surely correlated to how many years experience is justification for higher salary.
To escape this salary ceiling, many developers move to a management role where higher salaries can often be found. Unfortunately, once a developer leaves a hands-on development role, their process for staying up-to-date with relevant technologies comes to an abrupt halt and they very soon find themselves unable to return. Worse yet, they eventually come face to face with the realization that they are not equipped to manage development when they no longer understand the technologies and practices required.
As John Reynolds (2008) so eloquently states, "some argue that one can manage software production without the ability to program. This belief seems to arise from the mistaken view that software production is a form of manufacturing. But manufacturing is the repeated construction of identical objects, while software production is the construction of unique objects, i.e., the entire process is a form of design. As such it is closer to the production of a newspaper — so that a software manager who cannot program is akin to a managing editor who cannot write." (p. 108)
In my own experience, I have personally encountered this misunderstanding of what it takes to manage software development in companies both big and small. It is a very disturbing problem that brings about a constant battle against executives who do not structure the organization around development but instead employ many tiers of management who will undoubtedly seek to make their positions meaningful while not adding much value to the development process.
John C. Reynolds, Some thoughts on teaching programming and programming languages, SIGPLAN Notices, Volume 43, Issue 11, November 2008, p.108.
Krutchen, Philippe. (2008). The Biological Half-Life of Software Engineering Ideas. IEEE Software, volume 25.
Matloff, Norman. (2012). Software Engineers Will Work One Day for English Majors. Bloomberg View.
2014-03-29 - Ethiopia travels by jeep - Traveling North from Addis Ababa almost to the border of Eritrea, then South and West. Travelled through the Simien mountains, to the source of the Blue Nile, Axum, Lalibela, Godino village, and other spots
2012-03-10 - New Zealand - From ChristChurch to Southern Alps, Milford Sound and Dunedin - Our first vacation away from Kai for a short romp through the Southern Alps. Encounters with sea lions, penguins, royal albatross, and numerous other birds...
2010-04-08 - Singapore - Sweat and shop, sweat and shop... - Lily decides to hit the beach before she becomes visibly pregnant. We hit all the big spots in Singapore and can't seem to avoid walking malls.
2009-11-02 - Thailand - Phuket and Phi Phi Islands - Swimming with the fishes near Phuket Thailand - Phi Phi Islands
2009-05-01 - Seoul, South Korea and the DMZ - In order to renew my Chinese VISA I needed to leave the country and re-enter customs... I decided to make a quick stop in Seoul, Korea and visit the DMZ...
2009-04-12 - China Wedding Travels with Family - A year after our legal marriage in America, Lily and I had a big formal wedding in Beijing with more than 100 guests. My mother came from New Mexico and father and his wife came from Switzlerland came to take part in the wedding and travel a bit of China with us.
2009-04-12 - Ben and Lily's Wedding in Beijing, China - Our formal wedding celebration at JunWangFu palace, Beijing, China. My parents came from overseas to take part in the ceremony with more than 100 of Lily's family and friends.
2009-01-08 - Harbin Ice Festival 2009 - A spontaneous decision to visit the far north city of Harbin, China to see one of the world's largest ice sculpting festivals. The temperature was -21 celsius with strong winds directly from Siberia (only a few hundred miles away)... the camera froze over with frost frequently.
2008-10-06 - Lhasa Tibet to Kathmandu Nepal - 48 hour train from Beijing to Lhasa, visiting remote areas of Tibet and then to Mt. Everest base camp and on to Kathmandu, Nepal by jeep. Tour of Nepal including Chitwan national park and Lumbini (birthplace of Buddha).
2008-09-03 - Overnight train to Datong and Wutai Mountains, China - Travel to Datong by train and visiting Xuan Kung Si "Hanging Temples" and YunGang Caves. Then travel by car to the Wutai Mountains and visiting many of the mountain-top temples there.