Stories about Software


8 Career Tips That Don’t Require Competence

A few weeks ago, I posted my spin on the MacLeod Hierarchy and promised to follow up with a post addressing the kind of vacuous, non-strategic career advice that is often given in Buzzfeed sorts of formats.  I started, then, to type this post, but realized that a bridge of sorts was needed.  So I indulged a digression wherein I described the corporate idealist that typically solicits and follows this sort of advice.  (That post also became pretty popular, with a number of requests to pre-order my upcoming book, which you can now check out here on leanpub).  Now, having described the corporate idealist and his willingness to overwork in exchange for useless status tokens, I can go on to be clearer about why so much of the career advice that you tend to hear is so, well, frankly, dumb.

I started to write this just from anecdotal experience, including various comical, ham-fisted self promotion attempts that I’ve watched over the years.  But then I thought it’d make more sense to go out, do some research, and synthesize my experience with actual advice offered in these “Linkbait for Idealist” articles.  This is a list of the ones that I read as reference material.  (As an aside, I also stumbled across a few that offered fairly sensible, decent advice for how to advance meaningfully, so it is actually possible to find advice that isn’t silly)


Read More


I Have a New Book

It’s been an interesting week with respect to my philosophy about the future of labor for knowledge workers. This post about corporate idealists and seniority got relatively popular and attracted around 10,000 readers. If you’re a regular follower of this blog, you know that one was just the latest in a series of a few posts I’ve done on this topic and you probably also know that these are coming from my work on a book. But this understandably wasn’t immediately clear to new readers, and so I got a smattering of inquiries as to where the book was for sale or whether it could be pre-ordered. I invited those folks to stay tuned or sign up for my mailing list, but alas I had nothing to offer.

A few days later, I noticed the hashtag #talkpay on Twitter, promoting the controversial but clearly forward-thinking idea that making salary information confidential is problematic in a variety of ways (specifically, in this case, that it facilitates gender and racial pay inequality). I’m not a salaried employee, so I couldn’t offer information about my salary, but it did prompt me to tweet this:

As you can see, this was a pretty popular sentiment, which jived with the reception my post about salary negotiation hacks received. There appears to be a great deal of appetite for reconsidering the knowledge worker’s relationship with the corporate structure.

To this end, I decided over the weekend to put an end to my large-batch approach to writing this book and include anyone that wants to come along for the ride right from the outset. I wrote my initial introduction to the book and published it on Leanpub (most of the material I’d been gathering is still scattered in a large document on my personal google drive). Beware, there’s not much there, but that will change. In the coming months, I’ll be writing to the book almost the way I would to a second blog. So, stay tuned.

The infant book is now officially on Leanpub and officially for sale. I have absolutely no idea what I’m doing when it comes to marketing or setting price, so please bear with me. It’s doubly confusing because Leanpub offers a lot of different options for differentiated pricing. The minimum price for the book is $1 and the suggested price is $4.99. The suggested price was just the default, and the minimum price is 1 cent more than the default for no particular reason other than selling things for 99 cents seems somehow hokey to me. I considered making the initial minimum price free, since there’s not much book there, but data about whether people would pay for the thing or not is a lot more meaningful if people have to pay for it. If I made it free, I might get a lot of spurious information (lessons learned from Lean Startup and 4 Hour Work Week).


Now, here’s the nuance. You can get the book for free. I wanted to be sure to offer that option to people that are regular fans and followers of the blog and will provide feedback as I write it along with support and shares. So I created a coupon that I’ll send out to the DaedTech mailing list as well as anyone who signs up for it from here forward. Also, I’m not going to lie. If you just email me, I’ll send you the coupon too, but I’d prefer to do it through the mailing list. For those of you on the mailing list, look for the coupon email in the next few days.

As I said, I have no idea what I’m doing when it comes to marketing, so I hope this makes sense and isn’t crazy. I wanted to err on the side of giving too much away if I erred in any direction. Weird as it sounds to say, I’ve never regretted erring on the side of giving away content. People seem to live life petrified that they’ll give something away for free when they could have wrung a few dollars out of it, but for me, the goodwill and engagement created by giving away content has paid far more dividends down the line than a few dollars.

So I cordially invite you to join me on this book journey. And, naturally, I invite you to invite as many of your friends and colleagues as you please! :) I’m excited and looking forward to this, and fascinated to see how it goes.


Carnival Cash: The Cult of Seniority

Alright, screw it. Let’s burn the boats. I said I wasn’t going to get into this until I released the book, but the idealist career advice post I had planned doesn’t make sense without a discussion of corporate seniority.  If you haven’t read this recent post, in which I outline the terms pictured below, you’ll probably want to read it for reference or this one might not make as much sense to you.  In this post, I’m going to defend a thesis that the best career advice I could offer to any knowledge worker, counter-intuitive though it may seem, would be to avoid earning seniority at a company.

In a prequel to this series I seem to be starting, I define the essential conundrum of the corporate pragmatist.  This post is going to focus on corporate idealists and the essential conundrum that they face, and it’s going to address a reader’s question while we’re at it.  That question provides a good lead-in to the context here.  Paraphrased, it was, “while going it alone may be good advice for seasoned, senior developers, shouldn’t junior developers hitch their wagons to a company for a while, giving a lot of extra effort and working their way up while learning the ropes?”  My simple, off-the-cuff response is, “oh, dear God, no!”  But the more nuanced response I’ll expand on here is, “that may be a strategy, but be very, very careful, because here be dragons.”


Read More


Defining The Corporate Hierarchy

Rites of Passage

Think back to being a kid, and you can probably remember a rather dubious rite of passage that occurred when you figured out that you weren’t going to be a sports player, lead singer, or Hollywood star.  You probably felt sad, but your parents and older siblings likely breathed sighs of relief that you’d never be explaining to people that a manual labor gig was your “day job.”  State lotteries notwithstanding, giving up on improbable dreams is considered by adults to be a sign of maturity in budding adults.

If you think about this, the easy message to hear is “you’re not going to be great, so give up.”  It’s depressing and oft-lamented by college kids having mini crises of identity, but it’s actually a more nuanced and pragmatic message, if a poorly communicated one.  It’s that the expected value of these vocations is horrendous.  For baseball players, actresses, and rock stars, there’s a one in a million chance that you’ll make ridiculous sums of money and a 999,999 in a million chance that you’ll make $4,000 per year and have half of it paid to you in beer nuts.  So the expected value of going into these positions is about a $4,200 per year salary and a handful of beer nuts.  So the message isn’t really “give up because you’ll never make it” but rather “steer clear because anything but meteoric success is impoverishing.”

The better play, we tell our children, is to head for the corporate world where the salaries range from minimum wage in the mailroom to tens of millions per year for CEOs of companies that create stock market volatility. Most importantly, you can find every salary in between.   So if you aim for the heights of CEO and fall short, mid-level manager making $140K per year isn’t a bad consolation prize. And so a funny thing happens. We consider it to be a rite of passage to abandon the delusion that you’ll be Michael Jordan, but we encourage the delusion that you’ll be Bill Gates until people are well into middle age.

That’s right, “the delusion that you’ll be Bill Gates.” You won’t be him. You won’t be a CEO, either, unless you pop for your state’s incorporation fee and give yourself that title. You’re about as likely to “work your way up” to the CEO’s office over the course of your career as any given child is to luck into being the next multi-platinum pop star. So, it’s a rather strange thing that we tsk-tsk children for indulging pie-in-the-sky fantasies past a certain age while we use nearly identical fantasies as the blueprint for modern industry. Kid wants to be Justin Bieber? Pff. Thirty-year-old wants to be Mark Zuckerburg? Keep working hard, kicking butt, and acing those performance reviews, and someday you’ll get there!

Pff. Read More


Please Direct all Inquiries to My Agent

I got an email from a recruiter not too long ago.  I suppose that’s not a surprise, given how I’ve made my living, but what might surprise you is that I usually respond to recruiters, and politely at that.  They’re human beings, trying to earn a living in a way that I don’t envy.  These days, my relatively stock reply is to thank them for reaching out, tell them that I’m pretty happy and thus pretty picky, and to offer to chat anyway, if they just want to network.  As a developer with some community presence, a serial freelancer, a consultant, and general entrepreneur, it never hurts to talk for a few minutes and make a connection.  This recruiter persisted, and said that, even if it wasn’t a current fit, something might make sense later.  Sure, why not?

Come Hear about this Depressing Opportunity!

When she called, we exchanged pleasantries and she asked what I’d been doing lately in a professional capacity.  I explained that the last 2 years had seen me as the CIO of a company, running an IT department, and then going off on my own to do freelance development, consulting, coaching, and a cadre of other activities.  At this point, she began to explain what life was like for line level devs at her company and asking what tech stack I preferred.  I sighed inwardly and answered that I’d been engaged in coaching/mentoring activities in Java and .NET recently, but that I didn’t care too much about language or framework specifics.  She then asked about my career goals, and I scratched my head and explained, honestly, that I was looking to generate enough passive income to work on passion projects.  She became a little skeptical and asked if I had recent development experience, clearly now concerned that whatever it was that I’d been doing might not qualify me to crank out reams of line-o-business code or whatever fate she had in mind for me.

The conversation had become deeply tiring to me at this point, and I steered it to a close relatively quickly by telling her I had no interest in line-level development positions unless they were freelance, B2B, part time sorts of engagements that weren’t very long in duration (and not bothering to mention that I’d probably sub-contract something like that since I don’t have an abundance of time).  She assured me that all of the positions she was hiring for were W2, full time positions but I should give her a call if I changed my mind and felt like being an architect or something, and that was that.

I hung up the phone, sort of depressed.  Honestly, I wished I’d never taken the call more profoundly than if I’d interviewed for some plum gig and been rejected.  This just felt so… pointless.  I couldn’t really put my finger on why, and indeed, it took my subconscious some time to kick into useful mode and deposit it coherently into my active brain.DevOpportunityCost

Read More


The Tech Lead Role: Lessons from Ancient Rome


Julius Caesar, Mark Antony, and Cassius walk into a bar, and the bartender asks them what they’ll have. “3 beers!” Caesar proclaims. “2 beers,” whispers Cassius.


Because I’m not a historian, I have the luxury of making spurious historical arguments that suit my purpose. I can even bring in Star Wars if I want to. For those of you only passingly familiar with the story of Caesar, he was the pivotal, popular, and controversial figure around which the Roman Republic became the Roman Empire. He was also the obvious inspiration for the scene in which Chancellor Palpatine becomes Emperor Palpatine, causing Padme to remark, “so this is how liberty dies… with thunderous applause.” Caesar was a popular and extraordinary general that imposed his will on the increasingly ineffectual Roman Republic, essentially replacing it with a more unified and centralized imperial government. That is, until his friends in the bar assassinated him in the name of “liberty.”

Caligula Read More


Employers: Put Your Money where Your Mouth Is

I had an interesting exchange on Twitter a couple of days ago with Dave Schinkel. Here’s the most salient tweet:

Read More


Lifting the Curse of Knowledge

As most of you know, one of the biggest anti-patterns when you’re instantiating program slots is to forget to set CanRemoveOverride to true. But what you probably didn’t know was that the SlotConfig is — Just kidding. I lifted this from a post I wrote almost 3 years ago about legacy code I was working with then. I have little more idea than you do what any of that means.

Read More


Performance Reviews Simplified

If you were to ask people in the corporate world about the most significant moments of their careers, a lot of them would probably talk about annual performance reviews. That’s a curious thing. Anyone who talks about performance reviews when asked this question is not talking about an idea they had that saved the company hundreds of thousands of dollars or about rescuing a project that had gone sideways. Instead, their careers were defined sitting in a room with their managers, going through a worksheet that purports to address how well they’ve matched up against the company’s ‘values.’


Read More


Programmer IS A Career Path, Thank You

If you’re a programmer, think back for a moment to the first time you hear the career question. You know the one I mean, even if you don’t recognize it as the question: “do you see yourself on the architect track or the management track?” Caught off guard, you panic momentarily as you feel that you have about 5 seconds to decide whether your long term future involves lots of UML diagrams and flow charts or whether it involves lots of Power Point presentations and demanding TPS reports from underlings. If you’re like most, and you were to answer honestly, you’d probably say, “neither, really, because I kind of like writing code.” But you don’t give that answer (I never did) because you’d effectively be responding to a career development question with, “I have no interest in career development.” But let’s put a pin in that for a moment.

Imagine a kid going to law school and graduating to go work at a law firm somewhere as an associate, doing whatever it is that associates do. Now imagine a conversation where a partner at the firm pulls this associate aside and says, “so, have you thought about your future? Do you see yourself as more of a partner in the firm, continuing to practice law, or do you see yourself as more of a lawyer-manager?” I imagine the response would be, “what on Earth are you talking about? I’m a lawyer. I want to practice law and be a partner. What else is there?”

Why is it okay (or would it be okay, since this conversation would never actually take place) for an ambitious lawyer to say, “I just want to be a lawyer” and not for an ambitious programmer to say, “I just want to be a programmer?” For the purposes of this post, I’m going to leave that question as rhetorical one. I’m actually going to answer it at length in the book that I’m starting to write, but until the publication date, I’ll leave the why as an exercise for the reader and just posit that it should also be okay for a programmer to say this.

I’d like to see a culture change, and I think it starts with our current generation of programmers. We need to make it okay to say, “I just want to be a programmer.” Right now, the only option is to ‘graduate’ from programming because failure to do so is widely construed as failure to advance in your career. If you become a line manager (or the diet version, project manager), you stop writing code and become the boss. If you become an architect, you kinda-sort-usually-mostly stop writing code and kinda-sort-sometimes-maybe become sorta like a boss. But however you slice it, organizational power and writing code have historically been mutually exclusive. You can play around with teh codez early in your career, but sooner or later, you have to grow up, take your hands off the keyboard, and become a boss. You have to graduate or risk being the metaphorical ‘drop-out’ with the title “Super Principal Fellow Engineer,” who looks great on paper but is generally ignored or smiled at indulgently.


That’s going to change sooner or later. As someone who has looked for work and looked to hire pretty steadily for a number of years, I’ve witnessed an increase in developer salary that is both sharp and sustained. As the average software developer’s wage starts to creep into 6 figure territory, it’s simply not possible to keep the pecking order intact by paying overhead personnel more and more ungodly sums of money. Just as it makes no sense for a law firm billing out at $500/hour to hire a “lawyer manager” as a 1 mil/year cost center, it eventually won’t make sense to pay a quarter million a year to a pointy-hair, when Scrum and basic market forces both offer the allure of a self-managed team. In both cases, overhead work still happens, but it reports to the talent rather than ordering it around and demanding status reports.

How quickly it changes is up to us, though. We can change this culture, and we can change it pretty quickly, I think. The first thing you can do is fix it in your mind that being an “architect” or “project manager” or “manager” isn’t a graduation and it isn’t a rite of passage. It’s an agreement to do something different than what you’re doing now. Nothing more, nothing less. The second thing you can do is vote with your feet.

I’m not advising that you do anything drastic, but rather that you take stock of your circumstances. Are you at an organization where programming is clearly viewed as how you bide time until you get promoted to a boss’s chair? If so, consider adding a new criterion to your next job search. Look for organizations that feature prominent industry figures, such as conference speakers, authors, or people with some “tech celebrity.” These are the organizations that are the “early adopters” of the lawyer/partner dynamic of “best at the trade calls the shots.” If you hook up with these organizations, nobody is going to ask you what “track” you see taking you out of programming. They’ll assume that you’re there because you’re deadly serious about programming as a profession, interested in learning from the best, and interested in subsequently becoming the best.

Sooner or later, we’ll hit some kind of critical mass with this approach. My hope for all of our sake is that it’s sooner. Because the sooner we hit critical mass, the sooner you’ll stop having to explain that doing what you love wasn’t a backup plan for failing to rise in the ranks.

Acknowledgements | Contact | About | Social Media