Stories about Software


The Efficiencer’s Guide: Getting Started

You thought Developer Hegemony Week stopped on Friday?  Nah.  Today I give you post 6.  It contains somewhat lighter fare, since it’s the weekend, but the show must go on.  We’re doing really well on the Thunderclap campaign — 83% as of this writing.  But that means I still need 17 more people to do the raffle.  So, please help me out and spend a few seconds signing up!

In the book, I coined this term, Efficiencer.  I also talked about it on the blog this week.  Today, I’d like to offer what I’ll call the efficiencer’s guide (or, at least, the start of it).  I’ve called out a number of idealized behaviors and philosophies, but haven’t given a lot of practical field advice.

For the purposes of the efficiencer’s guide, I’ll assume you work as a salaried software developer in some organization.  This probably describes most of my audience, and it makes for a natural starting point in this journey.  If you’re already a free agent or you don’t write software, don’t worry.  You can still get some info here.  I’m going to include reading materials and links, so I have something for everyone.

Defining Efficiencer

First things first.  I won’t ask you to go do a bunch of homework.  Instead, I’ll define this term again, off the cuff.  I’ve described it in the book, but I invite you all to participate alongside me in kind of an evolutionary definition of the term.

I think of software developers (or engineers or programmers or whatever) as people who collect a salary to write code.  I feel fairly confident that this definition has blown exactly 0 of your minds.  But consider it maybe a bit more literally.  You collect a salary to code… and, that’s it.

Therefore, you don’t worry about business considerations like sales or marketing.  You generally don’t participate in discussions about why you write the code that you do.  Nope, you just show up, get a spec or something, fire up your IDE, and get to work.

The efficiencer, on the other hand, does ask why.  In fact, the efficiencer doesn’t do any work without understanding and approving of the why.  You see, she doesn’t count herself a coder but an automation professional.  She specializes in making you more efficient.  That might mean writing some code, or it might just mean sending you a link to a COTS product that already does what you want.  She doesn’t accept specs or story cards or requirements or anything like that.  She listens to your business goals around cutting cost or increasing revenue, and she decides how that will happen.

Yeah, Right, You Say

I can sense your skepticism radiating through your device, over the network and into my office.  “Sure, that’s a great theory, but I can’t march into my boss’s boss’s office and tell them to stop the spec presses until I agree that writing this code makes sense.”  Yes, that’s true.  You can’t do that.

And for this exact reason I’m creating this efficiencer’s guide.  If you could do that, we’d already be at the finish line instead of the starting line.  Developer Hegemony answers the question, “why do software developers have the least influence of anyone in the software development industry” in depth.  We have a ways to go.  But, don’t worry; we’ll get there.

The Very First Step

Before you do anything else, make a simple change in your life.  I actually can’t think of too many simpler, easier changes one could make.  But this one will have a profound impact on your outlook.

Stop thinking of yourself as an employee.  Seriously.  Right now.  You are no longer an employee of MiscTech Inc.  You are now self employed, and you have a single client: MiscTech Inc.

I don’t mean that you should actually go announce this to your boss or something rash.  Just adjust your mindset.  Imagine that you work for yourself as a free agent and that, for the time being, MiscTech cuts you checks.  But, since you work for yourself, that client could go away at anytime.  (And, really, this passes the smell test — employers and employees just engage in a mutual “family” farce that their relationships will last forever.)

You Have Some Work To Do!

If you really throw yourself into the mindset that you work for yourself, you have immediate work to do.  Specifically, you need to learn how you’d bill and invoice MiscTech.  What would you charge them per hour?  If you make $100K per year, do you divide by 2080 and charge them that?  (Hint: no)  How often would they pay you as a contractor?  Who would take care of your health insurance?  Your 401K?

Before you can start learning tactics to have “why” conversations with CIOs and VPs, you need to learn these things.  If you can’t speak intelligently about how some business — any business — takes in revenue and manages expenses, you probably won’t get far.  Especially if you can’t reason about your own impact on your clients.

Figure this stuff out.  Pretend that you do have immediate plans to “boomerang” (turn your current employer into your first client).  Do all of the research required so that if some deus ex machina came along and forced you to do this, you’d find yourself prepared.

Now You’re Kinda Ready

Alright, you’ve started down the efficiencer path.  It probably feels uncomfortable and weird, and that’s understandable.  Go with it.

You don’t have a lot of the things I talk about.  You have no niche, no book of business, and no clear plan for much of anything.  But what you do have, now, is a growing understanding of how to operate as a business.  Think of yourself as a programmer learning a new language.  You’ve learned the basic syntax and enough to write “hello world.”

And so that’s probably enough for a day.  You don’t learn a language all at once, and, similarly, you don’t learn to run a business all at once.  You learn a bit, practice, and then learn more.

In Preparation for Efficencer Life

I will close out by offering one other bit of mindset preparation.  You need to diversify your skills.  Efficiencers know automation in and out, which means that the nuts and bolts of programming matter.  They matter a lot, in fact.  But they don’t matter exclusively.  Think of the inane advertisements for “full stack” developers.  You need to know some database stuff, some server side language stuff, some client side stuff and some markup.

Being an efficiencer is like that.  But your “stack” involves the core elements of business: product creation (your role), marketing, sales, operations, and finance.  Get really, really good at creating products and services with your programming skill.  But leave the fetishism and programming “contents” for the idealists of the world and learn the other parts of business.

Efficiencer’s Guide Resources

To go along with your mindset shift and start down the path, I’m going to offer a number of resources.  I’m offering you sources of information that will start to fill out your “stack” with things that go beyond programming.  You may not understand everything here immediately, but do your best to read, start following along, and grok.

First up, podcasts that will round you out.

Now, books that will alter your perspective.

I’d say that’s definitely enough to get started.  Avail yourself of some of this material and start changing your mindset.  I’ll have more content to help you in your journey as you go.