Developing Software In a Changing Industry
Sunday, October 27, 2013 at 2:34PM
Blake Caldwell in Development, development

Petri Kainulainen writes about developers complaining about the limited lifespan of programming languages:

The authors of the posts which linked to that blog post claimed that it is impossible to have a long term career in computer programming because the lifespan of programming languages is too short. I have written about this before and it shouldn’t be surprise to you that I disagree with these people.

I find it a bit absurd that someone expects that he can use programming language X for his entire career. Our industry still very young when compared to other more traditional engineering professions (I don’t claim that software engineer is really engineering). That is why I think that it is only natural that the programming languages and other tools are evolving quite rapidly.

I agree with Petri. Upon reflecting on the future of my own career, I realize that I used to worry that I'd be less effective as a software developer as I got older. So far, this has turned out to be the opposite.

At the start of my career, I had the attitude that I'd rather rewrite something on my own than to learn how to reuse someone else's work. Now, I realize how much risk that carries, and how much that slows a project down. It's true that it takes a bit of up-front effort to figure out how an open source component or framework works, but it will be rewarded many times over if I've done my homework in selecting the right component first. Mature open source libraries have already been through several rounds of bug-fixes, refactoring, and public scrutiny. My implementation would almost certainly contain simple coding errors and deep conceptual flaws until I better understand the problem space.

I no longer feel the need to prove to myself that I can solve a specific technical problem. Instead, I want to advance my project as quickly and responsibly as I can. Plenty of talented people have flooded the public domain with their hard work, and I want to leverage it.

Languages are the easy part, and every popular language will have its share of open source support. Frameworks are effort multipliers, and knowing how frameworks work and how they should work is real power. That translates across different platforms, and makes you valuable even when the job market switches to a new language – but that never happens overnight, anyway.

If you’re stuck in an old language, refusing to change, and complaining about it, then your heart probably isn’t in it anyway.

Article originally appeared on Blake Caldwell (http://blakecaldwell.net/).
See website for complete article licensing information.