Debate on the "Autoworkers" of Our Generation

Recently on Hacker News there were two blogs debating whether software developers are the autoworkers of our generation. The first post was aptly enough entitled "Autoworkers of Our Generation." The post's argument was that although software developers generally enjoy great salaries now, there are looming "threats" (aka, solutions to the current demand problem) on the horizon that could change the equation. For example, The Starter League in Chicago turns out qualified Rails developers who can be hired by companies instead of talent already on the market. The takeaway is to not get comfortable and keeping learning and growing your skillset.

The second post was a response entitled "Not the autoworkers of our generation." The argument in this post was that autoworkers were granted a higher standard of living for several decades due to labor unions' strong bargaining power and because the work could not yet be automated to a significant degree. That dynamic was destroyed particularly by automation (as well as other forces such as manufacturing approaches and bureaucracy at GM, Ford, and Chrysler). My guess is that the decreasing power of labor unions was driven not by generational forces but instead by the weakening demand for unskilled labor.

The argument is that software development will not suffer such a fate because developers perform highly skilled work that cannot be automated. Also, any automation gains are quickly swallowed by a corresponding increase in the complexity of systems attempting to be built. Put another way, software development automation does not go towards building the same systems for less money, it generally goes towards making new and existing systems with more business rules, features, and interconnections to other systems.

My Perspective

As usual, I'm in the middle, although I lean towards the latter argument. It's possible there will be much more entry-level talent to satisfy existing demand if developer bootcamps are successful at turning out large numbers of qualified developers. But there's so much work to be done at the high end, such as teaching, mentoring, and reviewing those entry-level developers. Then there's the building of the frameworks such as Rails and Django that developers leverage to create the web applications in the first place (to say nothing of mobile apps, embedded systems, etc etc), which is something developers only get comfortable with after several years of experience. No bootcamp today (or my guess, for the foreseeable future) can teach that type of work.

I do agree with the first post's sentiment that if you want to justify increasing your salary you need to constantly learn, grow, and challenge yourself. Also, not just in the technical realm but also improving your social intelligence, communications with team members, writing, and understanding of business. I've unfortunately seen far too many "architects" in big enterprises get laid off only to find they have no useful skills because they failed to improve anything other than their domain knowledge about their employer.

Generally though I don't currently see automation as much of threat to our field. In fact automation is a value-add if you know how to use increasingly sophisticated tools to accomplish your job that previously would have taken several entry-level developers to complete.

If you found this post interesting check out my thoughts on hacker houses as underutilized resources and the four types of startup tech cities.