Stories about Software


11 Realpolitik Career Tips for Junior Developers

If you’ve followed me for years (and you read the title), you’re probably thinking, “Erik, you hypocrite.”

But let’s not confuse everyone else with inside baseball just yet. There will be plenty of time to get into why I called them “junior developers” in spite of really disliking that term.

So give me the rope with which to hang myself, and stay tuned for my advice to those embarking on a programming career.

What This Post Is and Is Not

What I want to do here today is offer some tips. But if I just wrote a post called, “Tips for Junior Developers,” I’d be, by my non-scientific making up of a number, the 79,667th person to write a post with that title.

And those tips would include things like:

  • Be humble.
  • Keep a developer journal and write down your mistakes to learn from.
  • Read well-regarded books by prominent developers.
  • Learn communication skills

I’m sorry, I need to stop. No offense to people who have written these things (including probably me at times). But I’m boring myself to tears just typing out the strawman.

So I won’t write that post. I promise.

Instead, this post will have what readers of this blog and my book have come to think of as my personal spin on it, which generally ranges somewhere between hyper-cynical and coldly pragmatic, depending on your point of view.

If you’ve never read it, you might want to check out my definition of the corporate hierarchy, to understand what I mean when I describe people in organizations as pragmatists, idealists, and opportunists. That may prove helpful for perspective, since I’d characterize so-called “junior” developers (let’s say people with < 2 years industry experience) as idealists by definition.

Those formative 2 years will determine whether you remain an idealist, graduate to journeyman idealist, give up and become a pragmatist, or… well, let’s not worry about opportunists here.  The intersection of budding corporate opportunists and people looking for junior dev tips is probably the empty set.

Career-Savvy Tips for Junior Developers

If you’re embarking on a programming career, first of all, good for you.

Seriously. You’ve selected a path that will pay you handsomely and is, in my opinion, anyway, a lot of fun.  I always thought of professional programming as “people pay me to solve puzzles.”

As a so-called junior developer (or an aspiring one), you’ve come from one of two very broad paths:

  • Recent grad with a CS or related degree, looking for that first corporate job.
  • You have professional experience, but are making a career transition, perhaps with the aid of a bootcamp.

So you’re either standing outside the club, leaning against the velvet rope and peering eagerly at the movers and shakers within, or else the bouncer has just waved you in, and you’re telling yourself, “play it cool, play it cool!”

You’ve waited and worked for this moment. The club analogy trivializes it, because you don’t spend months or years waiting to get into the club.  (I mean, I don’t think so anyway — my days of going to anything called a “club” are so far in my rearview that I’d have to pull over for them to catch up.)

You’re grateful to have that first job, and to be welcomed into the society of real software developers.  I get it, I find your enthusiasm infectious, and I’m happy for you.

But don’t let this excitement take your perspective.  Because it will, and it does for most.

To understand what I mean, let’s get into the tips.

Read More


Time Isn’t Money — It’s Inefficiency and Waste

Editorial Note: This originally started as a rant for Twitter.  But, as regular readers can attest, my keyboard tends to outrun the medium I’m in.  So I figured I’d repurpose this into a blog post, since it’s been a while.

I haven’t quit posting, either, BTW.  I’ve got draft content for the next couple of weeks.

Time is money.

The business world accepts this as basically axiomatic. But it’s really kind of nonsense.

Time isn’t money. In the context of commerce or value, time is, at best, a measure of your inefficiency and, at worst, a measure of waste.  (And I would argue that my interpretation actually squares with that of the man who coined it, Benjamin Franklin.)

I recognize that this is an extremely contrarian position and that it requires some justification.

So let me justify it.

Should I incorporate? The monopoly guy here thinks the answer is yes, and so do I.

Read More


Businesses Should Have 3 Months of Savings? It’s Not as Simple As You Think

The COVID-19 outbreak has given rise to memes the way you’d expect from the year in its name. Most of them probably die quickly on the vine, but some have shaped up to make their way into my feed over and over.

And of those a lot are poignant and hilarious.  Some on the other hand, induce a lot of facepalm in me when I read them:

  • The Venice canals have magically healed themselves, so maybe there’s a silver lining to this whole thing.
  • Grocery workers should have higher salaries because we’re collectively grateful to them at the moment.
  • The virus severity is a left-wing conspiracy to make Trump look bad (though I think that one seems to be subsiding).

But perhaps nothing brings palm to face harder than this one:

They tell us that families should save at least three months worth of expenses to cover for emergencies, but businesses lay people off and need bailouts after a week.

The relationship between meme and trope is often a tight one.  And this meme walks hand-in-hand with the “corporate fat cats vs honest folks” trope.

Remember this trope, and I’ll return to it to explain why I brought it up a little later.

My wife and I own a small business. It employs 4 salaried full timers and somewhere around 100 contractors who do varying amounts of part time work.

And, counter to the meme, we have banked enough expenses to survive (without layoffs) for three months.  But, if anything, this “of course you should have” attitude actually makes me hate the meme more, and, in this post, I want to explain why.

Painting with a Broad Brush: Not All Businesses are GigantiCorp

I want to elaborate a little about my business in particular, because the story of building this business is going to underscore a number of points I’ll make.

The business, Hit Subscribe, is a bootstrapped company. (Briefly: we’ve never taken investment capital or loans, and instead built the business exclusively on cash from sales.)  My wife and I founded it together, about three years ago, and did all of the work in it, initially.

Over the last three years, we’ve grown steadily, backfilling ourselves with contractor help and, eventually, full time employees. That brings us to the current state, with the worker situation that I’ve mentioned.

Remember the “corporate fat cat” trope? I mentioned that because the skeptics reading this are gearing up to object, “you’re not who I’m talking about — I mean Giganticorp!”

Well, fine, but two things.

  • First, in that case, you should probably qualify exactly who you’re shaming in your meme.
  • And second, the road to war chest doesn’t magically get easier as you grow.

To underscore why that is, I’m going to tell the story of growing the business and the fight to build a war chest.

Read More


Reader Question Round-Up: Remote Work, Solution Architects, and the Death of Developer Hegemony

My apologies, readers, for missing a week. Last week I I was on the road in Kansas City and Des Moines, for a pleasant mix of work and recreation. All good life experience, but the work did pile up and push somethings, like blog posts, down my priority stack.

However, I did have another reader question video queued up and needing only an edit, so I got that ready in time for this week. So I’m bringing that to you today, below. In it, I answer the following questions:

  1. 1:02 How to become a solution architect?
  2. 8:50 I’m worried about struggling socially with remote work.
  3. 14:55 Book recommendations for consultants?
  4. 21:15 Is the “Developer Hegemony dream” dead?

Read More


A Modest Proposal for Hourly Billing

Many of you that follow my blog might also follow the work of my internet buddy, Jonathan Stark. If you don’t, you can find him, among other places, here, at an internet property called “hourly billing is nuts.”

I agree with Jonathan on this premise. I run a content agency and I’ve never once though to myself, “sweet, you’re a slow writer; I’d totally pay more for that.”  All parts of our service delivery and subcontracting are based either on totally flat rates or flat rates per scope.

Of course, my use for hourly billing, either as a provider or a consumer, expired before my Hit Subscribe days. I can’t actually remember the last time I did anything other than flat-price or value-price a consulting engagement.

Doing so would have worked against my own interest.  It’d have required me to earn less and less money as I became more and more efficient at codebase assessments.  Instead, I quoted flat prices based on the value of the program/company at stake around the codebase, and each gig became increasingly profitable.

But that’s all about to change.

You see, I’m going back to hourly billing.

And my hourly rate starts at either $250 or double your hourly rate — whichever is more.

Announcing Erik’s Hourly Laborer Management Service, Starting at $250 Per Hour

Alright, I know you’re probably a little skeptical at this point, and that’s fair. Have I just completely reversed my long standing dislike of the hourly billing model?

Well, no.  You see this hourly service I’m offering has a very, very particular use case.  It only applies when I hire you to do hourly work for me and you quote me a rate of at least $100 hour, for a predictable deliverable.

In other words, if you want to do something like prepare tax returns for me at an hourly rate, I’ll pay your rate. But I’ll only do so if you also become my management consulting client and pay my rate for the time I spend managing your labor.

Here’s exactly how it works.

The Gist

Let’s say that you offer professional services for $100 per hour. I want to hire someone to go through DaedTech and look for any outdated mentions of my hourly rate, thus making it current.

You answer this RFP, but, you say, “how can I possibly know how many mentions we’re talking here? And my time is money — specifically, $100 per hour.”

Fair enough.  You’re hired.  But with one condition.

You can start work as soon as you become my client as well, signing my client agreement to pay me $250 per hour for the time I spend managing your labor in my service.

“But wait,” you protest, “that’s not FAIR!  I really — ”

“Ah, ah, ah, I’d hold it right there if I were you” I’d reply, “since you’re already about $1 in the hole for making me listen to your complaining.  I’d just get crackin’.”

Read More