DaedTech

Stories about Software

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

Rethinking Retirement, Efficiencer Style

Today, I offer post number 7 for Developer Hegemony week.  I had every intention of doing 9 days of posts in a row leading up to launch, but I wound up spending yesterday relaxing and recuperating (not a lot of Sunday traffic anyway).  I just finished up an engagement and had been on the road for weeks straight, finally getting home Friday night.  So I took a day off.

The good news is that even with me taking it easy yesterday, the internet did not.  The Thunderclap campaign reached its goal!  This means that I will now definitely give away 3 free copies of my book.  So signing up now gives you better odds than ever.  

A post about rethinking retirement might seem odd, but I have a method to this madness.  As you contemplate your working career, retirement may not come immediately to mind.  But it certainly looms large over decisions you make during your career, in much the same way that the college admissions process tends to loom large over high school.  You contribute to 401Ks, look at the compound effect of salary negotiations and the like, all with an eye toward retirement.

So let’s dive into the mechanics of normal wage work and retirement a bit today.  But first, I’ll lead in with a quick rationale for what brought this to mind.

Hourly Wage for Book Writing

Because I have some varied business interests, I tend to get politely restrained questions from people with salaried jobs as an exclusive source of income.  People regard direct questions about income quantity as gauche, so they kind of ask how things work in the abstract.  They beat around the bush a bit.

For this reason, I find myself speaking at times to a conceptual hourly wage for, say, writing a book or making a Pluralsight course.  I find this understandable, since wage employees tend to reason about earning income as if all income were wage income.  Understandable, yes.  But it misses the point.  And my explanation for why ties in with retirement and the idea of building what I’ll call “business properties.”

Retirement from Wage Earning, Simply Explained

Okay, so back to retirement.  I’ll start with an oversimplified version of how that works.  Specifically, let’s forget for the moment about any concept of social security, pensions, or investing in markets.  A wage earner spends most of his adult life collecting a paycheck.  He uses some percentage of that paycheck and sets some percentage aside, stuffing it into his mattress.  He continues to do this until he has more stuffed into his mattress than he’ll need before he dies.  At this point, he retires.

For the sake of easy math, let’s assume that this hypothetical person averages $100K per year as a salary throughout his career.  Let’s say that he decides he can live on $50K per year in retirement and that he saves 10% of his salary throughout his life.  If he starts working at 20 and retires at 70, he will have set aside a total of $500K.  This will allow him to live from 70 to 80 before he runs out of money.  So in a strange case of somewhat perverse incentives, he should hope not to live longer than 80 (or he should continue working).

Read More

By

The Efficiencer’s Guide: Getting Started

You thought Developer Hegemony Week stopped on Friday?  Nah.  Today I give you post 6.  It contains somewhat lighter fare, since it’s the weekend, but the show must go on.  We’re doing really well on the Thunderclap campaign — 83% as of this writing.  But that means I still need 17 more people to do the raffle.  So, please help me out and spend a few seconds signing up!

In the book, I coined this term, Efficiencer.  I also talked about it on the blog this week.  Today, I’d like to offer what I’ll call the efficiencer’s guide (or, at least, the start of it).  I’ve called out a number of idealized behaviors and philosophies, but haven’t given a lot of practical field advice.

For the purposes of the efficiencer’s guide, I’ll assume you work as a salaried software developer in some organization.  This probably describes most of my audience, and it makes for a natural starting point in this journey.  If you’re already a free agent or you don’t write software, don’t worry.  You can still get some info here.  I’m going to include reading materials and links, so I have something for everyone.

Defining Efficiencer

First things first.  I won’t ask you to go do a bunch of homework.  Instead, I’ll define this term again, off the cuff.  I’ve described it in the book, but I invite you all to participate alongside me in kind of an evolutionary definition of the term.

I think of software developers (or engineers or programmers or whatever) as people who collect a salary to write code.  I feel fairly confident that this definition has blown exactly 0 of your minds.  But consider it maybe a bit more literally.  You collect a salary to code… and, that’s it.

Therefore, you don’t worry about business considerations like sales or marketing.  You generally don’t participate in discussions about why you write the code that you do.  Nope, you just show up, get a spec or something, fire up your IDE, and get to work.

The efficiencer, on the other hand, does ask why.  In fact, the efficiencer doesn’t do any work without understanding and approving of the why.  You see, she doesn’t count herself a coder but an automation professional.  She specializes in making you more efficient.  That might mean writing some code, or it might just mean sending you a link to a COTS product that already does what you want.  She doesn’t accept specs or story cards or requirements or anything like that.  She listens to your business goals around cutting cost or increasing revenue, and she decides how that will happen.

Read More

By

Software Craftsmanship is Good Business

Tonight, I logged into my site and saw a picture of someone’s colon, compliments of everyone’s favorite NSFW advertising engine, Disqus.  (Read more about this here).  Enough is enough, so I switched commenting engines.  Please bear with me and let me know if you have issues with comments.

On a less aggravating note, please enjoy post number 4 of Developer Hegemony week!  Pre-launch activities are progressing nicely, and I’m looking forward to the launch.  If you’d like a free paperback copy of the book, remember to sign up for the Thunderclap.IT campaign so that we can get to the sharing threshold — we’re halfway there, but I still need your help.  It only takes a second.

I feel as though I’d like to balance the scales a bit.  Lately, I’ve made a lot of realpolitik posts about how organizations cast software developers as grunts.  This is true, but also depressing.  So let’s talk about the uplifting alignment between well reasoned code and success in career and business.

Raw Programmer Skill and Diminishing Marginal Returns

First of all, I should point out that I talk a good bit about the diminishing marginal returns of programming skill, both in posts and in Developer Hegemony.  And I stand by that.  To understand why, I invite you to do a thought exercise with me.

I’m pretty sure that most of you programmers reading, if you were so inclined, could go out and find a new job within a few weeks.  And, what’s more, you could probably negotiate a 5% pay increase to switch.  Did you suddenly become 5% better at programming?  Or would you acknowledge that programmer pay doesn’t necessarily correlate simply with programmer skill?

The industry isn’t meritocratic.  Of course, the industry is also not anti-meritocratic.  Rather, if programmer skill and programmer pay had a mutual Facebook relationship status, they would choose it’s complicated.

I would further reinforce the point about diminishing returns.  Go from zero to decent programmer and you might go from 30K per year for non-degreed work to $90K per year for programming.  Go from decent to highly skilled, and you can climb to $120K, which feels less life-changing.  Beyond $120K, your increased skills help you not a lick at puncturing the software developer’s glass ceiling.  Diminishing returns on skill investment.

Good vs Valuable

But don’t despair.  Winning programming “contests” and algorithm trivia jousts won’t pay off, but that doesn’t mean that you can’t make your software career pay off.  You just need to understand what businesses value.

So far, all we’ve done is figure out what they don’t value.  Namely, they don’t value journeyman idealist pissing contests.  The company will say, “it’s great that you can write a compiler on the back of a napkin and have it work flawlessly the first time it’s transcribed and run, but I only want that within the Software Engineer IV salary band.”  The company doesn’t value this prodigious industry cred the way your peers do.

And why should they?  If the company sells cable modems, how does that compiler help them?  “I can see that you’re quite good, but we don’t find this valuable.”

The trick then becomes establishing yourself as valuable.  And, while valuable and good have a deeply intertwined relationship, you cannot simply interchange them.  I submit that the software craftsmanship ideal offers you a ready-made playbook for turning good into valuable.

Read More

By

A Closer Look at the Efficiencer Firm

For Day 3 of Developer Hegemony Week, I’m going to up the stakes on the Thunderclap.IT campaign.  If you sign up, you could win a free paperback copy of the book.  I’m going to raffle off three books at random for everyone that signs up, but only if we meet the goal of 100 participants.  We’re more than a third of the way there, but still have a long way to go.

For Monday morning’s post, I introduced the efficiencer in detail.  But I took an admittedly philosophical tack in that post, offering more rhetoric than specifics.  Today, I’d like go get specific instead.  I want to talk about more pragmatically about the efficiencer firm.

In order to do that, I’m going to start by talking about inefficiency.  After all, as efficiencers, we ought to have a keen eye for such things.

My Stint Making Hearing Aid Fitting Software

Years ago, I went to work for a company that manufactured hearing aids.  This included several brands under the umbrella of the parent corporation, and all of them had international distribution networks.  So, at the end of the day, the company does everything needed for the manufacture and global distribution of hearing aids.

Operationally, this includes something you might not consider at first blush.  Hearing aids need something called fitting software.  The people responsible for prescribing hearing aids to the population, audiologists, use this software to program the devices.  This includes configuring different gains at different frequencies and setting up so-called “programs” that wearers can use in different environments.  For instance, you might have a “restaurant” program with a much different array of settings than a “home watching TV” program.

Since you didn’t come here to learn the particulars of the hearing aid business, I won’t keep going with further detail.  But I could.  A lot.  As I would learn during my tenure there, developer in this space face a steep learning curve.  The complex nature of sound and gains mixes with the bureaucratic world of medical devices and regulations for a rich tapestry of arcane complexity.  Months passed before I got my bearings there.

Read More