Stories about Software


Are There Actually Companies out There That Write Good Code?

Let’s do a reader question post today.  It’s been a while, huh?  I’m now answering different questions in different forums, so it can be hard to keep track of.  But this one fits squarely in the realm of the DaedTech blog.  So let’s do it.

This particular reader question is quite detailed, so I’m just going to post in verbatim without adding context.  It doesn’t really need it, in all of its detailed, semi-depressing glory.

Are Good Teams Writing Good Code a Myth?

The short version. Where are these mythical companies where people write code like you read about in blogs?

I’m in an odd place. While I’m no rock star I feel reasonably skilled. I left a soul-crushing Fortune 100 company for a consulting company a year ago and I’ve found that in one engagement after another I can quickly get up to speed and be productive. I write decent, unit-tested code that works, and it usually takes less time than I expect.

But, to put it bluntly, more often than not I find myself working on crap. Either the code rotted years ago and no one wants to improve it, or it’s in an early state of decay. Our Scrum is flaccid. I can still do some good work and occasionally enjoy it, but most days I sense a huge gap between what I do and what I can do. (I don’t think I’m Dunning-Kruger delusional. But who does?)

Sometimes I spend more time reading and practicing, but after a while I realize that I’ve become two developers: the one who works forty hours a week and the one whose hobby is practicing for nothing. I enjoy it, but not quite enough to do it just for the sake of doing it.

Are high-velocity agile teams who write great code nonexistent like unicorns or the real man Esquire tells me I’m supposed to be, or just needles in a haystack? Is there a different city I should move to?

Social Media Envy, But for Careers

Let’s get this out of the way up front.  Social media envy is the phenomenon where everyone puts a rosy spin on their lives for public consumption.  You see pictures of them at the Leaning Tower of Pisa or doing WTF-ever “hot yoga” is on a beach somewhere with 12 hard-bodied BFFs.  And then you look at the Cheetos crumbs on your shirt and on the couch from your day of binge-watching Married with Children reruns, and you wonder where you went so wrong.

This is the classic parallel to the discussion here, I suppose.  But I actually prefer a different one.  One that’s more career-focused, and right in my lane as a business owner.

Go listen to entrepreneurial podcasts.  And you hear endless success stories.  “Oh, yeah, here’s how I grew my T-shirt side hustle into an 8 figure business in 6 weeks.”  They’re cool to listen to, but it tends to be some of the most intentional survivorship bias imaginable, coupled with the same “best foot forward” attitude you see on social media.

As a business owner, this creates a sense that I’m constantly doing something badly wrong.  Why did I just work a 90 hour week and we’re somehow on track for less revenue than last month?  That doesn’t happen in the podcast, so there must be something deeply wrong with me.

All of this is to say that these good teams writing this good software probably have skeletons that you don’t perceive.  You are seeing, to some extent, unicorns and lantern jawed Esquire models.

Read More


Narrow Niche: When is Narrow Too Narrow?

I think I’m going to abandon the idea of “reader question Tuesday,” or any particular day.  I’ll keep writing reader questions, but, in keeping with my announcement of blogging for fun, I’ll just post them whatever day of the week I feel like.  So today, a Wednesday, let’s do a reader question about a narrow niche.

So, let’s get into it.  Here’s the reader question.  It’s in response to a point I made about how to build an audience.  Specifically, I said to find problems that people Google and offer solutions.  In response, a reader asked the following.

One of the issues I face when I think of writing anything on a topic is that I immediately find lots of other articles discussing the same thing. But if we write about a specific question we could have more [readers to ourselves].

However, how do we know if a question is common enough?

The Narrow Niche in Content and in Specializing

Let’s consider what he’s asking here.  Take a topic like, say, test driven development.  If you Google test driven development, it’ll seem like every imaginable topic has been covered.  But if you Google “cobol TDD,” the results quickly turn to the sound of crickets.  So write about TDD in Cobol and get readers, right?

Well, if there are any.  I say this because I have a number of tools that estimate the quantity of searches for a term in a given month.  And it appears that almost nobody is searching for posts about TDD with Cobol.  Hence the reader question.

How do we know if the question is a common enough search to be worth writing about?

Well, at the simplest, most tactical level, you could install the Keywords Everywhere plugin and see for yourself.  Here’s what Google shows me, for instance.

But that’s a pretty short-sighted answer.  The real question here is a deeper one.  How do you know if a series of topics is worth writing about, and how do you pick your focus for a blog.  And, for all of you free agents and aspiring free agents, how do you pick a specialty and competitive advantage?

You want a narrow niche, or you’re just a miscellaneous, generalist laborer.  But if you narrow it too much, you might have no audience or customers.

Read More


Value Prop Workshop: A “State Matrix Audit”

Alright, let’s try something new for this week’s reader question.  As regular readers know, I do a “you asked for it” column where I answer reader questions.  But lately, I’ve been getting a specific form of questions.

People ask for help with their free agent/moonlighting value propositions.  Sometimes, these requests even involve offering to pay me some sort of hourly consulting rate.

Well, since I don’t do B2C consulting, and since I do have a blog to write, I’ve decided to start using these requests as fodder for blog posts.  My hope is that some examples round out various posts that I do on the subject.

So here’s what I’ll do.  If you have nascent ideas on positioning and value propositions and want feedback, hit me up via email (erik at daedtech) or on Twitter or something.  Let me help with your positioning ideas.

I haven’t yet fully worked out the best format for this, obviously, but I figure we can iterate.

The Value Proposition

Alright, let’s get down to business.  Here’s the first idea for a value prop that a reader sent to me.

I sell State Matrix Audit to small dev teams.

My ideal client is a team that built an app which works most of the time. But the devs or the management want to be sure it is correct and has [high availability]. My contribution is to audit the tech stack and application code and provide a report – which sequences of failures would lead to error states (downtime, data loss, etc). Along with estimated recovery times, automation suggestions, stack tweaks, etc.

I have a great track record of doing just this as a salaried employee and am thinking about converting this into a consultancy company of one.

The request was some help in refining this value proposition.  So let’s dive into this.

There’s a Lot to Like Here

First of all, let me address the state of the current prospective value prop.  And, I think it’s a relatively strong one on its face.  There’s a lot to like here.

The first favorable thing is that this sits in the realm of road-mapping.  In a post I wrote some time back, I talk about four phases of problem solving.

  • Diagnosis of a problem.
  • Prescription of a therapy.
  • Application of the therapy.
  • Re-application/maintenance of the therapy.

The further left (up?) you move with this, the more you’re perceived as an expert.  This means higher rates, better treatment, more demand, and generally a better life.  One of the problems with miscellaneous app dev is that it tends to sit squarely in the third bucket (with the first two often given away for free and called “discovery.”)

We don’t have that problem here.  This is diagnosing and prescribing therapy.

There’s also a clear appeal to the people within the organization that hold the purse strings.  People in leadership have a definite interest in acquiring knowledge ahead of time when it comes to potential outages, errors, etc.  It also helps that you offer remediation.

This is the core of something good.

Read More


The Servant Leader and the Illusion of Corporate Empowerment

Last week, I answered a reader question about what scrum masters are worth, financially speaking.  This gave rise to another reader question that I’ll tackle this week, and it has to do with the idea of the so-called servant leader.

Now, I usually follow sort of a FIFO approach for reader questions.  But I’m making an exception here because several people asked me the same question in the immediate aftermath of that post.

What do you have against the term “servant leader,” anyway?

They asked that because I threw some shade at the term in last week’s post, using the words “loathe” and “detest” to describe my opinion of it.  So I suppose it’s fair for people to follow up asking what my deal is.  And I should probably respond.

Here be dragons, like this one, when you accept a counter offer.

The truth is, up until now, my revulsion had been mainly visceral and subconscious.  But the exercise of outlining this post has helped me put more thought out bullet points behind a better thesis.

First Things First: Servant Leader, The Accepted Definition

Before I go any further, let me briefly explain the term itself.  This section will be journalism, rather than op-ed, as I explain the term to anyone unfamiliar with it.

A servant leader is, tautologically, one who practices servant leadership.  And servant leadership was defined in an interesting essay back in 1970, I believe, by a gentleman named Robert Greenleaf.

This essay is categorically not about line management of knowledge workers in the enterprise, nor was it about the enterprise at all.

Instead, it was a journey through ethical, moral, and even metaphysical considerations contrasting Messianic (servant leader) leadership impulses with will-to-power (autocratic) leadership impulses.  Greenleaf does not explicitly mention God, but he touches on faith, parables, societal ethics, and even, without irony, concepts like telepathy.

Eventually, the corporate world discovered this and does what the corporate world does — adopted it as the inspiration for a management fad.  It interpreted the historical, Taylor-esque corporate pyramid as the autocratic force in the corporate world.

And it defined a new, Messianic analog in which management exists to empower, rather than boss around, the line level employees.

So fast forward to the present, and “servant leader” is an in-crowd signaling term that represents “manager as enabler” rather than “manager as dictator.”

Read More


Should Scrum Masters Make More than Software Developers?

It’s been a little while since I’ve done a reader question.  Let’s fix that today by examining a question that is simple in the asking and complex in the answering.  Should scrum masters make as much or more money than software developers?

The actual question was a little more nuanced, and it came from the Developer Hegemony Facebook group.

The numbers on this chart show that scrum masters could make as much as some senior level developers in Los Angeles.  I’d be curious do you guys think this is a “market distortion” brought on by the fact that the “MBAs” need a way to manage the “propeller heads” or do you really feel the market is accurately reflecting the true value a scrum master can bring to a team?

So let’s dig in.  But first, let’s make sure that everyone reading is up to speed.

What Is a Scrum Master, Anyway?

If you’re in the software world, you’ve probably heard the term “Scrum Master” before.  But let’s level-set with a definition, because for a lot of you reading this might have a fuzzy definition.  Let’s go back to first principles and snag a definition from the Scrum guide:

The Scrum Master is responsible for promoting and supporting Scrum as defined in the Scrum Guide. Scrum Masters do this by helping everyone understand Scrum theory, practices, rules, and values.

The Scrum Master is a servant-leader for the Scrum Team. The Scrum Master helps those outside the Scrum Team understand which of their interactions with the Scrum Team are helpful and which aren’t. The Scrum Master helps everyone change these interactions to maximize the value created by the Scrum Team.

First of all, this is sort of ingenious and fascinating from a meta perspective.  Scrum is a wildly successful approach sold by consultants to organizations.  It’s so successful that it’s created a job whose primary purpose is marketing the product being sold to the company.  I say this because job one is, apparently, “promoting and supporting Scrum.”  This would be like Microsoft convincing a .NET shop to create a job whose primary purpose was extolling the virtues of Microsoft products.

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

The Scrum Master in Practice

But I digress.  Apart from process evangelism, and the unfortunate use of a term that I personally detest (“servant leader”), the Scrum Master does provide some serious potential value.  They serve as sort of internal referees for the team, officiating collaboration and keeping it on track.  But, perhaps most importantly, they defend the team from outside distractions.  And that matters.

Of course, someone in a role like this will also develop situational dynamics with the team.  They’ll develop a knack for goosing development along, keeping people happy, and finding other ways to pitch in.

So think of Scrum Master as being sort of a process-specific hybrid of dev manager and project manager, but (most likely) without direct reports.  If you wrap your head around that concept, you can see a person whose value to the team could fluctuate pretty wildly based on myriad factors.

Read More