A Career Guide for the Recovering Software Generalist
Since I’m kind of an old man, in college, they taught me C and its shiny new cousin, C++.
This was a CS program, so they didn’t ultimately focus on the language. Instead, they went on to focus on the theory of things: algorithms, data structures, reasoning, and, well, computer science. But they had to teach us just enough language for us to make sense of and apply those concepts.
So C/C++ it was.
My first full time programming job was a dream come true for the software generalist. They had C and C++ both for me to work on.
But they had plenty of other language besides, and not a ton of manpower to spare. So I learned Visual Basic. And also PHP. Oh, and Java. (There were actually a few other things besides, but I think you get the point).
By the time I was about 4 years into the workforce, I’d switched my focus as the world moved toward web apps.
I’d gone from working on Linux kernel programming in C to Java web apps with Spring and Ant. Fast forward several years, and I’d switched it up heavily again.
Java web apps? Pff, that was so 2006.
I went to work for a completely different company, making a completely different product, and became a C#/WPF developer of desktop applications.
I was the consummate software generalist.
The Software Generalist Source of Pride
I was proud of this, too. If you’d asked me what I specialized in, I’d have said something like this.
My specialty is that I’m a generalist. I live and breathe code. Don’t care about your domain or your particulars and I don’t care about your language or stack. I’ll be good anywhere, as long as it’s code.
If you’d pressed me on the specialty point, I might have conceded a little.
Well, I guess my specialty is object oriented programming. Yep, if you need inheritance, encapsulation or polymorphism, I’m your man!
These days, assuming you read this blog with any regularity, you probably know how ruefully I tell this story.
- I’ve written how free agents can stop generalizing and about the idea of niching down.
- I’ve given advice for free agents to specialize.
But today I’d like to double down on this advice by offering it to salaried folks and not just freelancers. You should specialize.