DaedTech

Stories about Software

By

The Key to Becoming a Software Consultant

Recently, I made an idle threat on Twitter (shown below).  I was thinking of creating some content along the lines of how to go from being a software developer to a software consultant.  People ask me about this all the time, and it makes for an interesting subject.  I was also flattered and encouraged by the enthusiastic response to the tweet.

I’m still mulling over the best delivery mechanism for such a thing.  I could do another book, but I could also do something like a video course or perhaps a series of small courses.  But whatever route I decide to go, I need to chart out the content before doing anything else.  I could go a mile wide and a mile deep on that, but I’d say there’s one sort of fundamental, philosophical key to becoming a software consultant.  So today I’d like to speak about that.

Software Consultant, Differentiated

I won’t bury the lede any further here.  The cornerstone piece of advice I’ll offer is the one upon which I’d build all of the rest of my content.  You probably won’t like it.  Or, you’ll at least probably think it should take a back seat to other pieces of advice like, “be sympathetic” or “ask a lot of questions” or something.  But, no.

Don’t ever let would-be consulting clients pay you for code that you write.

Seriously.  That’s the most foundational piece of your journey from software developer to software consultant.  And the reason has everything to do with something that successful consultants come to understand well: positioning.  Now, usually, people talk about positioning in the context of marketing as differentiating yourself from competitors.  Here, I’m talking about differentiating yourself from what you’re used to doing (and thus obliquely from competitors you should stop bothering to compete with: software developers).

Let me explain, as I’m wont to do, with narrative.

Leonardo Da Vinci: Renaissance Plumber

By any reckoning, Leonardo Da Vinci was one of the most impressive humans ever to walk the planet.  Among his diverse achievements, he painted the Mona Lisa, designed a tank, and made important strides in human anatomy.  But let’s say that, in a Bill and Ted-like deus ex machina, someone transported him 500 years into the future and brought him to the modern world.

Even someone as impressive as Leonardo would, no doubt, need a bit of time to get his bearings.  So assume that, as he learned modern language, technology, and culture, he took a job as a plumber.

Leonardo Da Vinci as a plumber to help you understand the difference between software developer and software consultant

Let’s assume that you happened to have a leaky sink faucet, and you called Leonardo’s plumbing company for help.  They dispatched him forthwith to take a look and to help you out.

So Leonardo comes over and, since he’s Leonardo, figures out almost immediately that your supply line has come slightly loose.  He tightens it, and you couldn’t be more pleased with the result.

Read More

By

Competing with Software Consulting Companies

Thanks, everyone, for sending in your reader questions!  I’m flattered by how many folks have submitted and definitely have a healthy backlog from which to choose.  Today, I’m going to answer one about competing with software consulting companies.

I believe this question came from a post I wrote two weeks ago, about speaking to your buyers, rather than to peers.  We as software developers seem to love to speak to our peers.  We speak at conferences and write blog posts for the love of the game, without realizing that impressing peers is unlikely ever to pay the bills.  So in that post I talked about how to speak instead to buyers through your blog.

Here’s the follow up question.  (He actually provided more context, which I’ve elided)

What motivates buyers to buy? In my experience, the big companies buy from other big companies — ones with infrastructure and support in place. Starting off, lest we share the fate of Ahab, we NEED to chase the smaller fish to cut our teeth in business. So, for the beginner chasing smaller fish, isn’t it more important to compete on price, given small fish don’t have the capital of big firms?

There’s a lot to unpack here, in terms of explanations.  So let me start out by drawing a meaningful distinction.  In that previous post, I talked specifically about freelance software developers.  But here we seem to be talking instead about consulting.  Or, at least, we’re talking about someone with a defined specialty.

Generalist Freelancers Don’t Compete with Firms… or Really Anyone

Why do I infer that we’re talking about someone already specialized?  Well, first of all, that was the whole point of my previous post.  But, beyond that, getting work as a generalist freelance software developer is too generic for the question to make much sense.  You might as well talk about how every maker of bottled drinks in the world could compete for a guy named Steve who’s in a gas station right now and thirsty.  It’s too generic a transaction to bother considering it as appropos of anything beyond the moment.

If you’re a software developer that does web apps using ASP MVC, Javascript, and C#, you’re conceptually competing with hundreds of thousands of people for every gig that you get.  And, worse, you’re competing with all of them via the interview process.  And job interviews basically just amount to picking people randomly and retroactively convincing yourself that there was a method to the madness.  So, as a freelance supplicant to the interview process, you’re kind of just playing game after game of roulette until your number comes up.  Or, you’re one of a hundred soft drinks and iced teas, hoping that Steve feels like something grape flavored and carbonated.

When you're a random soda, you're not competing with software consulting companies

To put a more emphatic point on it, think of it this way.  As a generalist freelance software developer, you needn’t bother thinking about your competition.  Your competition is too nebulous, and low leverage opportunities too plentiful to bother.  Just play a numbers game.  Throw your resume at contract matchmakers and recruiters, and line up regular interviews for yourself.  That gets enough people into the gas station that one of them feels like grape soda.

Read More

By

The Opportunist’s Guide to Start Consulting (Abridged)

Given the recent launch of Developer Hegemony, I decided to address a reader question.  This question hits near and dear to my heart and to the subject matter of the book. I’m going to paraphrase for the sake of anonymity.  But, either way, it amounts to a question about how to start consulting.

But First, Some Housekeeping

Before I dive into that, though, I’d like to make offer some links.  If you want to hear and read more from me, I offer you the chance.  Check these out.

And now, back to your regularly scheduled post.

The Reader Question

Without additional preamble, I’ll offer up the (paraphrased) reader question.

I’m currently a developer, and want to transition to freelance consulting. But I’m not quite sure where to start.. Do you have any advice on that? How did you manage to start a consultancy business?

First of all, understand the dichotomy here.  He asks for my advice and he also asks how I did it.  I ask everyone reading to understand that these aren’t necessarily the same thing.  In other words, I can tell you exactly what I did, but that doesn’t mean I think you should do it in exactly that way.

Oh, don’t get me wrong.  I don’t think I made any horrible mistakes or anything like that.  But I kind of wandered my way through the experience, not entirely sure at the time what I wanted.  Unlike the reader asking the question, I never explicitly decided to become a freelance consultant.  In fact, I just had some free time and wanted some extra money.

Read More

By

Why is Staff Aug a Dirty Term?

“Don’t worry.  We’re not a staff aug firm or anything like that.”

Years before this would matter to me, I remember some recruiter saying this to me on the phone.  I didn’t know what “staff aug” meant, so I remember looking it up afterward.  I won’t force you to do that, though.

Staff Augmentation: a Definition

“Staff aug” abbreviates the longer form term staff augmentation.  Wiki attempts to utterly crush readers’ souls by calling it:

“[an] allocation of dedicated technical resources, usually offshore, hired as overseas development extensions of in-house application development teams on fixed or flexible terms and conditions.”

Jargon aside, it refers to hiring a relatively disposable contractor in lieu of a more permanent employee.

Over the course of the decade following that recruiter call that I never pursued, I learned a great deal more about this subject.  In the world of custom app dev (er, excuse me, “consulting”), you have two types of firms.

First, you have staff aug firms, and then you have firms that scream from the rooftops that they would never stoop to the gutter of staff aug.  Apparently, there’s nothing in between.

Don’t believe me?

Check out this post from an app dev shop.  In 2015, they derisively called the staff augmentation firm a “body shop” and declared it dead.

“The recruiting and staff augmentation model is losing popularity in the industry – they are going the way of the dinosaur. Dunzo.”

Two years later, it turns out that reports of its death may have been greatly exaggerated.

Still, why all of the hostility and scorn?  Why does the industry split this way?

Staff Aug from the Client’s Perspective

Have you ever worked alongside some guy who seemed unremarkable until you learned that he didn’t really work for your company?

He could have fooled you, though.  He came in every day, attended all of the meetings, and exhibited consummately middle-of-the-pack amounts of skill.  But in spite of looking, walking, and quacking just like a fellow employee, he turned out to be contractor.

Why should he make so much more when you do better work?

To make matters even more mystifying (and aggravating), you subsequently learned that the company pays a lot more for him than for you.  At some point, you probably (half) joked to a coworker that you should quit and return as a contractor to make twice the money.

Inside, you may have seethed at the injustice of it all.  Why should he make so much more when you do better work?

You may not like the answer.

Read More

By

Always Be Leaving

Last Friday, I published a post called “The Polyglot’s Dilemma”.  I had actually had a stubbed draft for this post, “Always Be Leaving,” before writing that one.  But it turns out that post segues nicely into this one.

Programmers (especially polyglots) face a dilemma wherein the thing that makes them most employable (broad generalist skills) also positions them as resources rather than strategic experts.  To make matters worse, broad industry generalizing also puts programming labor in the category of fungible commodity.  Knowing many languages and techs makes it easy for a company to assign you to any arbitrary upcoming automation project.  But it also makes you easily replaceable by any similar generalist.

The polyglot generalist comes to the company as an easily-deployed generalist.  He then waits for people tasked with organizational strategy to deploy him.  But then, of course he does.  This represents the only way for him to remain indefinitely engaged as an employee.  A specialist comes in to execute on a limited duration charter.  A generalist signs on to do whatever the company happens to need for the rest of his career (theoretically).  This context demands a generalist, since nobody knows what the company will need in 5, 10, or 20 years.

And so we see that the polyglot’s dilemma arises naturally from indefinite employment.

Leverage: A Study in Contrasts

“Always be leaving,” as a title probably reminds you of the pop culture sales phrase, “always be closing.”  Popularized by movies like Glengary Glenn Ross and Boiler Room, it evokes images of the iconic pushy sales guy.  This sales guy does things like cold call you and say, “should I sign you up for two or just one?”  See what he did there?  He gave you no option to say no.  Slick man that he is, he’s always closing.

If you take the self-important testosterone out of the situation, you can see a more basic psychological reality.  “Always be closing” applies to situations with little to no leverage.  Fast-talking sales guys call up “whales” and, through force of personality, convinces them to buy stocks they don’t need.  He has no actual leverage — nothing they really want — so he exerts his dominance by turning on the forceful charm and bamboozling them.  Then he high fives his buddies afterward and rings a bell and screams or some such idiocy.  He creates leverage theater in order to secure the metaphorical kill.

“Always be leaving,” on the other hand, offers a complete leverage reversal.  When you find yourself ending an engagement or an employment tenure, you have tons of leverage.  But you usually forgo using it.  You give your notice, and the notified party often asks what it can do to keep you, even though you feel excited looking ahead to the next thing.

Read More