Stories about Software


The Aspiring Free Agent Survival Guide

It often feels as though I have no idea what I’m talking about.  I don’t say this in an attempt to garner sympathy and I’m not really suffering from impostor syndrome (at least not in this domain).  It’s more that running my own show, business-wise, has demanded of me a form of trial-by-fire, just-in-time learning.  It’s as though I moved to a small village in Germany, in spite of the fact that I don’t speak a lick of the language.

But in muddling my way through all of the details, large and small, I’ve actually managed to pick up a fair bit.  What I’d like to offer today is a preparedness guide of sorts.  The free agent’s life is an attractive one in a lot of ways, and I definitely recommend at least considering it.

I have no regrets, myself.  But I do acknowledge that it can seem like a pretty daunting leap, particularly if you’re well established in life and have responsibilities.  People telling you to take the plunge probably seem like friends swimming in an chilly lake, already used to the water, telling you that it’s fine.   I’m not that used to the water yet, though, so I can still appreciate your position.  It’s cold, but it’s refreshing.  And I’d like to offer some thoughts before I get too acclimated to the temperature.


So here are those thoughts.  These are things to be aware of if you contemplate, however idly, the free agent life. Read More


If You Promote Bad People, You Promote Bad Culture

Most of my cynicism toward the corporate world is safely directed into my new book these days, so there’s not a ton of spillage onto the blog.  But I’m going to make an exception today and talk about corporate culture.  To understand some of the terms I’m about to use, you can buy the book, if you’re so inclined, but you can also see an original definition here in this post.

I originally intended for my notes on this topic to make it into the book, but one of the main uplifting themes of the book is that I see programmers creating a professional working arrangement in which the corporate idealist doesn’t exist.  And since deliberate company culture, which I’ll refer to as “corporate religion,” is largely theater for idealists, spending a lot of time talking about it in the book would be somewhat superfluous (I do mention it, but not extensively).  But that’s not to say that corporate culture and religion don’t matter.  And, all these half-formed notes I have ought to go somewhere.  So, here they are.

Corporate culture is more or less defined by three things: what it takes to advance within the company, and what it takes to stay in the same role within the company, and what it takes to be walked out by the company.  Paintball outings and “bring your pet to work” don’t define or even describe company culture.  Perhaps more surprisingly, neither do things like company “mission,” “values,” and “principles.”  These things, which constitute corporate religion, are mainly orthogonal to culture.  Corporate religion consists of ceremonies, outreach activities, and the official canon (mission statements and expressions of “official values”).  But none of these things are culture, any more than the Ten Commandments, New Testament, and church bake sales are the ‘culture’ of a rural evangelical town in the USA.

If you look up the definition of the word culture, you’ll have to scroll all the way down to definition number 5 to get to an actual definition of corporate culture.

The behaviors and beliefs characteristic of a particular social, ethnic,or age group: the youth culture; the drug culture.

For our purposes here, we’re talking about the social group “people who have opted to work at this company.”  This means that we’re talking about behaviors and beliefs of employees when we talk about culture, and this is why culture and religion are disparate and sometimes orthogonal entities.  Corporate employees are forced to attend religious ceremonies and memorize the canon, but what they actually believe and do outside of structured activities is another matter altogether.  Plenty of people who show up to church every Sunday go forth immediately afterward and pound beer and gamble on football.

ArmchairQuarterback Read More


My New Project and Dignity in Hiring

I saw this tweet tonight and thought of dignity in hiring.

I admittedly didn’t read through the site in a ton of detail, but notwithstanding that, I found myself feeling a little giddy. Apologies in advance for the spoiler, but one of the main things for which I’ll be advocating in my in-progress book, Developer Hegemony, is that software developers stop commoditizing their labor at pennies on the dollar. Instead, I think they/we should form organizational structures akin to law firms, and sell software expertise as a professional service. With this model, a rising tide will lift all boats. Even the odd staff developer at some non-software company will be paid more like staff counsel than like someone with 4 layers of middle management between them and people that make decisions.

But, I digress. I mention seeing this site because it was a hopeful reminder that better ways of marrying developers with automation needs are on the way.  And, for my part, I’ve been thinking about how to get there, and not just for the purpose of my book.

A bit under 2 years ago, I realized that I’d completely burned out on salaried, exempt (i.e. full time) employment.  At the core of this was the feeling that exclusive employment cedes entirely too much control over one’s circumstances to another entity.  On a long enough timeline, you’ll find yourself in a situation you don’t like, doing things that you think are stupid, and hoping for reprieve before you have to make the life-disrupting decision to go job hunting on the sly.


So, I followed the advice that brings you continuous integration: if it hurts, do it more and more, until it’s painless.  I decided that, whether it be with employers, clients, or anything else, I’d never be completely able to prevent a situation from going sideways.  But what I can control is how easy it is for me to hit the eject button when it does.  And having a bunch of different clients and a whole ton of connections makes any single depression of the eject button relatively painless for me.  I was done putting all of my eggs in one basket.

That’s gone quite well.  These days I have more offers for work than I can take on, and a lot of different connections, contacts, and clients.  Life is good.  Maintaining my own pipeline is not without its drawbacks.  When you’re taking a break from your 9 to 5 gig on weekends, you might well find me invoicing or following up on prospective contracts.  But, I wouldn’t trade the relative freedom when it comes to controlling my working destiny.  I work more hours than most, but none of those hours are spent doing things that I think are stupid, at the behest of some megalomaniacal expert beginner.  And that has made all the difference. Read More


Scrum Master + Team Lead = Team Master?

Last week, I gave the Scrum Guide a fresh read.  I did this for the simple purpose of making sure I was remembering the rules of the game correctly, and not just having conversations based on echoes of memories.  It turns out that my understanding and recollection had not drifted very far, which was good news.  But it also turns out that I still think of “Scrum Master” as somewhat silly.  I re-read the manifesto, had the same impression, and was somewhat gratified to learn that I have the same taste as myself.

What is a Scrum Master, Anyway?

There’s a lot to like in the Scrum guide, but Scrum Master, in my opinion, just isn’t in that bucket.  At best, it’s a built in sales role for Scrum, and one that should become unnecessary as time passes.  The guide itself is pretty unambiguous about this: “the Scrum Master is responsible for ensuring Scrum is understood and enacted.”  Presumably, once Scrum is “understood and enacted,” the role need not exist.  At its worst, “Scrum Master” is an escape hatch for non-technical project managers in an agile world that largely proclaims them unnecessary (unless re-cast as BAs, product owners, or line managers).


Unfortunately, and in far too many organizations, I think that Scrum Master winds up at its worst.  Scrum falls under the umbrella of agile methodologies, and it says something right there in the agile manifesto (or, at least, the principles behind it) about how to organize teams: “the best architectures, requirements, and designs emerge from self-organizing teams.”  This describes a scenario in which empowered and engaged technical folks figure out how to deliver value to interested stakeholders without relying on traditional command and control structures.

In other words, agile teams (and, by extension, Scrum teams) don’t need managers or masters.  They need a “product owner” to represent the interests of the business and… well, that’s it.  They need someone to explain to them what’s needed out of the software and then it’s up to them to go do it.  It’s refreshingly grass-roots.

Read More


Make Yourself Big And Get More Job Offers

A few posts ago, I answered a reader question about getting around lowest common denominator hiring practices.  It’s a subject I’ve talked about before as well.  I addressed the reader’s question mainly as it pertains to the front end of the hiring process.  After that post, you might understand a strategy for not really dealing with recruiters and other low-knowledge screener types.

(If you want to submit a question, check out the “Ask Erik” form at the bottom right of the side bar)

But even if you secure the inside track to a conversation about a job instead of going through the tuple-focused HR machine, it’s still in your best interest to paint yourself in as advantageous a light as possible.  I’m going to plant my tongue slightly in cheek and refer to this process for the rest of the post as “making yourself big.”

The phrase is intended to evoke imagery from the animal kingdom.  Probably the most dramatic example of “make yourself big” is a puffer fish who, when threatened, balloons to many times its original size.  But it’s pretty common throughout the animal kingdom from birds with ruffled feathers to cats with puffy Halloween tails.  The animals react to adversity by creating the illusion (or reality, in the case of the puffer fish) of substantially more size.

A bird making itself big

When it comes to your how you display yourself to prospective employers, you want to make yourself big.

Before offering some specific tips on how to do this, I’ll speak to the general philosophy and the rules of the employer-candidate matchmaking came.  And I mean that I’ll explain them in an honest, realpolitik sense.  But prior to doing that, I’ll digress briefly into a realpolitik explanation of, well, US politics. Read More