Recently, I was doing something that occupies a surprising amount of my time these days: using LinkedIn for lead gen. This involves researching companies, connecting with people, and, occasionally, consuming LinkedIn.
It was in that latter capacity that I stumbled across this post, from Jonathan Stark. I nearly spit out my coffee.
It’s funny, right? But the thing is, it’s also true.
Seriously. I could probably write an entire post about why telling prospects that you’re “passionate” is a bad idea, both from a positioning and a realpolitik perspective. But that’s not what I want to talk about today. At least, not entirely.
When I read this, an idea for a blog post snapped home in my mind. It had been kind of rolling around, not fully formed. But then I read this and the basic thesis struck me.
Learning to be a good employee is tantamount to learning to suck at being freelancer/business owner.
Of course, this isn’t exhaustively true. Very basic qualities like competence, diligence, and “EQ” will serve you well anywhere you go. But in many important ways, the instincts you develop while advancing as a corporate employee serve you absolutely terribly if you decide to go off on your own.
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?
I get a lot of reader questions about freelancing. People interested in freelance web development or freelance mobile development or what have you. I applaud the desire to go free agent, and I think you should do it.
But I think you get a lot of bad advice about how to do it. Bad advice at a philosophical level, that is.
Today I’m not answering a specific reader question, though. Instead, I’m just going to talk about going freelance.
I did this years ago and have had a good run. But I really wish I knew then what I know now. Hopefully I can help you get to joy a lot quicker and in less roundabout fashion than I did.
And don’t worry. I’ve stated that you’re asking the wrong question, so I will, eventually, get to what you’re probably wondering — what is the right question?
Freelance Web Development? Here Are Some Tips (That Help Us Make Money Off You)!
If you google advice about freelancing as a developer and about freelance web development, specifically, you’ll probably find a lot of advice from a certain kind of site. Fiverr, Upwork, and Toptal are all happy to help. They’ll tell you how great it is, saying things like:
Be your own boss!
Have work-life balance.
Choose your projects.
And they’ll offer you advice, like:
Beef up your breadth and depth of tech stack knowledge to have the most opportunities.
Build up your portfolio so that you can show it off.
Create and promote your personal brand through a website, user groups, conferences, etc.
Get your business affairs in order.
All of this is actually good advice for your immediate future. Full stop. This stuff will help you blast out of your salaried job and into the world of self employment — they’re right about that.
But here’s the rub. All of these sites are providing advice to you on how to be a good product for them to sell. Think of these the way you’d think of recruiters giving you job search advice.
They want you to do an excellent job with the next stage of your career and go exactly no further. This makes sense, since they earn their revenue pairing freelancers with companies in need of short term labor.
Freelance Development is Basically Just Job Hopping
If this whole thing sounds familiar, it should. It looks an awful like recruiters helping you from job to job as soon as you’re willing to jump.
The world expects you to jump as a freelancer, but feigns shock when you do it as a salaried employee. Freelancers jump — it’s what they do.
But make no mistake — the difference is only that you jump perhaps a little more often and that people expect it.
Do you want to know what I thought freelancing would be like when I started? I’m actually chuckling a little as I type this.
I’d had some moonlighting gigs in the past where I did 5-10 hours per week of work in my spare time for someone. So I just assumed that I’d find 4 app dev clients that wanted about 10 hours per week of work.
I’m not chuckling because this was or is a stupid thing to assume. I’m chuckling in irony because of how much the world turns out not to work that way.
You get into freelancing assuming that you’ll have a bunch of clients and diversity of work, handling multiple projects at once. But what you’ll wind up doing is taking sequential gigs with periods resembling job searches in between.
This is a Hamster Wheel
You’re going to need something more than this, eventually.
This is a question people ask me with a frequency that surprises me and in a variety of contexts. I could answer as one of my reader question Monday posts, I suppose, but I’ll just answer straight out.
If you’re a regular reader or someone who came here via share, and you’re asking yourself, “should I quit my job,” the answer is yes.
Why? Well, before I get to that, just look at the results of that Google search. You’ll see why I had a little fun in the title of this post. Each site that addresses this topic goes something like this.
Should I quit my job? Answer the following 25 questions on a scale of 1 to 5, with 1 being strongly disagree and 5 being strongly agree.
Does coming to work each day make me want to drink bleach?
Does my boss actually, literally make me drink bleach?
Meta question: if I were taking a quiz about should I quit my job and it asked me if I should quit my job, would I say yes?
Now, tabulate your score. If you got more than a 50, you should quit your job, mister, yah, you betcha!
So let’s just skip the quizzes and head games and get straight to why you should quit your job. I’m just dispensing with the busy work and telling you what you came looking to hear.
Understanding Your Motivation
Do a thought exercise with me, if you’re one of those wondering, “should I quit my job?” (Or, go ahead even if you love your job, but the effect will be understandably muted.)
Say you do this internet search, land on one of those silly quizzes and take it, giving your career the same treatment as a Buzzfeed quiz about finding out which character from Game of Thrones you are.
Let’s then say that the answer comes in. You should, most decidedly, NOT quit your job.
What’s your next move?
Do you shrug and say, “welp, that settles that. Back to the grind, never to contemplate this again!” Or do you keep taking quizzes and reading articles about quitting?
I bet it’s the latter. And you do something like this because you’re shopping for an answer. You’re not looking for the internet to answer your question as much as you’re looking for it to supply you with ammunition.
So roll with it. Accept that you should quit, gather your ammunition, and start planning when and how you’ll quit.
I’ll offer more on when and how momentarily, but with a quick spoiler. I’m going to counsel patience and a long game. If you’re looking for someone to validate your plan to march in like a moron and let your boss have it, I’d suggest looking for apocryphal Facebook posts.
Ah, the mission to find clients. Critical for any business, obviously, but especially daunting for the newbie solo consultant or freelancer. Today’s reader question solicits advice on how to tackle this.
I like your ideas for future topics. I’d love to see more on how to find and win clients. Not just general marketing, but actual sales.
Now, please forgive some introductory digression here. But I honestly can’t conceive of how to talk about sales without talking about marketing. Reason being, your marketing (or lack thereof) will heavily influence your sales strategy.
Personally, I don’t do a lot of sales. At least, I don’t do them in the traditional, numbers game sense. When I look back over the last couple of years, almost all client-facing work started with clients seeking me out. The only exceptions included past clients, where sales looks a lot different.
As you might expect, this dynamic heavily influences my sales discussions. I’m almost always in a favorable negotiating position, not really needing the work. And the mission to find clients? I haven’t historically needed to do that a lot. All this because of my years-long investment in personal branding and marketing.
I say this not to brag, but to illustrate the degree to which your marketing affects your strategy for identifying prospects and pitching to them. And now, I’ll seize an opportunity to stop talking about myself and start talking about the general would-be freelancer/consultant. But I will have to talk a bit more about the marketing (though not in the how-to sense).
The Silly Market for Software Work
If you put on a marketer’s hat and look at people selling software development labor, you’ll have a hard time knowing whether to laugh or cry. I saw this site, recently, called “Code Fights.” Assuming I understand its charter correctly, it perhaps epitomizes the bizarre market for our labor. The site encourages you to compete with tens of thousands of people for extremely similar work.
We don’t think anything of this when it comes to finding generalist programming jobs. But recall how I’ve talked about generalist programming not being strategic. And if you want to go into business for yourself, you can’t afford to tilt at algorithm trivia and programming competition windmills instead of being strategic.
Think of it this way. Imagine that someone came to you and solicited your advice on starting a business. Would you say the following to them?
Here’s what you should do. Take something that tens of thousands of other companies are doing, and do that. It’ll be hard to differentiate yourself, but don’t worry. There’s this website where you can practice by playing games…
It’s so preposterous that I’m going to stop right there because I’m actually laughing as I type it. In the business world, you don’t respond to market competition this way at all. Instead, you seek to differentiate your offering in a way that plays to your strengths.