Q & A on Leaving Management for Development

I’ve received several emails about my post Why Good Developers are Promoted Into Unhappiness. One reader asked some interesting questions on his quest to decide between development and management.

Here are some excerpts from our conversation:

Q: Does leaving management for coding greatly cut your salary?
Going back to coding may cut your salary, but it’s quite possible it will not. In my case, the first time I went from management to coding I was fortunate enough to move into a higher paying development position. The second time I didn’t receive additional money for my “promotion” into running a development team, so going back required no monetary sacrifice.

Obviously I was lucky, and it’s a very real possibility that leaving management could have an effect on your salary. However, I haven’t worked at a company where the development manager makes tremendously more than the highest-paid senior developers. Senior Developers in L.A. can make $125k, in the bay area they can pull $140k+. These are enterprise application developers; highly specialized developers could definitely earn more.

So the question is: how much money do you need to be happy, and is it possible to earn that while still writing code?

Q: Coders seem to be considered commodities and low level craftsman. Why would someone go back to that?
Enterprises that consider developers “commodities and low level craftsman” are doomed to have (at best) average developers working for them.

A close friend of mine works for a company that has experienced a mass exodus of developers for this very reason. The best left first, the mid-range followed. What’s left are the people who clock in 9 to 5 for the paycheck and don’t take pride in what they’re building. The company now has what they asked for: a team of low-level code jockies. The people with initiative, energy, and passion have left.

Since you don’t want to work for a company like that, how do you determine if they view developers this way? The last time I interviewed for a salaried position I brought a list of questions with me and interviewed the company as hard as they interviewed me. I also made it a point to speak to one of their developers, and asked him several questions about the working environment, hours, etc… Most developers won’t lie to you about this sort of thing.

Q: I like coding, but isn’t management a more secure job?
Not in my book – developers have hard skills. I could move to nearly any city in the country, walk in to a company, and demonstrate that I know my stuff. It’s true that the job market is wide open for great managers and coders, but not only is it easier to prove you know how to code, there are more development positions than development manager positions.

Q: Doesn’t a manager generally make significantly more than a coder?
If I posted this on my blog we’d get 50 different answers (cue you, the reader, to post your opinion in the comments). At my job with the City I managed 10 people and I made more than most of them (the few who made more than me had been there for many years).

At my next position our manager made a tad more than us (around 10%), and he received more stock. He put up with 100% more headaches than we did, so we considered ourselves ahead on the deal.

Q: I’m trying to find something I love that pays very well. I’m really exploring if there is more of a ceiling as a developer than as a manager. If there is, I need to figure out how to get above it.

One thing about this industry that I still don’t understand is no pay over 40 hours. Virtually everyone does this. My question is why and why do developers accept it? If they calculate their per hour pay against that 60 hour week, they could probably do better working as a laborer on a pipeline. Does that really make any sense?

Here’s one way to get around the salary cap and get paid for every hour you work: start your own consulting firm or become a contractor. (A quick aside on how I differentiate consultants from contractors: consultants do a lot of work away from the client’s office, and they perform more project-oriented work. Contractors tend to have a cubicle at the company’s office and often do the same tasks as salaried employees.) Either way you’re paid well to write code and are typically paid for every hour you work.

This is why I left a salary in favor of running a consulting firm – for the freedom to choose what work I do, the ability to get paid for every hour I work, to continue to code, and to make more money than a salaried employee.

Q: If you want to keep climbing the corporate ladder up into Direct or VP, don’t you have to go through a management role to get there?

Yes. If that’s your goal, then go into management.

I know of only one exception to this rule. It’s a company in New Jersey that has a technical advancement track that parallels the management advancement track. In other words, people can stay completely technical and still advance in their companies.

At this company, if you don’t want to become a manager when you’re up for a promotion there’s a technical track you can request. I don’t know the exact titles, but these “Technical Directors” are on the same level in terms of power and seniority as their management counterparts; the major difference is they don’t have anyone reporting to them. They operate relatively independently in the company, but at a very technical level. The problem with the management track is that there’s a limited number of slots, because the company needs to have people reporting to a manager. But a company can have as many technical directors as it wants because they don’t require people underneath them.

Another big advantage of technical directors is that when cutbacks come, they don’t need to worry about retaining their team sizes. As a manager if enough layoffs happen and nobody reports to you, then by default your job is unnecessary. The technical director doesn’t have this problem.

A question for you, dear reader: How have your experiences been the same or different from what’s been said above?

[tags]programming, management, salary[/tags]

Start Small, Get Big
Growth Secrets for Self-Funded Startups. It'll Change Your Life.
What you get for signing up:
  • A 170-page ebook collecting my best startup articles from the past 5 years
  • Previously unpublished startup-related screencasts
  • Exclusive revenue-growing techniques I don't publish on this blog
"The ideas and information Rob provides should be required reading for anyone that wants to create a successful business on the web." ~ Jeff Lewis
Startups for the Rest of Us...
If you're trying to grow your startup you've come to the right place. I'm a serial web entrepreneur here to share what I've learned in my 11 years as a self-funded startup founder. Luckily several thousand people have decided to stick around and join the conversation.

For more on why you should read this blog, go here.

18 comments ↓

#1 MichaelDotNet on 10.15.07 at 3:34 pm

I actually took an “employee requested demotion” from Team Lead in order to get a job as a Programmer, it was a lateral move on the pay scale though. Looking at a new job that would likely be considered another “demotion” in order to become even more entrenched in the software developer world…

#2 Thomas Wagner on 10.16.07 at 8:11 am

Very well put Rob. Among my colleagues and friends we have a saying (its corny I know) that goes something like “Its the skills that pay the bills”. My personal experience with management parallels your comments.

#3 An Interesting Read on Management versus Development - Greg Robinson's Blog on 10.16.07 at 8:44 am

[…]  This is something I think about often, glad to see others do to.  I enjoy management but often wish I was back in the trenches architecting, designing and developing. Published Oct 16 2007, 09:43 AM by gregarobinson […]

#4 Theo on 10.16.07 at 9:07 am

I found out yesterday that I’m being royally screwed by the company I work for. They definitely don’t care about keeping the talented employees. I’m looking into working for a consulting firm, agencies, and contracting in the near future. — When it comes to the management/developer split, it seems the developers get shafted if the organization has developers to support it’s main business. When the organizations main business is developers the reverse seems to be true.

#5 An Experiment in Scotch » If Kobe Bryant Was On Your Basketball Team, Would You Make Him Coach? on 10.16.07 at 11:03 am

[…] that innate desire to create mentioned in the link above. They don’t work at companies where “coders seem to be considered commodities and low level craftsman”. I really don’t understand how companies run by smart people can think that promoting the very […]

#6 Mooch on 10.16.07 at 12:56 pm

Lately I’ve entertained the idea of becoming a contractor/consultant/freelancer. I haven’t convinced myself that I’ll have enough work to sustain a career out of it yet.

I started at the company I’m at now as an entry level ASP developer where we had a company of 5 people. Within 3 years we had 15 people, including 5 developers. During this time I was promoted to Software Development Manager, though I still coded quite a bit. We now are back to 5 people, and sadly enough I’m the only one left that can write .Net code. My job is not invaluable by default though, I’m just playing many roles right now.

With less people to manage, I’m taking the time to ponder on what made those developers leave and where our contracts went. Most of our troubles deals with goverment spending though 2 of our top developers left on their own will.

As for pay, my pay as a developer was mid-range for the area, but doubled when I became Software Development Manager. I get the title, the money, and get to act like a developer. Winner winner chicken dinner.

#7 Richard on 10.16.07 at 1:13 pm

The only real downside about becoming a consultant is the need to develop soft skills in marketing and sales and the time it takes to build up a client base. If you’re lucky (and smart), you can use your previous employers to start, and I’ve heard of small consultancies where the developer contracted out the sales and marketing work to someone else.

#8 Gates VP on 10.16.07 at 3:02 pm

I have a working theory that I’ve title The Fallacy of Management.

The basic definition is that current managers would have us believe that the work they do is the very reason for project success and therefore they believe (and have convinced others) that their’s is the most important role.

The real truth is that most managers are just overhead, projects would likely self-assemble without them, especially with good devs on the job. However, companies do things like targeting management for bonuses and taking other steps to make management a “position of privilege”. The truth is, good managers don’t deliver projects on time, good programmers deliver projects on time and managers just guide the process.

The concept of “separate streams” begins to address the problem of Technical Expertise vs Managerial Expertise. But it’s also an industry thing. “Similar” professional industries, like engineering or accounting, all have a kind of set progression chart from grunt to project manager. Most current “managers” don’t actually recognize the difference between our and the engineering field, let alone begin to address the number of engineering project managers who probably shouldn’t be there anyways.

It’s the Peter Principle + poor management + uncertain staff (like yourself at times) that allow the whole vicious cycle to keep turning. Every once in a while, people get off the cycle (like you), but right now we’re still early in the game and there are more people hopping on the bike rather than off.

In 10 years, people will know better, the industry will mature (a little) and the Technical / Managerial divide will be well-documented. There’s a trend right now that’s dividing the industry and that’s the “Great Development Houses” vs. “The Body Shops”. Expect that the former will pick up on (or has picked up on) this divide and that they’re capitalizing by hiring the right people into the right positions.

#9 Gary on 10.16.07 at 7:52 pm

I most recently worked at a large software company which also had a technical track that paralleled the management track. In my experience, it doesn’t work out as well in practice as it does in theory. Having no reports severely undercuts your authority, even if you have the seniority and power according to the org chart. It’s like when the government appoints a “czar” to oversee something but don’t give that person budgetary authority… since you don’t really control the resources, you don’t really control anything at all. The real managers can and will say “no” to your ideas. I know of at least one top engineer who quit the company rather than be put into that position of authority/non-authority. At least in this particular company, the only way to really gain company-wide influence was to enter the management track.

Also, at least at my previous employer, your statement about a manager’s job being less secure than a technical director’s would not hold. A manager would have much more interaction with higher-ups in the company and would be part of their “club” … even if his/her project was canceled, the upper management would find a place for the manager to land. Whereas with a technical director, management wouldn’t see as much detrimental effect in the person leaving, as they’re not obviously essential to day-to-day operations and probably not as visible in general.

#10 Anonymous on 10.17.07 at 12:55 am

It is funny. At every business I have worked at they seem more ready to hire more managers than to hire more and better programmers who are doing the actual work.

Managers definitely have there place but I have to question an org chart where the manager to developer ratio is 1:1 or even 2 or 3 to 1.

At the end of the day, I think if you don’t go the consultant or contractor route, that management is the best option for earning more and getting more say.

#11 Programming … » Blog Archive » Frase genial da semana on 10.17.07 at 7:07 am

[…] Software By Rob & Coding […]

#12 David on 10.17.07 at 10:02 am

In my career I’ve moved from management to development 3 times without harm to my salary or my career. Each time I was asked to be a manager and did not have the self-confidence to say no. What is forcing me into management now is age discrimination. After a certain age it seems that no matter what your technical accomplishments or abilities, it is extremely hard to get hired as a developer. Everyone assumes you’re not technically current or energetic or a long list of other prejudices. How do you get around that?

#13 The Fallacy of Management | Software by Rob on 10.17.07 at 11:00 am

[…] case you missed Gates VP’s comment about The Fallacy of Management on my recent post Q & A on Leaving Management for Development, I’ve re-printed it […]

#14 Wael on 10.17.07 at 6:11 pm

How about taking the route of Solution Architect? It is a growing field. Alternatively, it may deem more beneficial and rewarding for those who are passionate about their coding career.

#15 Frank C on 10.18.07 at 10:19 am

@David – Yes I’m 48 and I’ve experienced a lot of ageism in the past few years. I don’t think there is a way around it except to find employers who will look past your age. For example, where I’m working now, a healthcare services company, all of the developers are over 40. Unfortunately, such companies are few and far between.

#16 prashant on 10.19.07 at 8:52 am

Rob,

Good post and i really like it.

Thanks
Prashant Jalasutram
http://prashantjalasutram.blogspot.com/

#17 Aaron on 10.19.07 at 9:08 am

I have to agree with you about going the contractor/consulting route. In my last perm job, I made the same hours vs. pay & effort vs my peers and said ‘Nuts to this’!

However, it takes a certain personality. If you are entrepreneurial and don’t freak out when your gig is up and you have no job, you are a good candidate. If you need stable, predictable insurance and pay, perm is better. As a consultant, your skills are your job security.

You will also get treated differently. Some employees, dissatisfied with their lot, will consider you thier dog. Use a rolled up newspaper and a firm voice saying “No!” Cause you’re not there to make friends, but rather to get a job done.

All in all, I’m glad I went the consultant route. For comparison sake:

33 yrs old
ASP.Net/C#/SQL/AD/etc
Perm: $80k
Consulting: $55/hr or ~$115k

I plan to excerise an LLC I set up recently and go 1099 for ~$70/hr or $145k

#18 If Kobe Bryant Was On Your Basketball Team, Would You Make Him Coach? « Mental Pandiculation on 06.04.09 at 11:06 pm

[…] that innate desire to create mentioned in the link above. They don’t work at companies where “coders seem to be considered commodities and low level craftsman”. I really don’t understand how companies run by smart people can think that promoting the very […]