Stories about Software


A Slice of My Life: What I Do, Why I Have Money, and How It All Works

It occurs to me that I spend a good bit of time weaving narrative into my posts.  I tell personal anecdotes to ground stories, and I add in a good bit of figurative language.  But it’s always fairly superficial.  I don’t generally get heavily into my own story.  As an introvert, this makes sense, since talking extensively about myself or receiving compliments feels awkward.

But I’ve received a number of requests over the years like today’s reader questions.  So today, for reader question Monday, I’ll talk about this subject.  Here’s the reader question.

I’m interested in how you’d describe what a week, month or a single engagement in your shoes is like. I know a couple of people who are consultants and see them going out to coffee shops, meeting with clients to socialize and making pretty good money. I’d like to read an article about what your routine is like. Nothing where you give away client specifics or anything. I just think others who read your blog are taking in what you write about, putting what they find is useful into practice but are left wondering in their head ‘I wonder what work is like for Erik?’.

Before I dive in, it’s worth noting a couple of things.  First, I have to address this at different times because my life has changed a lot.  And, secondly, it really depends on what kind of consultant you are, so I’ll speak a bit to experiences other than mine as well.

I’m predicting a fairly long post on this one, so buckle up.  I’ve always found that it’s the absolute most difficult to be brief when I’m trying to explain myself, as if I’m constantly mounting a legal defense or something.  Anyway, here we go.

Modern, Reclusive Erik, A Day in the Life

For the last six months, most of my days look pretty similar, weekday or weekend.  I usually wake up around 9 and shuffle to the kitchen for some coffee, preparing to sit at my computer.  Morning time is usually writing time.  This isn’t for my personal edification or for my books, but for my growing content marketing business.  That typically carries me through lunch and a little after.

In the afternoon, I’ll spend some time handling emails, corresponding with clients, and working on the businesses, but that usually stops at some point.  For the last six months, I’ve been living in a house on a lake, featuring usually great weather, great scenery, and generally great marrow waiting to be sucked out of life.  So I go outside.  I jog, I kayak, I do a bit of yard work, I fish, or I make a fire in the fire pit and just enjoy my surroundings.  The weather is getting a little suspect for that here in late October, but we’re getting ready to head south for the winter.  So I expect this routine to continue.

After enjoying life a bit, I eat dinner and then either call it a day or go back to work, depending on how I feel.  This is typically non-writing “deep work.”  Minimal distractions after 8 PM, so I can get in a solid block of concentration until I go to bed around 2 or 3 AM.  Sometimes I also write during this time window.  Other times, I’ll work on software for my codebase assessment practice or my own longer form content marketing.

Why Does This Matter?

You’ll notice what I don’t really talk much about here: consulting.

That’s because I don’t honestly do much of it anymore.  And that’s by design.  I have engineered and hacked my life deliberately and specifically to look like this.

When I do consult these days, the clients seek me out, and I agree only after a heavy round of disqualification.

  • Is it a short term engagement (a few weeks or less)?
  • Will it pay enough really to be worth it?
  • Can I do it from anywhere?
  • Is it a high value, high leverage engagement for the client?

A “no” to any of these questions and many more results in a “no thanks” from me.

I give you this vision of my life, mostly “retired” from serial consulting in order to set the stage for the rest of the post.  Consulting is fun, rewarding, interesting, and lucrative when you do it well.  But it’s also a treadmill unless you specifically make it not one.  It’s the career equivalent of an interest only loan unless you’re careful.

Read More


The Merits and Ethics of Learning on the Job in App Dev

Another Monday, another successful reader question Monday.  Today’s question is about learning on the job.  Let’s take a look.

This is more of an app dev shop question than a consulting question, but here goes.

Say you’re consulting for a client and the client has a specific need for some app dev work which they ask you to do. That work requires you to use a technology that’s either completely new to you, not quite in your line of specialty, or you haven’t used in several years, but you’re constrained in some way to use this technology and to do the project you would need to “ramp-up”.

The question is: do you bill the client for this “ramp-up” time or do you take the hit against your own personal time to come up to speed? Does it make a difference in the response if it’s a legacy technology that you may never use again (FORTRAN) vs. a “hot” language that it would benefit you to learn (Python)?

First of all, for everyone else, here’s what the reader is referring to about consulting vs. app dev.  I’ve written a good bit about how writing software for someone else isn’t “consulting” no matter what people might call it.  So the question concerns either app dev shops or app dev freelancers.

Learning on the Job

Learning on the Job: The Quick Answer

I’ll start by answering the question at the tactical level.  Should you bill for this ramp-up time?  Absolutely, as long as you can negotiate it and you do so in good faith.

The last time I agreed to app dev work, I dealt with something like this.  I’d worked with the client before, and they liked my work.  I had domain knowledge and we had a good rapport, so they engaged me for some work.  I told them that I had to learn an important technology as I went, and they were fine with this added cost.  They viewed it as worth it.

Contrast this with a different situation.  Imagine you’re a Ruby on Rails developer and you need some work.  So you answer an RFP for help with an ASP MVC site, knowing nothing about ASP MVC but claiming you’re competent.  That’s pretty much the opposite end of the spectrum, and obviously problematic.

So start with the requirement that you’ll be frank about anything you need to learn to execute on an engagement.  The matter of who bears the cost of that learning then becomes a matter of negotiation as part of the contract.  And, that should make sense, since you’ll always have to learn something to help a client.  If you need the gig more than they need you, you might need to spend unpaid evenings learning a framework.  If they really need you and you’re on the fence, you can require that they include your onboarding as part of the deal.

Read More


Consulting for your Current Employer: Make Your Boss Your First Client

Alright, like last week, this week’s reader question Monday occurs on Tuesday, but this time because I was traveling all weekend until getting home Monday morning at 3 AM.  So I basically just walked in the house, laid down and went to sleep, rather than logging in to publish.

Today, I’m going to talk about consulting for your current employer.  Er, well, consulting for your current-but-soon-to-be-former employer.  How do you flip your current salaried gig into a consulting arrangement?

Here’s the actual reader question.

You mentioned in a post that when you started freelancing full time, you negotiated a contract arrangement with the employer you were leaving. I was wondering if you could go into how you framed that conversation and if there were any special circumstances that allowed you to do that. Thanks!

First of all, it’s now been a pretty long time since I did that.  My recollection is thus rather hazy, but I think my specific situation will not prove overly helpful to most reading.

That position was an executive leadership role.  Leaving one of those voluntarily, with an offer to consult, tends to have a high chance of success compared to leaving an individual contributor role.  They needed my help with things like hiring my replacement, transitioning responsibilities for my direct reports, and that sort of thing.  And, I doubt most of you reading this advice (or the reader asking) are leaving CIO/CTO roles.  So I won’t focus on that.

Instead, I’ll draw on my career experience and lengthy organizational consulting history here.  How can a software developer convert an employer into a client?

Captive Shops

Before you set your master plan in motion, however, stop to consider something.  What do you want your freelancing to look like?

In Developer Hegemony, I talk about how corporate opportunists should view themselves not as employees, but as companies of one.  For instance, most people don’t think anything of volunteering to work 45 or 50 hour weeks for no extra money.  They assume it’ll all take care of itself come annual review time.  (It won’t.)  But if you regard yourself as a company of one, then this behavior looks like you agreeing to give a client a 25% discount on your services for no reason.

If you’re a corporate employee and not in the habit of viewing yourself this way, I suggest you start.  It’ll help you avoid sucker culture. And it’ll give you interesting perspective, such as the fact that you’re really a service provider with exactly one client — namely your boss.  And that client exerts total control over your financial well being.  This makes you a so-called captive shop — you’re a captive of an 800 pound gorilla client that can crush you on a whim.

The question to ask yourself when you contemplate going freelance is whether or not you want to stay that way.  Seriously.  Because this will determine how you approach making your transition.

The Tom Hagen Strategy

In the movie The Godfather, Tom Hagen is a lawyer that represents the Corleone crime family.  In one scene, he explains his livelihood to another character’s dismissive challenge of “who the hell are you?”

I have a special practice. I handle one client. Now you have my number. I’ll wait for your call.

As lawyers go, Tom Hagen is a captive shop.  He puts his fate entirely in the hands of the Corleone family, who treats him as a de facto employee.  If you want to go this route (at least to start), then you have a specific strategy for converting your employer to your client.  It has two core components:

  1. Make yourself indispensable.
  2. Offer your resignation, but with a budget-neutral pitch to stay on indefinitely as a contractor.

Read More


Reader Question Roundup: Working at Google, Remote Freelancing, and Side Projects

I’m doing reader question Monday on a Tuesday once again.  But this time it’s not my fault.  You can thank organized labor for interrupting your reader question Monday with their US holiday yesterday.

I did this once before, and I’m going to dust it off and do it again.  You folks send me far more questions than I can answer at a pace of once per week.  And thanks for that!  It’s awesome.

The result is an ever-growing backlog of questions.  And, while I may start doing something ala John Sonmez with his youtube channel, where he answers a lot of reader questions as videos, for now, I’ll try to catch up a little bit by answering several in a single post.

On the docket today, an eclectic mix that hopefully you find interesting.  I’ve picked questions likely to be relevant to a decent cross section of folks.

Read More


Scale Your Freelancing: Hiring Others

Last week, I answered a composite reader question about everyone’s favorite subject: taxes.  This week, I’ll build on that with another composite question.  This time about how to scale freelancing work that you might do.

I’ve gotten a few different questions about this over the last several months.  I’ll try to cover everything you all have asked by answer this composite question.

Freelancing is going well enough, but now I’ve got a spike in work that will be more than I can probably do on my own.  I’ll need to hire someone, somehow, to do something.  How does that work?

It’s understandable to wonder this.  Speaking from my own experience and what I’ve heard from many others, you’ll probably have your own freelancing practice or side hustle for a long time before this comes up.  Or, it might never come up, and you still have a rich happy professional life.

But when it does come up, it’ll probably happen quickly.  And, you’ll be swamped when it does, since, by definition, you’re looking to hire due to too much work for yourself.  So it’s good to at least have a concept of how this works ahead of time.

Caveats Again

As I mentioned in the last post, I am neither lawyer nor accountant.  I’ve hired subs and done a lot of business this way, but I am not a professional advisor.  What you’re getting here is my best understanding and things that have worked for me in the past.

Use the advice here to orient yourself and get a feel for how this works.  But before you actually go execute this stuff, you should contact your lawyer and accountant to verify that it’s right and that it makes sense for your situation.

And, once again, a lot of this may be US specific, but I hope non-US readers can get something out of it as well.

Can I just pay someone, the way I pay the neighbor kid to shovel my driveway?

This is the first thing that might occur to you.  You’ve got to deliver 4 modules by the end of the week, and you can only possibly deliver two of them.  Can’t you just offer a fellow developer $1,000 or whatever in exchange for her doing the other two?  Seems simple, and it should be simple, you think.  That’s what I thought.  And it would actually be simple if not for the tax man.

Think of the kid you give $10 to shovel your driveway.  Seems innocent enough and like pure commerce in action, right?  Wrong.  In the first place, you’re probably technically violating some kind child labor law and possibly running afoul of minimum wage laws.  But, even if that little scamp were 18 and of legal working age, this would still represent an illegal transaction because he’s almost certainly not making a note of that $10 of income so that he can report it on his tax return.

So now, you can’t “just pay someone.”

Read More