After a couple of weeks doing Reader Question Monday on a Tuesday, I’m back on track. I’ll briefly congratulate myself before moving on to the potentially pot-stirring topic of programming skills.
Today’s question is one I’ve gotten a LOT, but have struggled to answer. I didn’t want to write on the subject until I had what I considered to be a coherent, defensible position. So I’ve pondered and stewed. And I think I’m finally ready to answer. Be warned, though. This post will probably be lengthy and, at times a bitter pill. But I think it’s important.
Here’s the question, as a composite from all of you who have written me about it.
How will experience work, especially at the entry level, in the efficiencer world?
What on Earth is an Efficiencer?
A little background, for anyone who isn’t up on secret language of the DaedTech blog. Efficiencer is a neologism that I used to describe what I perceive as the more business-savvy, more autonomous software developer of tomorrow. I’ve written a number of posts about it, but I actually defined the term in my book, Developer Hegemony.
Briefly, efficiencers are different — more — than programmers. Programmers ingest specs and spit out source code. Efficiencers solve problems. To illustrate, consider the following.
- You go to a programmer and say, “I need an ASP MVC website that uses Entity Framework, .NET Core, and SQL Server on the backend.” The programmer says, “sure, boss, give me the wireframes and I’ll code it right up for you.”
- You go to an efficiencer and say, “Right now our company takes all of our orders over the phone, and our website is purely ornamental. I don’t know how this will work, but I know that we need the ability to take orders over a website, 24 hours a day to keep up with our competition.” The efficiencer says, “I help businesses like yours automate their ordering process, so don’t worry, I’ll make sure your site not only competes with, but outperforms, those of your competitors.”
Can you spot the difference? Can you tell which professional needs six layers of management and bosses in order to do anything useful, and which one IS the boss?
The Conundrum of Entry Level Efficiencers
The programming world of tomorrow is one in which we, as software developers, stop being the least important people in the software development industry. In my book and in general, I propose a future in which efficiencer firms, structured like law firms, consist of efficiencers (professional automaters) who call the shots and delegate things like project management (status reporting and schedule coordinating) to subordinates, instead of superiors.
That has resonated with a lot of people. People like the vision in general, but it leaves a lot of folks wondering about the question that is the subject of this post.
What does entry level efficiencer-hood look like?
The Efficiencer Career Plan in the Short to Medium Term
I won’t bury the lede any further. I’ll answer the reader question here, in this section. What will follow for probably thousands of words after that is an explanation and the pot-stirring controversy that I mentioned. You’ll see why I need to explain further after reading the efficiencer career path.
- Skip a CS program, because that’s not worth the investment anymore.
- Do whatever is necessary to get yourself an entry level programming job. (Boot camp, lateral transition, self-taught, whatever.)
- Spend 2-4 years as a corporate programmer in a few jobs, where you get paid to learn programming. This is kind of like a doctor’s residency: you’re an actual programmer in the wild, but also a student.
- Quit your job and become an actual efficiencer because 2-4 years is plenty of time to become as good at the general skill of “programming” as anyone needs to be. After your employed residency, you should start to focus on your particular specialty and on growing your brand/career/business.
Alright, deep breaths. To channel emperor Palpatine, “I can feel your anger. It makes you stronger, gives you focus.”
How can I possibly make this claim? 2-4 years of programming is barely enough not to make a mess, let alone to perfect this elusive craft. Am I out of my mind? Or maybe just an idiot?