DaedTech

Stories about Software

By

Fight or Flight

As software developers, or, more broadly, as techies, we are extremely fortunate. So many people want to give us money and jobs that we find it annoying. Let that sink in for a moment. A serious first world problem that we all share is how many times per week people cold call us to ask us to interview for other jobs. That’s our strange reality and, as someone who graduated with a CS degree right into the teeth of the dotcom bubble bursting, I can tell you that it isn’t the worst problem that one could have. Still, it’s shaped our collective outlook on work and, in my opinion, is pushing us toward free agency in which developers eventually stop having even the pretense of long associations with companies.

But what if you don’t want free agency? What if you don’t want to deal with the hassle of resumes and interviews involving silly brain teasers and other indignities? You can just ignore the recruiters in the short term, but is the writing on the wall for complete deterioration of the traditional association between developers and (non-consultancy) employers? I’ll get back to that.

My girlfriend told me a story once about a guy she had dated years earlier. They were driving down a highway when they came upon a guy broken down and with a flat on the side of the road. He looked like he could use some help. The ex-boyfriend, apparently in an inexplicably foul mood, took note of this situation, leaned out his window while driving by and gestured obscenely at this hapless and now bewildered motorist who was doing absolutely nothing but having a bit of bad luck. This random act of meanness, my girlfriend told me, was the exact moment at which she knew the relationship wouldn’t work out. They dated for a bit after that, but apparently from then on it was pretty much a matter of running out the clock until the inevitable, awkward conversation. It wasn’t as if in that moment she thought “that’s it, this is over” nor was that by any stretch the only problem with the relationship, but it became a defining Moment — a catalyst.

I think there’s a Moment like this in every job that you leave: being passed over for a big promotion, hearing an official announcement that you’re going to be switching everything to VB6, being verbally abused by a superior in a group setting, etc. It’s The Moment at which you know that it’s over and the rest is just details and formalities. I can think back to every job that I’ve had and remember this Moment (or perhaps 2-3 viable contenders) with amazing clarity. In this day and age, few programmers practically think that they’ll be somewhere until retirement, but the idea of leaving the company is some nebulous, abstract, future concept when they start, and it remains that way until The Moment. And then it becomes clear, concrete, and, while still in the future, not far off. Your departure is no longer a class in source code but an instantiated object in process memory just waiting to be triggered and exhibit real, actual behavior.

But what if you don’t want this? What if you’re not interested in moving around and don’t want a long list of one year stays on your resume? After all, if you’re a job-hopper, The Moment is like an old friend beckoning you onto a greener pasture. But if you’re content and more of a permanent worker type, The Moment is probably depressing and terrifying. So how do you avoid it?

Well I certainly can’t give you anything bulletproof, but I can sum it up with a simple mantra that you can hang onto when you’re contemplating taking a job: find a place worth fighting for. Maybe you’re a big advocate of green technologies and you find a job working for a solar panel manufacturing company. Maybe you really like Legos and you go work for Lego. Maybe you go work somewhere that all of your friends work and you’re invested in the camaraderie. Whatever the case may be, you have to find a reason that you’d fight to stay there. If you have that, then The Moment becomes one of galvanization and thrown gauntlets (within reason — if it’s something like harassment or a pay cut, all bets are off) rather than the centerpiece of a future story about why you changed jobs, anyway. When those Moments come, like a random driver with rage issues — and they will come — it’s fight or flight. And if you’re not willing to fight, it’s going to be flight.

By

Notes on Job Hopping Part 4: Free Agency

I’ve been very busy of late, so I had let this series slip a bit by the wayside. But I was taking a break from recording my Pluralsight course to sort of mindlessly read tweets when I noticed this one:

 

Juxtapositions as Outrage Factories

There is a fine line in life when it comes to juxtapositions. On one side of the line is genuine profundity, and on the other side is schmaltzy non sequitur and/or demagoguery. And I’d argue that the line is not entirely subjective, as it might seem. There is a Tupac Shakur lyric that is sort of raw and powerful that says, “they’ve got money for wars but can’t feed the poor.” If you’re a bleeding heart type, you’ll probably agree wholeheartedly. If you’re more of a pragmatist, you might say, “well, there are degrees of poverty and need, and what good is feeding people if some foreign entity is lobbing cruise missiles at them?” But you have to admit that he’s comparing apples to apples, so to speak. There is some finite pool of money, and some of that money is being spent on blowing one another up instead of feeding people that are hungry.

On the other side of this line of juxtaposition lie tiresome canards like “they can send a man to the moon but they can’t make a computer that doesn’t crash?!?” Yeah, because those are the same engineering problem. Or how about “a country can’t run a fiscal deficit because I don’t run my own budget that way at home with the groceries and the car payments!” Right, because macroeconomics is like your budget spreadsheet. And you also have the ability to print money to pay off your debts.

Back to the tweet. I think it sits right on the juxtaposition line. On the one hand, it seems to be sort of garden-variety line-employee populism (“pointy-haired bosses bad, knowledge workers good”) that ignores an important difference between athlete-coach and employee-manager — namely the inverted money and fame related power dynamic of athletes and coaches as compared to line employees and managers. LeBron James, not Erik Spoelstra, puts butts in seats and gets paid a king’s ransom, even if Spoelstra does theoretically call the shots. But it does raise an interesting question that isn’t the one that’s literally being asked (the answer to the tweet’s question being easy: managers make more money, have offices and get to boss people around).

Overvaluing Management

The interesting question that is raised is “why are line managers and other overhead personnel overvalued?” Let me say here that I’m not going to spend this post talking in much detail about that. I poured a lot of time and thought into it for the concluding part of my Expert Beginner E-Book, so I’ll summarize here by saying that there is a bit of a societal pyramid scheme that occurs when it comes to work. We collectively agree on a system where 20-somethings that are new to the workforce do all the grunt work for little pay and that, over the course of our careers, we accumulate vacation time, bigger salaries, larger desks and offices, and the ‘right’ to tell others what to do rather than doing it ourselves. We pat ourselves on the back for ‘earning’ it, but often that assessment is pretty questionable. It’s more a matter of waiting our turn.

Managers are overvalued in organizations because of a collective endorsement of the same kind of reasoning that drives social security — disproportionate dues paying now, followed by disproportionate dues receiving later. The entry level folks tolerate overvalued mid-level management either because they have no choice or because they someday want to be that overvalued mid-level management which is, of course, a fairly sweet deal once you get into the club.

But the overvaluation of management goes deeper than that and finds its real roots in the undervaluation of non-management. In other words, if the Product X Team, consisting of five knowledge workers and a line manager, delivers a spectacular and wildly profitable success, is this owed to the team or to the manager? I’d say that, in a very real way, this is comparable to sports teams in that a good manager will account for some variance and some wins here and there by managing egos, strategizing and motivating, but at the end of the day no one is going to manage a hopelessly underqualified team into serious contention. But, unlike sports teams, the spotlight in the corporate world often falls onto the manager because the manager is in a position to seize it and because it’s simply easier to give credit to the “leader” than to parcel it out in equal portions to the team.

So why do young athletes aspire to be LeBron James and not Eric Spoelstra while young academics want to be the boss rather than the inventor? Because Steve Jobs. Because Warren Buffet. Because bosses, like athletes, represent the competitive pinnacle. It’s really the same thing in the end — a desire to dominate. Athletes, CEOs and, to a lesser extent, line managers, have gotten to where they are by defeating foes in direct competition, and that’s appealing to children in an environment where peer competition is natural and amplified (grade school).

Positive Sum Makers

The overvaluation of managers (and athletes, actually) is a zero-sum outlook on the world. You become a success by competing against others and causing them to fail. There are winners and losers and the glory lies in being a winner in this game. But there is another avenue, which is that taken by who I’d call the Inventor or the Maker — the positive sum player. Makers (and I use this umbrella to describe the overwhelming majority of line-level programmers as well as engineers and other people who produce work product) shine by making the world a better place for all. They transmute their creativity and ambition into products and services that improve the standard of living and better people’s lives. There doesn’t need to be a loser in this game for the Maker to be a winner.

Make no mistake — there is certainly competition among Makers. But it is a healthy, positive sum competition. They compete against one another and themselves to invent great things, to do it quickly, and to do it well. I may want to be the best programmer on earth and that desire may drive me to some late nights hitting the books and cranking out code, but I can produce helpful things without “defeating” some other programmer in some kind of game or competition for position.

The interplay between Makers and what I’ll call Competitors has historically been an uneasy balance. In the time before widespread knowledge workers in corporations, you had the mad-scientist/inventor archetype as your Makers: the Edisons and Teslas of the world. Then with the technological growth of the 20th century, the Makers were kind of funneled into working as Organization Man where they went from being valued professionals in the 50s to eventually being Dilbert in more recent times — toiling under the inept stewardship of a pointy haired boss that also happened to be a marginally victorious Competitor.

Makers were in a difficult position, as they really just wanted to make. Working your way up the corporate ladder as Competitor requires stopping Making and engaging in zero sum gamesmanship that doesn’t interest that archetype, but not doing so meant obeying the micromanaging and often incompetent Competitors and having the fun sucked out of the act of making. Finding organizations that got this right has become so rare that places like Valve and Github are the stuff of legends. Historically, Makers could try going off on their own, but that meant giving up a lot of the Making as well, since they’d then have to worry about their own sales, marketing, accounting, etc.

But the Makers are going to have the last laugh.

“Developernomics”

For Makers that happen to be software developers, times are pretty good, and they’ve been pretty good for years. Most developers complain about how annoying it is that recruiters won’t stop calling them to try to get them to go to interviews for jobs that will pay them more money. Let me repeat that. Developers complain that companies won’t leave them alone when it comes to offering them work. The reason that this is happening is that the demand for programming is absolutely exploding as we transition into a world where the juggernaut of endless automation has finally lurched up to ramming speed and is methodically wiping out other types of jobs at an unbelievable rate. Quite simply, they days of any company not being a “software company” are drawing to a close, as described in an article entitled “Developernomics.

Flush with opportunities, developer job hopping is accelerating rapidly. Companies are ceasing to bother with asking developers why their resumes feature so much job hopping — they’re so hard up for programmers that they don’t bother to ask. More and more, developers are seizing on any excuse or any annoyance to fly the coop and go work on something else. This might be organizational stupidities, but it also might simply be something like “I’m tired of C# and want to try out Ruby for a while.” The mobility within the job market for developers is pretty much unprecedented for a Maker position.

In fact, it’s starting to look a lot more like another type of profession that is also not zero sum: high skill jobs for which there is virtually inelastic demand. Two that come to mind are doctors and lawyers. As long as the world has sick people it needs doctors, and as long as there are disputes (and lawyers making laws requiring lawyers for things), it needs lawyers (at least until the automation juggernaut automates both of these professions — I put an upper bound of 50 years on the full automation of the medical profession making human doctors obsolete). Both doctors and lawyers have a different sort of work model than most Competitors and Makers. They get a lot of education and then they start their own practices, band together in small groups, or join a large existing practice. But whichever option they choose, their affiliations tend to be very fluid and their ability to work for themselves almost a given, if they so choose.

Let’s stop for a second now. These high skill knowledge workers are highly in demand, have a great deal of fluidity in their working relationships and association, and often work for themselves. Doesn’t that sound familiar? Doesn’t it sound like software these days where some people freelance, some people bounce around among startups, and others just job hop between larger corporations to get themselves promoted and paid quickly? And doesn’t it seem like more and more developers are working at shops that are just software development consultancies? Isn’t it starting to seem like the question shouldn’t be “is job hopping okay,” but rather be “for how much longer are we going to bother with typical corporate jobs from which to hop?”

I think the handwriting is on the wall for the future of software development. I think that we’re careening toward a future where developers working for corporations for any length of time is such an anachronism that it isn’t considered a serious possibility. Developers aren’t going to job hop at all because they won’t have traditional corporate jobs. Due to increased globalization, networking, and interconnectivity, developers have sort of a de facto guild — their association with the global network of developers. Promotion, marketing, sales, and even some other aspects of managing one’s own consultancies are collectivized to a degree as developers have a network of friends to help them with such things. They often become moot points because who needs to bother with sales and marketing when business is banging down your door already?

So to return to the sports world and metaphor that started all of this, I’d say the future of developers doesn’t involve an ebb in “job hopping” but rather the opposite: a codified establishment of extreme job hopping as the status quo. Developers are going to become free agents like athletes who drift from team to team as their title aspirations and salary negotiations dictate. Like mercenary athletes, developers are not especially interested in things like culture, domain knowledge, corporate slogans and mission statements and all of that company man, corporate identity stuff. They’re interested in challenging projects, learning, making a few bucks and heading out to the next gig. In a previous post in this series, I had said the answer to the question “should I job hop” is “probably.” In the future, I think the answer to this question for developers will be another question: “uh, as opposed to what?”

By

I’m Hiring, So Here’s a Job Description

Let me start off by saying that I actually want to hire someone. This isn’t a drill nor is it some kind of hypothetical exercise. I have a real, actual need for .NET software developers and if you are interested in such a job and think that it could be a good fit, please let me know (more details to follow). I think that the pool of people that keeps up with software blogs is the best pool of people there is from which to draw candidates, and I’d go ahead and extend this to the people who run in your circles as well. If you care enough to follow blogs about software, you’re probably the kind of person with whom I’d like to work.

So, the first thing I did was to go and see what was going on at CareerBuilder, Dice, et al. so that I could get some ideas for writing up a job description. I was literally on the second one when I remembered how awkward and silly I find most job descriptions. This bad boy was what confronted me:

Jobs

I was reminded of Blazing Saddles.

Hedley: Qulifications?
Company: NoSQL, Communication Skills, Scala, Communication Skills
Hedley: You said “communication skills” twice.
Company: I like communication skills.

But notwithstanding the double-ups and rambling nature of this and the fact that probably only Horse Recruiter could write it, the ideal candidate has, by my quick count, 27 line items of 1 or more properties. That’s quite a wish list. I’d rather describe what I need like a human being talking to another human being. And, because I’d rather talk like a human being to other human beings, what I’ll start off by doing is describing what we have to offer first, and then what I’m asking in exchange. I think “what we offer” is far too frequently overlooked, and omitting it creates the impression that I think I’m on the Princeton admissions panel for undergraduates, rather than a guy on a team that needs to grow to handle the amount of work we have.

What We Are and What We Offer

Given that this is my personal blog and not affiliated with my 9-5 work, I’m not going to go into a lot of detail about the company, per se. I’ll supply that detail if requested, and you can always look at my Linked In profile — it’s no secret what I do or for whom. Instead, I’ll talk about the group and list out what I think makes it appealing.

We’re a small, agile team and a close knit group. We work exclusively in the .NET space, with a mix of database, application and client side code. Working with us, you would definitely touch Winforms, ASP Webforms, and ASP MVC. We are actively porting Winforms/Webforms functionality to an MVC application. Here are some benefits to working here, as I see them:

  • We follow Scrum (not Scrum-but — actual Scrum)
  • We have MSDN licenses, and we upgrade to the latest developer tools as they are released.
  • You will have creative freedom — we’re too busy for micromanagement.
  • There are definitely growth opportunities for those of you looking to go from developer to senior developer or senior developer to architect.
  • We have nice tooling for Visual Studio development, including NCrunch and CodeRush.
  • Everyone on the team gets a Pluralsight subscription because we believe in the value of personal growth and development.
  • Along the same lines, we have bi-weekly lunch and learns.
  • We have core hours and you can flex your schedule around them.
  • There is no bureaucracy here.  You will never have to write 6 design documents to be approved by 4 committees before you start writing useful code.
  • We practice continuous integration and deployment (the latter to a staging environment)
  • We are at a 10.5 on the Joel Test and climbing.
  • Not software related, but we’re located in Chicago within walking distance from a train stop.

Who Would Be a Good Fit?

Let me preface this with the important distinction that there is no “ideal software engineer” and there is no concept of “good enough” or anything silly like that. We need to ship code and do it quickly and well, and I’m going to look at a bunch of resumes and talk to a bunch of people and then I’m going to take a leap of faith on a person or couple of people that I think will best compliment the team in its goal of shipping code. That’s really all there is to it. You may be the best developer of all time, and I might get this process and wrong and whiff on you as a candidate, and it’s no shortcoming of yours if that happens. I will certainly try my best not to do that, however.

Senior Software Engineer

So, I will now describe the what I think would make someone the best fit for our group. First of all, I’ll describe what we’re looking for in terms of a more experienced, “senior level” candidate, and I’ll describe it quite simply in terms of what I’d be thrilled if I had someone reporting to me doing and doing well.

  • Contribute immediately to a set of different .NET solutions.
  • Can explain sophisticated concepts to less experienced team members, such as generics, lambda expressions, reflection, closures, etc.
  • Lead by example in terms of writing clean code and explaining principles of writing clean code to other developers.
  • Understand Software Craftsmanship principles like SOLID, unit testing/TDD, good abstractions, DRY, etc, well enough to explain to less experienced developers.
  • Versed in different architectural patterns, such as layered and “onion” architectures, as well as Domain Driven Design (DDD).
  • Taking responsibility for and improving our build, ALM setup, source control policies (TFS), and deployment procedures.  We have a good start, but there’s so much more we can do!
  • Can write ASP and the C# to support it in Webforms or MVC, but prefers MVC philosophically.
  • Understands client-server architecture and how to work within that paradigm well enough to explain it to developers that don’t.
  • Is comfortable with or can quickly get up to speed with REST web services and SOAP services, if the latter is necessary.
  • Is comfortable with SQL Server tables, schema, views, and stored procedures.
  • Knows and likes Entity Framework or is willing to pick it up quickly.

Software Engineer (Web)

The other profile of a candidate that I’ll describe is a software engineer with a web background. Again, same description context — if I had someone doing these things for me, I’d be very happy.

  • Come in and immediately start on work that’s piled up with CSS and client-side scripting (jQuery, Javascript) that improves the site experience for some of our sites.
  • Understands C# and server side coding well enough to implement run of the mill features with normal language constructs without asking for help.
  • Good at hunting down and isolating issues that may crop up when there are lots of moving parts.
  • Is aware of or is willing to learn about and explain various model binding paradigms both on the server (MVC) and client (various javascript frameworks).
  • Has a flare for design and could help occasionally with custom branding and the UX of websites.
  • Not a huge fan of Winforms, but willing to roll up your sleeves and get dirty if the team needs help with legacy desktop applications on some sprints.
  • Up for picking up and running with a more specialized skill to help out, such as working with T4 templates, customizing TFS workflows, experimenting with and leveraging something like Signal R, etc.
  • Some experience with or else interest in learning unit testing/TDD as well as clean coding/decoupling practices in general.

Logistical Details and Whatnot

So therein are the details of what I’m looking for. It seems like I’m flying in the face of billions of job ads and thousands of horse recruiters with this approach, and far better minds than mine have probably dedicated a lot of consideration to how to solicit candidates to come interview and how to put together the right set of questions about O notation runtime of quicksort and whatnot. But still, I feel like there’s something humanizing to this approach: this is what we have to offer, this is what would benefit our group, and perhaps we could work together.

In terms of location, I prefer to consider people local to the Chicagoland area or those who are willing to relocate here, but telecommute situations are not ipso facto dealbreakers. If you’re interested in one of these positions or someone you know is interested, please send me or have them send me an email at erik at daedtech, and we’ll take it from there. I’m not exactly sure when I’ll start interviewing, as there are still some internal details to hammer out, but I definitely wanted to give the blog-reading set of developers and people I know the first bite of the apple before I started going through the more common and frustrating channels.

And, also, in a more broad philosophical sense, I wanted to try to put my money where my mouth is a bit. After taking potshots in previous posts at job descriptions and interview processes, I thought it’d be the least I could do to put my own approach out there so as not to be the negative guy who identifies problems and offers no solutions.

By

Notes on Job Hopping: Fear, Loathing, and Paying Your Dues

I was in a hotel the other night, and I had forgotten my Kindle at home, so I laid in bed for some time, catching up on my RSS feeds. I came across this post by John Sonmez, which I read with interest all the way through before I clicked over to read the post to which he was responding. John and I have very similar work ethics, so the part of his post about soldiering on during times when the ‘fun’ thing you started has lost its new car smell really resonated with me. Almost identically to him, I started blogging purely because I thought it’d be fun, but now there are nights where I have no queued posts and I really don’t feel like writing one. But I usually do anyway. A lot of things in my life follow that pattern, even beyond just programming — home improvement projects, setting up an ALM and ticketing system at work, gardening, etc.

And the point-counterpoint of these posts was interesting. The original poster, Loren, basically said that he’d been passionate about joining a startup, but fast forward two years and the job became soul sucking and unfulfilling even as it was cushy and relatively easy — startup Hotel California. So, in a celebratory announcement post, he said that he’d decided to quit his job and see where the wind blew him and that he’d already felt the passion start to reignite for things he likes to do.

I read John’s counterpoint to this as essentially saying, “don’t be that guy.” The guy I mean is the one you knew as a kid who had a closet full of hobbies and interests he’d started and abandoned after a few weeks. There was a violin he’d played for a little while, that old yellow belt from a brief karate stint, a rock tumbler, a football helmet, etc. We associate that with childhood behavior because, as a child, there really aren’t any stakes to just kind of quitting things and picking up new ones as you please. But as an adult, being a dilettante like this tends to have real life consequences. Most people outgrow it as obligations like spouses, mortgages and children enter the picture. But you still occasionally find Uncle Bill with the grown-up closet full of failed dreams of the moment: menus from the restaurant he tried to start, a Microsoft Programming Certificate, his tools from briefly trying to flip houses, etc. I think John was saying, “Don’t Be Uncle Bill. You’re never going to love something the way you did when you fell in love with the idea, and you can’t chase that dragon forever or it will bankrupt you.”

Simple enough: “I want to go chasing rainbows and I think that’s great” versus “chasing rainbows isn’t a career strategy.” Except, in the comments section on Loren’s post, things took a turn for the weird. At first I thought some of the hostility there was really bizarre for a post that just amounted to “I quit my job and I feel a lot better.” Then I thought that it was probably just a byproduct of coming from Hacker News. (If it is principally a “content and comment” engine like HN, YouTube, Reddit or Slashdot, I find that reading the comments tends to be a vaguely depressing experience, like riding a train through a crowded city with lots of debris and graffiti and broken windows everywhere.) But in the comments I saw a trend where the phrase “pay your dues” was repeated a number of times, and it made more sense to me.

Thank You, Sir, May I Have Another

I had intended this series to be a trilogy, rounded out by a post in which I prognosticated about the future of job-hopping (and that’s still coming), but I decided to add a chapter after reading these posts the other day. In the last post, I talked about the dues-paying culture in a corporate setting as one in which a general standard of mediocrity is forced upon the employees in an attempt to make everyone equally (dis)satisfied without playing favorites — you’ll wait three years for your promotion and pay your dues just like everyone else, mister.

At this point, I’d like to point out that I agree with the sentiments in John’s post from a rational self-interest perspective. That is, I think that quitting a job to spend some time with your hobbies is not a smart career move, and telling yourself otherwise is just a rationalization (though I have no quarrel with someone choosing to do this — I’m very small “L” libertarian when it comes to matters of “live and let live.”) But I do differ from John on a small point, which is really his invocation of the concept of dues paying. That is, he makes a reference to paying your dues in a sense that I think of as simple time investment. You start a project and it’s fun, you keep at it when it stops being fun, and eventually you deliver and reap the benefits. I don’t really think of this as paying dues but as investing time into an effort, pure and simple.

Distinguishing my idea of dues paying from John’s may seem like semantics, but I consider it important for two reasons. Firstly, the rest of this post is frankly going to be an attack on the mentality of “people should pay their dues,” and I don’t want to include John’s message about following through in the attack. Secondly, I think that dues paying is actually a perversion of investment. (For a lengthier dive into this topic, feel free to check out the conclusion of the Expert Beginner ebook when it comes out). Investing in one’s future is working hard now for greater opportunity later, whereas dues paying is some combination of Ponzi scheme and working hard now so you can be lazy later.

First of all, dues paying has a literal meaning and an idiomatic meaning. The literal meaning is that you exchange something of value (generally money, but not necessarily) for membership in some sort of club or organization. Dues-requiring organizations that come to mind, off the top, are unions, professional organizations, country clubs, condo associations, fraternities and sororities, and gangs (often weird barter dues involving violence). By and large, you trade something of value for a personal identifier — I pay club dues because I want to be a member of the club. Dues paying, literally, is a way to purchase identity status and its attendant privileges.

Frat Guy

The idiomatic meaning has evolved to be this: you suffer in the here and now for rewards to be reaped at a later date. It has culturally-ingrained, protestant-work-ethic overtones as well. It isn’t just that you sacrifice now to be rewarded later, but that the sacrifice — the pain, suffering and indignation — is a character-building, humbling benefit tied up with a mastery and maturity bow in the end. It’s a nice narrative, like that of the Karate Kid.

But how do you get from point A, a payment in order to recieve a certificate of identity and belonging, to point B, a humble prostration before a pack of the worthy? I mean, shelling out 20K a year for the right to play golf hardly evokes images of Daniel-San waxing his way on and off to the karate championship. So what gives? Well, I’d say what gave was the increasing status disparity between early and later members. To put it more bluntly: the more people that get into a club, the more ridiculous the things they make new members do. And, thanks to the cognitive biases, the more the new members do those ridiculous things, the more they start to manufacture value for the experience. Before you know it, victims of horrific and bizarre hazing rituals actually reflect fondly back on them as character-building events that make the club they’re in that much better. They were just payin’ their dues, proving they wanted to be in the club badly enough to get in.

Dues Paying in the Workplace

Doesn’t it strike you as fundamentally weird to juxtapose club membership and salaried employment? That is, when people around the office talk about “paying your dues,” stop for a minute and think how odd that is (unless it’s their union rep talking to them). Organizations that collect dues are selling identity whereas corporations are purchasing labor from their employees. So if I have to “pay my dues” in a company, that means that it’s purchasing labor from me and I’m purchasing identity from it. I’m selling my labor to belong to some cabal of tenured people there that get to mete out the good assignments as they see fit, like fraternity pledge masters handing out the chores to the pledges or gang leaders handing out drugs or whatever to their soldiers. Within the organization, a club forms. It acts orthogonally to the organization’s best interests as it bolsters its own social currency on the backs of captive, hapless newbies who, unlike college freshmen, can’t simply say, “leave me alone — I’m not interested in your stupid club.” At least, they can’t say that without job hopping.

It’s in this culture that the corporate notion of dues paying really thrives. It’s the people that have been with an organization the longest that get to form the club and define its rules, currency (real or social), hazing rituals and customs. It’s cultures like this that marry dues paying to time invested rather than quality. And it’s the hapless job hoppers that bounce around until they find somewhere that this self-important silliness is muted to a minimum.

Of course, almost nothing infuriates a member of the club like someone not wanting to play — it’s a direct rejection of a carefully crafted culture and a whole lot of manufactured value. “Well, Jim, you’re new, but the guy with the most years here gets the best donuts, so — what, you don’t like donuts? Oh, sure, whatever. Heh, you’re clearly jealous.” I say almost nothing infuriates like opting out, because the one thing that really redlines club members is someone who scoots in with some kind of favored status, effectively bypassing the hazing, the rituals and the traditions. That’s a dogfight.

People who talk to you about dues paying in a corporate setting (and mean it in the sense I’m talking about here) have one of three main motivations: jealousy, a sense of being threatened, or external rationalization. Jealousy is the easiest to understand and probably the most common, especially from a veteran of dues-paying cultures in the abstract. This was on display in the wailing and gnashing of teeth from the HN set in Loren’s post. It doesn’t take Freud to figure out that a person getting disproportionately angry about someone else quitting his job to have fun is jealous.

A feeling of threat to one’s validity is also closely related. If you get promoted to architect at age 30 whereas a crowd of “wait your turn” dues payers around you didn’t get there until 40, it triggers thoughts of “what’s wrong with me that I didn’t get there at 30?” That’s a rather existential threat that’s hard to swallow, and it goes beyond simple jealousy. There’s an up-and-comer on the way, and he’s clearly gunning for this position. It’s this second motivation that tends to trigger the most action in a corporate setting, with the Council of Elders appealing to some AVP somewhere that these kids don’t know the value of respect. The Council will bring the full weight of their clique’s political influence with the company down on the newbies, refusing to rest until the youngsters are scrubbing PHP code off the toilets and doing pushups in the server room. It’s good for them. Kids these days have no respect and need to pay their dues.

The final motivation is rationalization. It’s the most interpersonally benign and depressingly insidious. This motivation occurs after the club has dominated and stamped out meritocracy altogether and some manager is left to explain a soul-crushing HR promotion matrix to a talented recent hire. This is when a boss says to his report something like “we think you have a bright future here, so pay your dues and you’ll be rewarded down the line,” when what he really means is “I’d promote you, but there’s a rule that I can’t for three years and I think that happened because there’s all of these lazy senior people here that have already paid their dues and will throw a fearsome temper tantrum if we give you tasks that are challenging and fulfilling before the three-year mark.”

My message to Loren, if you’re reading, and to anyone in general is don’t bother paying dues. That’s for MacLeod losers, golfers and unions members. If you can skip dues paying and enjoy success, by all means do it. Define yourself by what you produce and what you accomplish, not by how much you suffer for some kind of token acceptance from some group primarily interested in you succeeding no more rapidly than they did. Don’t stick around waiting for them to let you in — leave and start your own club where you set the rules and regulations. Create a place where you’re free to abide by the rules of meritocracy and ambition.

Both your money and your time are finite resources. You have to choose between putting them toward corporate/industry identity membership and investing them in your own career, yourself, and your life. I think it’s a no-brainer, personally. Paying your dues gets you comfortably in the door if you just hang around long enough and absorb the hazing, but blazing your own trail lets you buy the property that the clubhouse is built on.

By

Notes On Job Hopping: You Should Probably Job Hop

Last week, in a post that either broke the Google+ counter mechanism or blew up there in very isolated fashion, I talked about job hopping and meandered my way to my own personal conclusion as to whether it might be construed as unethical. I don’t think it is. Today I’d like to talk a bit about practical ramifications for the individual, as promised at the end of that post.

The title of this sounds like link bait, but that’s not really more my goal. I wrote the post without giving it a title and then reread it. This title was the only thing that I could think to call it, as I realized, “wow, I guess I’m recommending that people job hop.”

A Scarlet J for Job Hopping

Conventional wisdom holds that there is some kind of sliding scale between loyal employee and job hopper and that you get into a bit of a danger zone if you move around too much. Everyone can really imagine the scenario: you’re in an interview and the interviewer awkwardly asks, “since you seem to switch jobs a lot, how do I know you’d stay here long enough for the hire to be worthwhile?”

And you’d fire a blank at this point, you job hopper, you. You’d be unable to convince this hiring authority to take a chance on you. And what’s worse is that this would be a common reaction, getting you turned down in interviews and probably even tossed from a number of resume piles in the first place. You have a scarlet J on your chest, and nothing but time will remove it.

ScarletJ

If, on the other hand, you opt for the loyalty route and keep the number of job changes pretty minimal, you’ll have no trouble finding your next job. Without that scarlet J, the townsfolk are more than happy to give you an offer letter. They figure that if you’ve spent a decade at Initech, you’re likely to spend the next decade working for them.

And, really, what could be better for them? Everyone knows that turnover is expensive. There are training periods and natural inefficiencies to that concept; it’s just a question of how bad. If Bob and all of his tribal knowledge walk out the door, it can be a real problem for a group. So companies look for unfaithful employees, but not employees that are unfaithful too often — otherwise the awkward question arises: “if he’ll cheat on his old company with me, how do I know he won’t cheat on me with Initrode?”

Apparently, there’s a line to straddle here if your eye starts wandering. Job transitions are a finite resource, so you’d better make them count. But that’s not exactly a reason not to job hop, but a reason not to do it too often. It’s the difference between having a few cold ones on the weekend and being Kieth Richards, and I’ll come back to this point later. But, in the meantime, let’s look at some reasons not to change jobs.

Inertia Makes You Want to Stay

One of the biggest reasons people stay at a job is simple inertia. I’m listing that first because I suspect it’s probably the most common reason.

Even though a lot of people don’t exactly love their jobs, looking for a new job is a hassle. You have to go through the interview process, which can be absurd in and of itself. On top of that, it typically means awkward absences from work, fibbing to an employer, getting dressed up, keeping weird hours and putting in a lot of work. Job searching can be a full-time job in and of itself, and the prospective job seeker already has a full time job.

And if job searching weren’t enough of a hassle, there’s a whole slew of other issues as well. You’re trading what you know and feel comfortable with (often) for the unfamiliar. You’re leaving behind a crew of friends and associates. And you’re giving up your seniority to become the new guy. And none of that is easy. Even if you decide in the abstract that you’re willing to do all of that in the abstract, it’s likely that you’ll put it off a few more weeks/months — and keep putting it off.

Job Satisfaction Also Keeps You Around

Another common and more uplifting reason to stay at a position is due to a high rate of job satisfaction. I think this is less common than simple inertia, but it’s certainly out there.

Perhaps you spent the early part of your career doing help desk support and all you ever wanted was a shot at uninterrupted programming in a R&D outfit, and now you have that. Maybe you’ve always wanted to work for Microsoft or Facebook or something, and now you’re there.

You’d pass on more lucrative offers or offers of more responsibility simply because you really want to be doing what you’re doing, day in and day out. Genuinely loving one’s job and the work there is certainly a reason not to job hop.

And, Maybe Company Loyalty, But Probably Not These Days

I think that a decreasingly common reason for staying put is loyalty to a company. I observe this to a degree in the boomer set, but it’s not common among gen-Xers and is nearly nonexistent among millennials. This is a desire to stick it out and do right by a company instead of leaving it high and dry.

It may take on the form of the abstract loyalty to the company itself, or it may be loyalty to a boss and/or coworkers. (“I’d hate to leave now, they’d be so screwed if I took off that I can’t do it to them.”) I personally view this as a noble, albeit somewhat quixotic, sentiment, tinged with a form of spotlight effect bias. I think we tend to radically overvalue how high and dry an organization would be without our services. Businesses are remarkably good at lurching along for a while, even when understaffed or piloted by incompetents.

And Then, There Are the Golden Handcuffs To Keep You Around

Rounding out the field of reasons that I’ll mention is a more specialized and less sympathetic form of inertial (and perhaps even loving your job), which is the golden handcuffs. You’re an Expert Beginner or the “residue” in the Dead Sea Effect, and your company drastically overvalues you both in terms of responsibility and pay. To put it bluntly, you stay because you have no choice — you have a relatively toxic codependent relationship with your employer.

There are certainly other conceivable reasons to stay at a job, but I think that you might loosely categorize them into these four buckets and cover the vast majority of rationales that people would cite. So if these are the reasons to stay, what are the reasons to go? Why does jumping from job to job make sense?

Or Should I Go?  Let’s First Talk Money

First off, let’s talk money. If you stay in place at a run-of-the-mill job, what probably happens is that every year you get some kind of three percent-ish COLA. Every five years or so, you get a promotion and a nice kick, like five to ten percent.

If, on the other hand, you move jobs, you get that five to ten percent kick (at least) each time you move. So let’s follow the trajectory of two people that start out making 40K per year out of college as programmers: one who hops every two years and one who stays loyal.

Let’s assume that the hopper doesn’t get COLAs because of when he’s hired at each position. We’ll just give him ten percent kicks every two years, while his loyal peer gets three percent COLAs every year as well as the ten percent kicks. The loyal guy is making 61.3K at the end of ten years, while his job-hopping friend is making 64.4K. If we were to add in the COLAs for the hopper, because he timed it right, that balloons to 74.7, which is almost 25% more than his friend.

Neither of those salaries may seem huge, especially given all of the turmoil in the hopper’s life, but consider that for the rest of your career, there’s no bigger determining factor of your salary than your previous salary, and consider the principle of compound interest. Even assuming that after year ten both people in this thought experiment make the exact same career moves, the difference between their salaries and net worth will only continue to widen for the rest of their lives. It pays to job hop. Literally.

Career Advancement is Also Better for Job Hopping

In fact, I might argue that the case I just made above is actually somewhat muted because of another job-hopping-related consideration: career advancement.

Before, we were just talking about what probably amounts to token promotions — the loyal guy was “software engineer III” after ten years, while his hopper friend was now “software engineer V.” But here’s another thing that happens when you hop: you tend to accumulate more impressive-sounding titles, kicking off a chicken-egg kind of scenario about qualification and title. What I mean is that you don’t just number positions like job shifts, but you start to rack up qualifiers for title like “senior” or “lead” or “principal.”

So now our two subjects are a software engineer making 60K and a lead software engineer making 75K, respectively. Which one of these do you think is likely to get promoted to management or architect first? Done right, job hopping earns you better pay and better titles, which earn you still more pay.

Job Hopping Lets You Control Improvement of Your Circumstances

Related to this skipping around for better circumstances is the middling corporate narrative that the job hopper is escaping — specifically one of “dues paying.” For a bit of background on this concept as it relates to programmers, take a read through section 5, “Career Development,” in Michael O. Chruch’s post[since deleted] about what programmers want. Dues-paying cultures are ones in which advancement is determined not by merit but by some kind of predetermined average and set of canned expectations.

For instance, if you hear things from companies like, “we don’t hire lead architects — we only promote from within to that position,” or, “we don’t offer development promotions more than once every three years,” you have a dues-paying culture on your hand. Call it what you will, but this is essentially a policy designed to prevent the mediocre, tenured natives from getting restless.

It seems insanely childish and petty, yes. But I have personally witnessed plenty of cases where person X with ten years of time with a company had a hissy fit because someone got to engineer level IV in three years when it took person X four years to get there. Enough tantrums like that and promotion governors are slapped on the engine of advancement at the company, and dues-paying periods become official.

But this need not concern the job hopper, who won’t be around long enough to play this game anyway. This is a win on two fronts for him. It’s an obvious win because he promotes himself within a year or two instead of waiting three or four for the HR matrix to catch up. He also avoids the endowment effect of earning his way past the dues-paying rope.

In other words, if he did stay around long enough to ‘earn’ the coveted lead architect title, he’d overvalue it and stick around even longer to savor it because he’d be thinking subconsciously, “being a lead architect at this awesome company is truly amazing or else I wouldn’t have twiddled my thumbs all these years waiting for it.” He’d be a lot more likely to stick around for the even more coveted (at that organization) “super lead architect” position that one can only ‘earn’ after another four years.

Job Hoppers Don’t Have to Deal as Much or as Long with Expert Beginners

Speaking of empty titles, there is another powerful argument in favor of job hopping: avoiding and minimizing interaction with Expert Beginners. On the more obvious front, jumping around helps you avoid becoming an Expert Beginner since you can’t build seniority capital of questionable value to use in lieu of well-reasoned arguments or genuine skill. If you’re bouncing around every year or two, you can’t start arguments with “I’ve been here for 20 years, and blah, blah, blah.”

But a willingness to job hop also provides you with an exit strategy for being confronted with Expert Beginners. If you start at a place and find some weird internal framework or a nasty, amorphous blob of architecture and the ranking ‘experts’ don’t seem to see it as a problem, you can just move on. Your stays will be longer at places that lack Expert Beginnerism in their cultures and shorter at places with particularly nasty or dense Expert Beginners.

But whatever the case may be, you as a job hopper will be the water evaporating in Bruce Webster’s metaphor, refusing to put up with organizational stupidity.

And Job Hoppers Avoid Stagnation

And putting up with organizational stupidity is, in fact, something of a career hazard. Job hopping gives you a sort of career cross-pollination that hanging around at the same place for 20 years does not, which makes you a lot more marketable.

If you work somewhere that has the “Enterprise Framework,” it’s likely you’ll spend years getting to know and understand how some weird, proprietary, tangled mess of code works in an incredible amount of detail. But in the market at large, this knowledge is nearly useless. It only holds value internally within that organization.

And, what’s more, if you have a sunk intellectual property cost at an organization in some gargantuan system written in, say, Java, you’re going to be pretty unlikely to pick up new languages and frameworks as they come along. Your career will be frozen in amber while you work at such a place. There are certain types of organizations, such as consultancies, where this is minimized. But if you doubt the effect, ask yourself how many people out there are cranking out stuff in Winforms or even VB6.

A Recap of the Pros and Cons

We can summarize the pro arguments for job hopping as money; advancement; avoiding mediocre, dues-paying cultures; avoiding Expert Beginners and organizational stupidity; and being marketable.

On the other side, we can summarize the con arguments for job hopping by tagging them as inertia, satisfaction, loyalty and golden handcuffs.

You’ll notice that I didn’t mention the stigma in either category, even though that’s ostensibly a clear negative. (I will return once again to the stigma angle in the third and final post in this series that addresses the future of job hopping). This is because I view the stigma as neutral and a simple matter of market realpolitik.

The Stigma Doesn’t Really Matter

When are you most likely to be branded with the scarlet J — scratch that — when is the only time that you’ll be branded with that scarlet J? Obviously, while you’re applying and interviewing.

You’ll be working at Initech and considering a switch to Initrode, and Initrode takes a pass on you because you seem to skip around too much. So you just keep working at Initech and put in another year or two to let the stigma fade.

As long as you don’t quit (or get laid off) without something else lined up, the job-hopper stigma really doesn’t matter. It happens when it happens, and you actually have a peek-ahead option to find out that it’s about to happen but without dire consequences (again, assuming you aren’t laid off and are generally competent).

And really, this makes a certain kind of sense. I have, in the past, been told to stay put in a situation I didn’t like for fear of acquiring a scarlet J.

People were advising me to stay in a situation in which I was unhappy because if I got out of that situation I might later be unhappy again and this time unable to move. Or, in other words, I should remain definitely unhappy now to avoid possibly being unhappy later. That strikes me as like sitting at home with a 105 degree fever because the ambulance might crash on the way to the hospital and put my health in jeopardy. The stigma argument seems actually to be something of a non-starter since, if it happens, you can just wait it out.

So, Should You Job Hop?

So, on to the million dollar question: should you job hop? Unless you’re happy where you are, I don’t see how the answer can be anything but “yes.”

The “no” arguments all involve personal valuations — with the exception of “golden handcuffs,” which really just means that job hopping is impossible because you missed that boat. Are you too busy with family to conduct a job search? Do you really like your coworkers and working environment? Do you love the work that you’re doing right now? And do you really love the company? I can’t lobby for personal decisions like that in people’s lives, and there is certainly more to life than career advancement, money, and responsibility.

But in terms of objective considerations like money, position and title, there’s really no argument. Job hopping will advance you more quickly through the ranks to better titles, paychecks, and career opportunities in general. You will have more breadth of experience, more industry contacts, more marketable skills, and more frank and honest valuations of the worth of your labor.

Companies are generally optimized to minimize turnover, and if you want a path that differs from steady, slow, measured advancement, staying in one place isn’t in your best interests. Should you job hop? I say absolutely — as often as your personal life and happiness will allow, and as long as you manage to avoid the scarlet J.

I’d imagine that at some points in your career you’ll settle in for a longer stay than others, and perhaps eventually you’ll find a calling to ride out the rest of your career in a place. But I think that you ought to spend your career always ready to trade up or to change your scenery as often as necessary to keep you moving toward your goals, whatever they may be.

By the way, if you liked this post and you're new here, check out this page as a good place to start for more content that you might enjoy.