
Programming Is a Dead End Job - pauljonas
http://thecodist.com/article/programming_is_a_dead_end_job
======
ChuckMcM
I respond really negatively to the notion of 'dead end.' Programming isn't a
dead end job any more than welding is a dead end job or painting. But it is a
_trade_.

What is more, managing is a _different_ job than programming. Not a lot of
programmers really internalize that until they try out being a manager.
Architecture, and technical leadership in general, is still another job. It
takes the ability to internalize massive amounts of detail, organize it into
some coherent frame work and then communicate that framework as needed to
various levels _in the language they understand._ So for programmers they need
to know how the parts fit together, for managers they need to know how the
parts integrate with the business process, for sales they need to know how the
parts make them better than the competition (or equivalent to).

From an economic standpoint, being able to generate 1000 lines of syntax error
free code per day, is perhaps the best possible programmer you could be, but
its never worth more than 10 programmers generating 100 lines of syntax error
free code a day.[1] So yes, there is an economic limit on your pay.

The good news is that generally that economic limit is much higher than the
cost of living, and you can run at that limit for a decade or more, so you can
be reasonably expected to save enough to retire and not have to work any more.

Dead end jobs are jobs that will never pay you enough money to save for
retirement. Programming isn't one of those jobs.

[1] Yes the 9 women, one month joke applies for short sprints but in general
not for longer coding projects.

~~~
eternalban
You are right. Programming is a blue collar trade.

~~~
rschmitty
That is a bit of a reach to call it blue collar.

I have blue collar friends from high school who envy what programmers do and
make and I do what I can to try and persuade/teach them to learn to code and
make a better life for themselves.

~~~
BugBrother
Most _everyone_ has forgotten the 2000 dot com crash, when all the computer
jobs disappeared. This "learn to code" is just how it was then.

I would bet money that in less than five years, a lot of software people will
be unemployed -- again. (If I win, good. If not, good. :-) )

~~~
smsm42
I'm curious - how much money would you be willing to bet on that? At which
odds?

I've been through the dotcom crash and minor disturbances after, and the jobs
never "disappeared". Yes, there were layoffs, pay cuts and hiring freezes. But
not _all_ jobs disappeared, and most of the people who lost their jobs found
new ones after a while. I'm not diminishing the pain and suffering of those
who got caught in bad situations there, but it's not like the whole IT
disappeared and people went back to abacuses and wired telegraph.

~~~
BugBrother
>>But not _all_ jobs disappeared

I wrote "all jobs" in one place and in another "a lot of software people [...]
again".

Since you were also there, what I meant should be obvious...?

In my Swedish job market, there was also something similar around a decade
earlier. But it was not only for software people.

------
netcan
This is silly.

First, very few people become millionaire CEOs. If thats your standard for
success, then every path likely leads to failure because no path reliably
leads to that kind of success. Some paths are more likely than others, but
none are very likely for the _average_ person.

Part of the reason for flat-ish career trajectory is that programmers earn
more at the start than most. Some professions have more of a premium on
seniority and experience than others. Senior doctors and lawyers for a
combination of the above 2 reasons probably have steeper salary growth than
programmers. That said, good 10+ yrs programmers do earn pretty damn well. 10
years as a doctor or lawyer and you're still considered a youngin.

Anyway, if you're the CEO, you aren't a programmer. If he's claiming that
being a programmer is not a good starting point for becoming a CEO, I think
he's wrong. Look at all the over 40s who were coders at some point, many
transitioned into management or something else. Programming actually offers a
lot more of that kind of opportunity than anything else.

~~~
pyrrhotech
You can become a millionaire CEO if you are intelligent with at least a 10-20%
success rate. Get 5 years work experience, ace the GMAT, go to a top 5 MBA, do
consulting at 250-500k/year for 10 years for a company like Bain or McKinsey,
then get hired as CFO of one of the companies you work for, 5 years later get
promoted to CEO.

Even if you don't make CEO, you can get to several multiples of an engineer's
salary with a 100% success rate with this plan. Let's face it, a software
engineer is far from a top tier occupation, and for good reason. You can hire
very high quality people with 10 years of experience in eastern Europe for
$30/hour.

~~~
Swizec
As one of those people - you can live like a king on that kind of money in
eastern Europe. As a freelance programmer I can afford to pay rent for a flat
in Ljubljana that puts most SF apartments to shame both in size, comfort, and
location.

What's better, I can do that _while_ actually living in the Bay Area. Just
because I can and I like moving back and forth between here and home.

~~~
_random_
Kings tend to buy houses not rent flats. Ljubljana seems nice though.

~~~
Swizec
Eh, I'd much rather live in a nice flat than a house. And I guess it might be
nice to actually own one eventually, I actually prefer renting. Much less of a
hassle.

~~~
smsm42
Wait till you get a family, your ideas on merits of moving around may change
drastically.

------
declan
It's a well-written essay (I say this as someone who has been a
journalist/editor/manager and is now doing quite a bit of programming again
for Recent.io). But really you could say the same thing about many other jobs:

* Do you love to report the news? In most jobs as long as you continue to be a reporter you will likely have a limited set of promotions you can get...

* Do you love woodworking? In most jobs as long as you continue to be a carpenter you will likely have a limited set of promotions you can get...

* Do you love photography? In most jobs as long as you continue to only take photos you will likely have a limited set of promotions you can get...

Even in you look at areas like law, the top 10% of earners in the profession
are not the ones who do all of their own legal research and brief writing.
They're the GCs at publicly traded companies or equity partners at large law
firms, where they're responsible for the work output of tens or hundreds of
lawyers. Which means, yikes, they're managers too.

~~~
mturmon
A cynical take on your observations sometimes occurs to me, and seems
pertinent.

The managers set the wages. Therefore, they will be well-paid, and their
contributions will readily recognized.

This is simplistic and does not explain everything, but I think it is a major
ingredient.

~~~
ams6110
The market mostly sets the wages. Pay too low, and you'll be unable to hire
anyone. There's also an upper bounds on what one person is worth. It can be a
lot, and the difference in productivity between average and superstar
programmers is well noted. But even a highly productive programmer has a
limited value as an individual member of a team.

Executives get promoted because they've proven to be able to get groups of
people to work together to achieve something. Most programmers don't want to
or can't do that. Our trade is mostly one of individual contributions, often
as part of a team but generally we're not responsible for more than our own
tasks, and we're generally not blamed when one of our peers can't keep up.

~~~
xentronium
> The market mostly sets the wages

Unless, you know, several high-ranked managers collude together. Like it
happened with Google and Apple.

------
jw2013
No offense to the author, but what a terribly written article full of logic
holes. For example:

'Our parent company's former CEO started off as a programmer 25 years ago,
switched to manager; in 15 years he went all the way to being CEO of a $4B
company. After 10 years he retired recently with mansions and cars and no
worries. Meanwhile I work with people who started around the same time and who
are still senior software engineers.'

So the author just picks one person that happens to be the CEO evetually? What
about the rest majority of managerial forks? They probably are stuck in
corporate ladder and even may be fired already. The chance of a person working
on a corporate managerial job evetually becomes a CEO is likely no higher than
a tech person eventually becomes a CTO. So why just pick one CEO person to
illustrate managerial role is more promosing than tech role? Comparing the max
value of a group to the average of another group is unfair.

Also, I program because I love programming. Even if you gave me one billion
dollar making me manage people for the rest of my life instead of writing
code, I would still turn it down. If doing the thing I love is dead end, then
I beg a different definition of dead end. Okay, just use author's definition
of dead end as slight chance of moving up, but I just don't care as long as I
love the job I am doing.

__

An interesting side note is programming as a hobby. But I would still rather
programming both at work and a spare time, as long as the day job I do making
me happy.

~~~
WalterBright
> The chance of a person working on a corporate managerial job evetually
> becomes a CEO

Simple mathematics shows it is very unlikely for any random person to become a
CEO. After all, if everyone is a CEO, who is being managed?

------
untog
Programming is hardly unique in this regard. In fact, I'd wager that the vast
majority of professions are like this. There's a simple reality at work: when
you are programming code there's only so much effect it will have. That effect
is greater when the organisation is small (i.e. a startup) but there's a
limit.

Once you become a manager in charge of five developers you're suddenly able to
affect 5x (well, not quite, but..) the change within a company. And yes, yes,
I know - you're not actually _doing_ the change, but you are responsible for
planning, organising and maintaining it, which in many ways can be more
valuable to the company.

~~~
kumbasha
On the other hand, without all of the actual programmers you would have no
product and no profits at all. Neither group can function without the other,
and pay should reflect that rather than the ridiculously unequal spread we
just automatically accept as normal.

~~~
untog
Yes and no. It might be an unpopular opinion (and I'm a programmer myself) but
80% of programmers are relatively easily replaceable, particularly in large
organisations. There are indispensable unique unicorns out there, but they
tend to be well compensated.

When a project is managed by one manager and coded by five developers, you
could easily lose replace two of those developers with little impact. If you
lost the manager (who is calculating deadlines, coordinating with other
departments, pitching for funding, as well as managing the individual
developers) the project could run into problems quickly.

On the face of it, it seems unfair - the developers are the ones actually
writing the code after all. But the HN trope that managers are useless and
feckless isn't correct.

~~~
nawitus
>If you lost the manager (who is calculating deadlines, coordinating with
other departments, pitching for funding, as well as managing the individual
developers) the project could run into problems quickly.

Really? In my experience managers can be replaced rather easily, or at least
more easily than it is to a replace a single engineer. It always takes some
time for the new software engineer to learn the specifics of the project, and
even more time to really grasp the business domain. The new manager has stuff
to learn too, of course, but in my opinion it's less than what a new engineer
needs to learn.

In addition, if you replace two software engineers, you pretty much lose two
man-months of work, but replacing a manager shouldn't cause much problems in
the first month.

~~~
nostrademons
If you're a manager your biggest asset is relationships with developers and
with peers across the organization. Those assets can't be replaced at all - it
takes time to build trust, and trust is completely non-fungible between
people. I've seen departments just decimated (worse, actually...decimate means
"to kill 10%", and in this case over 50% of leads & senior engineers left)
because a well-respected manager left.

------
sklivvz1971
I read the blog post and my reaction is: they are saying that being a
programmer is not a good way to become a manager, or to be successful in terms
of what makes a manager successful.

As a developer who has also been a director and a team lead:

\- Good programmers get pretty good wages in the current market. I wouldn't
call earning 6 figures a "dead end job".

\- The number of people you manage is important to a manager, not a programmer

\- Becoming a CEO is important to someone that wants to manage a company, not
to someone that wants to write code

There are many rewards in writing code, if that's the job you like. You can
write code that makes a difference in a company which does something you agree
on. You can create a new company or product from scratch. You can spend your
career learning new stuff. All of this is exciting to me!

If your definition of success is a truckload of money, retiring at 30 and
being the boss of 100 people... you shouldn't be a coder, but that's a very
narrow (and let me add, totally shallow) definition.

------
debt
Ha, this is a load of shit.

The magic in being a carpenter or a painter or a builder of any kind(including
programming) is that you can _create_ something from nothing. The jobs may
suck but I still have the _power_ to, whenever I want, execute and actualize
my ideas.

I pity those with vision but no means to at least prototype that vision
themselves. That's dead end to me.

Builders are magicians and they're certainly not inoxorably linked to their
boring day jobs.

------
quickpost
This article reminds me a of a quote from Learn Python the Hard Way:

"Programming as a profession is only moderately interesting. It can be a good
job, but you could make about the same money and be happier running a fast
food joint. You're much better off using code as your secret weapon in another
profession."

"People who can code in the world of technology companies are a dime a dozen
and get no respect. People who can code in biology, medicine, government,
sociology, physics, history, and mathematics are respected and can do amazing
things to advance those disciplines."

"Of course, all of this advice is pointless. If you liked learning to write
software with this book, you should try to use it to improve your life any way
you can. Go out and explore this weird, wonderful, new intellectual pursuit
that barely anyone in the last 50 years has been able to explore. Might as
well enjoy it while you can."

[http://learnpythonthehardway.org/book/advice.html](http://learnpythonthehardway.org/book/advice.html)

------
siscia
Can we please come back with our foot on Earth ?

Waitress is a Dead End Job, WallMart employs are a in a Dead end job,
hairdresser is a dead end job.

Whoever makes > 60k $/yr is not a dead end job.

Please let's try to realize how lucky we (as programmers) are to live(/and
work) today.

------
otikik
> Do you love to program? Don't expect to ever become CEO

Why the hell would I want THAT? Are you crazy?

------
scotty79
You don't get to be 4bln $ companys CEO doing management job 9 to 5 any more
that you are going to be Marcus Persson or John Carmack doing programming job
9-5.

Sky is the limit only for people who have right combination of skill and luck.

~~~
quickpost
> Sky is the limit only for people who have right combination of skill and
> luck.

Don't forget hard work and persistence! :)

~~~
scotty79
I sort of treat ability and propensity to work hard and persistence to be
skills. Ones I almost completely lack.

------
twistedpair
Seems more like a realization of the human life cycle. Personally I was so
happy to get a programming job out of college and a good pay. After a number
of years of good performance and promotions I'm eventually a senior engineer
about to jump to principal engineer.

But that's when it hits you. You're still in your 20's... is that all you're
ever going to be? Hey, the six figs is great, and you're on track to retire
earlier than most, but was that it? Is that why you kicked butt in school for
~20 years, to write [insert field] code to make someone else rich?

It's a tough realization to make, but for most anyone, in most any industry,
they'll get to the same place. Then you get to decide if you want to (1) make
achieving as high a level as success as possible you're life's mission or (2)
live a good life and let work simply be the source of your sustainable from
M-F. In the end, we're all going to be worm food, so do something that matters
to you in the time you've got left.

------
motters
If you enjoy programming then going into management or becoming an architect
is really a demotion to something less interesting and which likely requires
much less skill. Becoming an n-th level uber-engineer really only makes sense
if you believe that top down hierarchical systems of organisation are
effective or worthwhile.

------
nnain
I don't find this a good point of view. The article goes, "if you love to
program and make a decent wage and enjoy your work..." \-- How many people
really get that sort of satisfaction! Enjoy it if you've got it all. You can't
expect the world to gift you millions if you aren't doing anything different.

Moreover, if someone really is an amazing coder, then there's a good chance
that he/she started the career at a good salary level, while people in other
profession were still grinding at work. Why complain now if you didn't stop to
brood over the situation then. That's Karma :)

If you want to stay in your comfort zone that's perfectly acceptable. But
don't whine! Comparing a programmer and a CEO, asking why one should earn
higher for seemingly equal amount of work is not right. Being the CEO means
taking risk, putting together business plans, qualifying ideas, cutting deals,
leading teams, handling legal and financial work, hiring people for all
functions. The blogpost itself is peppered with examples of people who took
the risk and made it big. How many software engineers really want to handle
all these complexities?

There simply aren't enough top spots for everyone. Some love to lead, some
love to code... some love to do both. You make your choices. Of course some
people do get lucky and some people even win by clandestine ways. But the
focused, hard-working one has his place. Everyone doesn't want a mansion and
Ferrari. I don't. Why make that a parameter for success!

------
elchief
I was a junior manager, manager, senior manager, chief operating officer, and
hated it.

I even have a Master's of Management, which I enjoyed.

But I love being a senior analyst. I want to be a senior analyst forever. It's
enthralling to me. I decline management job offers. It's not worth a few extra
bucks for me.

I'm putting my savings toward a tech angel fund for when I'm too old to
program. I'm working on side projects that might blow up big time one day.
There are other options besides management.

------
joshvm
No mention of finance? Working for the devil sure, but if you know your stuff
they will pay and pay and pay for top class programmers. Also depends on your
idea of a dead end salary.

If you enjoy what you do and can make £50k out of it then you should be pretty
happy with your life.

------
tomasien
I'm about to stop programming at my company because I have too much to manage
as a founder. It makes me really sad and also pretty scared. Anyone else
experience this?

~~~
atarian
New Relic's CEO has some tips on how to keep coding:
[http://blog.newrelic.com/2014/03/11/sxsw-coding-ceo-
recap/](http://blog.newrelic.com/2014/03/11/sxsw-coding-ceo-recap/)

    
    
      1. Surround yourself with amazing people.
      2. Carve out specific times for development work.
      3. Focus on high-value projects.
      4. Make it clear why a coding CEO is good for the company.

~~~
tomasien
Good advice! I still code at night, picking up some visible UX stuff that
wouldn't make it on the road map otherwise. That way, we never have a week
where it doesn't APPEAR that the product has gotten better just because
whatever was on the road map wasn't visible or is taking more than a week.
Seems to help relations with customers/investors/non-technical parts of the
team and I enjoy it.

------
at-fates-hands
The author has a point, and one of the keys here is that the hierarchy for
developer is pretty flat. All the jobs I've had except one very small startup
the structure was like this:

Entry Level Developer (coding 100% of the time)

Senior Developer (coding 50%, managing 50%)

Manager, Lead Developer, etc. (managing 100%)

from the time you take a senior position, you're essentially being groomed to
manage the team you're on. Whether you're another level between developers and
your director/manager or simply the manager, you essentially stop coding.

I think this is the point. It's not so much that programming is a dead end,
the inherit structure of most companies is flat relative to the position. It's
an interesting idea, how do you give a guy seniority and a nice pay raise,
without taking away what he probably loves to do? Obviously for most
companies, it means increased responsibility and pay = managerial tasks.

For the last several years, I've been in this purgatory. I love programming,
but every senior position means a reduction in my development role and an
increase in managerial responsibility. The problem now is my skillset is at a
place where I'm pretty much at the ceiling. It's hard to say, "I have a senior
level skill set, but don't want to be a manager." I know my two options are to
either bite the bullet and get into management (which to me is like adult
daycare) or start my own company.

As of now, I'm already laying the groundwork for a startup, so I can
transition out and do my own thing in the next two years.

------
kayloos
"Whatever you do, you have to find a balance between doing what you love and
making enough money to live the life you want, or what your family needs. It's
not always an easy choice."

If you love to program the choice is easy. It's not like programmer wages are
so low you have to live under a bridge.

Personally I'm psyched that people will actually pay me to program, because if
they wouldn't, I would still be programming.

------
BatFastard
I am blessed with a dead end job where I can love what I do almost everyday,
see progress everyday, and work with smart people.

I have flirted with 10 of millions of dollars in wealth, but I don't seem to
have the timing to make it stick.

But at the end of my life, if my kids can say he loved what he did, he loved
us, and he loved life. I will be a lucky man indeed.

------
the_watcher
If your goal is to become CEO of a company that would be large enough to
require an engineer to quit coding, it's a fairly universal truth that you
will no longer be doing what you did at the beginning of your career. It's not
simply that you no longer code - if you come from banking, you stop doing
that. If you come from accounting/finance, you are no longer spending all day
in Excel. If you come from sales, you may do a bit of it, I guess, but you are
no longer regularly jumping on the phone with customers. If you come from
marketing, again, you may do a bit, but you are definitely not spending time
in AdWords or developing marketing campaigns.

Is there any job that this truth wouldn't apply to? Being a CEO is a full time
job that has it's own requirements. It's not simply a title that you slap on a
normal job.

------
codeonfire
Managers can't change jobs and are under total control of their bosses.
Developers can change jobs at any time but won't make as much money as the
management cartel (which, suprise, decides that management should get all the
comp). Both jobs kind of suck in their own way.

------
logn
It depends on the company. I worked at a large software company and the
promotion track for software engineers went all the way up to something like
Fellow Engineer or Principal Engineer. Almost no one got to those roles
because they were so high up the track. After the several levels of Senior
Engineer, they had Expert Engineer. One person I knew made it to that level
(after some 20-30 years experience) and still programmed every day.

Edit: that said, I don't consider it a dead end job if you have to switch out
of programming to keep advancing because often to become an engineering
manager at companies they want you to have programming experience. I think a
dead end job is one in which your experience serves no purpose or as no pre-
requisite for better paying jobs.

------
pjmlp
I like very much my dead end, and hope to stay in this dead end, until the end
of my career (pun intended).

No need to go to boring management positions.

~~~
liahsheep
while(1)code();

------
nikhizzle
This is plain wrong.

Facebook, Microsoft, and Google have parallel tracks for programmers and
managers. You can progress all the way up to Senior VP equivalent as an
engineer with no management duties. These roles include compensation
equivalent to traditional CEO level roles.

Eg. [http://www.forbes.com/sites/ryanmac/2014/02/28/meet-jeff-
rot...](http://www.forbes.com/sites/ryanmac/2014/02/28/meet-jeff-rothschild-
the-hidden-facebook-billionaire-old-enough-to-be-zuckerbergs-dad/)

~~~
michaelochurch
_This is plain wrong. Facebook, Microsoft, and Google have parallel tracks for
programmers and managers. You can progress all the way up to Senior VP
equivalent as an engineer with no management duties. These roles include
compensation equivalent to traditional CEO level roles._

It is _a lot_ harder to make "Director-equivalent programmer" in those
companies than to make Director. In terms of skill, hard work, and
intelligence, the competition is a thousand times tougher.

~~~
nikhizzle
I don't have enough information to judge that, since I never made it to
director level at my time at FB.

One salient note is that at FB you can switch between parallel tracks whenever
you like. Eg. Any director level engineer can switch to being a director level
manager and vice versa.

------
macspoofing
What's the problem making a good living doing what you like?

Here's a spoiler - most people will not be rich.

------
ateevchopra
I think "Coding" as a job can be best analogous to an old job called
"Samurai".

A good samurai's aim is to be the best at skills. His all work is dedicated
towards a "kingdom". Every samurai doesn't wants to become a king. They just
want to server their king.

And the King's duty is to take care of its army and people. I think king's
jobs is highly overrated. In real life its difficult to be a king. In the end
its just a job with lots of responsibilities.

~~~
kumbasha
Then the samurai should behead the king and redistribute all of the fine
luxuries that the samurai earned for the king to his samurai buddies. Then
simply find a clerk to do the king's old job.

------
badman_ting
Yes, it's true. My solution was to find a job programming at an excellent
place to work, so that I can make sure I do valuable things and still be done
with my day around 1-2pm most days. Take my dog for a walk, read, learn,
whatever after that.

If they're not gonna pay you in gold get 'em to pay you in some other way. All
the prestige stuff ("a seat at the table", job titles, authority, etc) isn't
actually worth much anyway.

------
momoprobs311
This is not an apples to apples comparison. The writer is casting programmers
as "commodity code producers", meaning the end goal of the code and the path
to creation (e.g. what technologies to use, modules to create, etc) are
already defined. That's trivially true. You could make this same argument for
an artist if there were a market for people that could paint and draw things
that others told them to paint using specific techniques. You could make the
exact same argument for managers. If you created a perfect recipe for
"motivating a team" and "evaluating a direct report's performance" and all
these other nebulous ideas, and just paid for executing that recipe, you'd
make management a "dead end job". If you create a recipe for someone, 99% of
the work is done. The true value comes from the joining of the "what" and the
"how" with the execution. Divorcing the two makes any job a commodity job
because it assumes the goal and the path have already been determined. So
comparing a "commodity code producer" with a full managerial position is not
an equal comparison.

------
frankpinto
Seeing promotions as your only form of career advancement is a little
misleading. In management the only way you can increase your income/status is
directly through your employer (or switching jobs). In programming, you're a
builder. You can make templates, assets, etc. to sell. Your income increases
can come from applying the skills you honed at work in the world around you

------
skkbits
The company I work is around for 40+ years now. There are some folks as
"Programmer Analyst", "Software Engineer", "Sr. Engineer" for 20+ years now. I
have asked many of them why you didn't move up the ladder and report to
someone junior ( or H1B in his early 30's). Most of the time answer I got it,
they love what they do. They love having opportunity to program , provide
logical + thoughtful solutions. Of course, when new management comes in and
there are times to make decision to layoff, these people become victim due to
range of salary they have reached, age, skillset. This is very unfortunate but
true. I would not completely write off what author is saying but I believe it
depends on individual prospective. Of course, money is important factor but if
you are getting a job 8 am to 5pm + raising your family/kids comfortably +
spending time with family and yet have good balance when you retire then being
programmer is quite good deal actually.

------
enjoy-your-stay
Programming itself may be a bit of a dead end, where you can quickly hit the
glass ceiling; but if you get involved in other important parts of software
production like design, specification, requirements gathering, support, sales
and marketing then then the domain knowledge that you can gain can lead you
onto many other things.

Technologists who also have a lot of domain knowledge are gold dust to many
companies because they can straddle the world of business and IT and help
bring the two sides together to develop better solutions. Much of the business
of computing still baffles a lot of very intelligent people, so if you can act
as the translator between these to sides then you can definitely broaden your
horizons.

The thing is as well, that you may not have to give up programming entirely.
I've managed to lead IT projects, and then once they were delivered go back to
working on programming again.

------
ryanpardieck
Calling programming a dead end job is kind of outrageous. I normally associate
the phrase "dead end job" with stuff like pizza delivery, or some of those
severely monotonous office jobs like data entry or working in a call center.
Most people would perceive programming to be an excellent job. A good wage,
enjoyable/challenging work, and loving what you do: there are many who would
_love_ to be stuck in that kind of dead end.

edit - Somehow, I goofed and lost the rest of my post. Anyhow, I noticed that
in a separate blog post, the author said something like "Programming isn't
just a job for me, but a way of life." I questioned whether that is something
you can say of a job that is truly dead-end.

------
learnf007
Narrow and very misleading way of looking at engineering and careers for sure
because it assumes a false binary choice.

A choice between doing what you love and making a big payout by doing
something else. This assumption is wrong.

On one level, there is truth to what is stated--- but it correlates more to
big company paths, people who have a conservative view on their ability to
leave an impact on the world, and people who are narrowly focused on
programming for programming's sake.

It's not about "switching" to management (this thinking is big company), it's
about taking your technical skills and making things happen. If that means you
have to be a startup founder or a leader (CTO, CEO, VP engineering, whatever)
who ends up not coding much anymore to make that happen, so be it. The point
is if you love programming, do it, get amazing at it, solve real problems...
and you'll have limitless potential in the future.

Being a programmer/engineer gives you the ability to find and build real
solutions to problems in the world. If you're good, being able to build things
= creating a startup or partnering with others to take on big things.

Regardless of statistics on the rate of success of startup endeavors, this
potential and this opportunity make being a programmer completely worthwhile
and rich with potential. You do _not_ need to be a manager to have financial
success. What you need is equity, equity that appreciates massively in a
successful company. Financial outcome is a nice side effect of starting or
joining a startup but not the only metric of success.

IMO, the more "correct" way of looking at a career as an engineer is what
other smart people have blogged about. After graduating, join the best mid-
level (in terms of size) startup you can (or hell, start your own). The
relationships and the higher opportunity for rapid growth will serve you well
down the road--- whether that means you're an executive or still an engineer
who codes. And it's this perspective that creates a healthier mindset where
you aren't thinking "Oh when should I jump ship into management" but rather
"if I build X, it could solve Y in Z industry... I can partner with A and
together we can make it happen or I'll start a side project and build a
solution and see if I get traction": [http://hunterwalk.com/2014/03/08/new-
grads-midstage-startups...](http://hunterwalk.com/2014/03/08/new-grads-
midstage-startups-are-your-best-first-job-in-tech/)

------
overgard
I think it's a bit pathological that we equate career success with being in
management. You only need so many leaders. If you get too many people trying
to be leaders, you end up with pathological organizations that engage in a lot
of bikeshed painting.

I think the problem with programming is that programmers are assumed to be
interchangeable; or at least, management would like to think so. To me, this
seems absurd, I'd rather have one good programmer than 10 mediocre ones. (And
good programmers are rare, but not impossibly so). The problem is that
programmers that are 10x more productive don't get paid 10x more. (And
seriously, some programmers really are 10x more productive than average).

------
pbreit
Doesn't this describe almost every profession?

------
morgante
This is absolutely a problem, and a dilemma I try to cope with. I'd like to
think that I'm a pretty good programmer, but I know that if I continue down
this path I will reach a plateau at some point.

The hardest part for me to cope with is that the y-intercept of programming is
significantly higher than that of business, but the slope is much less. So
while I might be making twice as much as my business peers when I first
graduate, they will eventually overtake me.

Makes me wonder if maybe I should be switching my major to economics... does
anyone have resources for people who have successfully transitioned from
programming to management/business?

------
the_watcher
Maybe I am reading this wrong, but it reads to me like the author wants to
continually be paid more without taking on additional responsibilities (which,
correctly or not, are considered more valuable by potential employers). I
don't think he is correct that fantastically talented programmers don't get
pay raises. However, at a certain point, if no one is willing to offer more
for just programming, to increase ones earning, you must take on new
responsibilities, the same way that a fantastically talented anything has a
ceiling on how much they can earn without adding value a new way.

------
ryandrake
I wouldn't call it "dead end" but outside of a few rare companies, programming
has a fairly impenetrable salary/advancement ceiling. I loved software
development, still do, but it's the kind of career where you max out your
salary after about 4-5 years. So, I reluctantly moved in to various flavors of
management. Still code little projects at home on the weekends, but
unfortunately not as a job anymore.

I'd love to go back to work as a programmer (still keeping my skills sharp and
up-to-date just in case), but the best gigs available promise the same
title/salary 5 years on.

~~~
hatu
This is what most programmers-turned-managers keep telling me. The pay is a
bit better but they miss programming.

------
rjf1990
This is exactly why even though I graduated with an engineering degree, I went
straight into business.

I didn't want to have to make that jump to management. Rather, I started with
an analytical role and moved up (well I actually left soon after).

While there aren't many exec-level programming jobs out there, there are
plenty that still require analytical skills. While none of the execs where I
worked crunched numbers themselves, they reviewed other work and poked holes
in business analyses. I think analytics career paths are perfect for the
people who like engineering but want the upward mobility into management.

------
pduszak
Click bait. You're saying if I'm a programmer I might not be a millionaire
someday? Oh no! That's the only reason I wanted to be a programmer in the
first place. Better reevaluate my life decisions. /s

------
Im_Talking
I think it's because most programmers end-up working on shit corporate
software or under some PHB which just destroys any joy, and finally your
creative soul. If your joy and/or soul is gone, any job is a dead-end job. I
sold my software business to a public-listed company and hated every day I was
there; corporate politics, PHBs, most software developed by company being
absolute shit (I pathologically hated their core software platform). I had
enough. Now I'm back on my own writing software I enjoy and couldn't be
professionally happier.

------
ensmotko
There is also a third option: freelancing. This way you can keep programming,
with only a moderate amount of "management" (finding new projects to work
on/dealing with clients).

------
WalterBright
> Maybe it's dumb but you have a choice between doing what you love and making
> a big payout by doing something else.

This is not strictly true. Programmers are relatively well paid. You can
decide to live significantly below your means, and invest the rest.

For example, my neighbor once referred to his Oldsmobile as his "quarter
million dollar Olds". I asked him what he meant, and he said that was the
current value of the stock he'd sold to buy it.

~~~
pcurve
I agree. Sr. Software engineers at our company can make $120k + bonus. It's
not that different than their IT managers.

And IT manager is a really crappy job if you love to code. Also, it is very
difficult to go from becoming IT manager to IT director or higher, especially
in bigger companies.

VP of IT in large companies is filthy rich territory as per OP, but for
everyone VP of IT, there are several hundred developer. Opportunity to become
VP, or even director is not all that common.

~~~
skkbits
>Also, it is very difficult to go from becoming IT manager to IT director or
higher, especially in bigger companies.

This is so much true.

>Opportunity to become VP, or even director is not all that common.

Completely agree. You hit nail on the head.

------
atmosx
What about consulting? Inventing a new framework (e.g. Rails), what about
writing books on languages, design and the rest?

If you are _really good_ in programming these days you can achieve more than
ever before. But if you really like programming that much, then making money
isn't your highest priority.

The fact that are way better payed jobs, it's a reality (lawyers, investment
bankers). If you are in it for the money then you might want to consider
another career (e.g. investment banking).

------
boolean
Anyone who has transitioned from programming job to a managerial role, how did
you do it? Do you recommend going back to school for an MBA? Would love to
hear suggestions.

~~~
mmcconnell1618
I ran my own company for 12 years which probably helped. Took a contracting
role at a Fortune 500. Took extra time to come up with suggestions to managers
on how to improve the overall development team. Left when the contract was
over. 3 months later a management position opened up and the development
manager asked me to interview for it.

One of the best ways to get a new position is to start performing the work of
that position before you have it. If you're already doing to the work you can
remove the risk in figuring out if you'll be capable in the new position.

------
anirudh24seven
I would put it this way. Some positions affect the money-making capabilities
of a company more than the others. Senior management has more control over the
business-aspect of a company and hence this situation.

In an ideal world for programmers, the only thing a company would be bothered
about is the cleverness and the programming complexity of the product and
would reward its programmers more. Such a company is bound to fail in the real
world.

------
markpettersson
The problem with programming vs management is that at the end of the day, a
programmer is at the mercy of management which may or may not be competent.
You may love programming but if you are not allowed to address technical debt,
have unrealistic deadlines and silly priorities you won't have fun at your
job.

------
cool-RR
So... Not-likely-to-make-you-into-a-multi-millionare == Dead end?

Also: _" in 15 years he went all the way to being CEO of a $4B company. After
10 years he retired recently with mansions and cars and no worries"_

If not having any worries is your goal, I'm not sure that CEO is the right
career path for you.

~~~
ronwl
> After 10 years he retired recently with mansions and cars and no worries

Having no worries(at least financially) 'after' busting my ass for 10years is
definitely a good career plan.

------
chrisbennet
It should be noted that _life_ is a dead end as well.

It seems the author equates the accumulation of "things" with success. If your
goal is own more stuff, I guess that would constitute success.

 _Happiness_ has always been my goal. By that metric, I'm wildly successful.

------
dpweb
After almost two decades, still like coding but want to do more management.
The technical stuff is still great, but you don't get a say in the direction
of the organization.

Non-technical business types don't appreciate the art and beauty, and history
- of the craft.

------
epx
I don't care. I like to do it.

~~~
maugzoide
I like your answer. It is simple and objective. Why are people trying to be
rich if they don't want to be rich at all? If everyone is going to be CEO, who
is going to be managed?

------
puppetmaster3
Another way to say it is as a game theory: 2 programers, if one becomes a
manager it is an advantage.

I agree that pay starts well (but its earned), but in a real world scenario,
programming is relatively tough work with limited upside, relatively. I agree
w/ OP.

------
luxifer
I disagree. In France it's the case, if you want to get a promotion and you're
a programmer, you hate to move and become a manager or something else. But
don't get it wrong, programming and managing or marketing are very differents
positions. You can't be good at programming and bo good at managing. Like any
other jobs, programming is a real one. Not just one you start with and then
move to management or something else, to get more money.

I am realistic and I know most of company think programmers are replacable.
But I think it can change if everybody does.

Programming is not a dead end job, if every company like google, atlassian or
github does, I mean paying well their developers and treating this as a real
profession.

~~~
morgante
> You can't be good at programming and bo (sic) good at managing.

I don't think they are mutually exclusive. Sure, being good at programming
doesn't imply you'll be good at managing. But there are plenty of great
programmers who successfully

> Programming is not a dead end job, if every company like google, atlassian
> or github does, I mean paying well their developers and treating this as a
> real profession.

I don't buy this. Even at Google, there is a psychological cap on how much
engineers can make—you'll never see a programmer pulling in, say, $10M a year.
That's the point: as a programmer, there is a society-wide cap on your pay,
some level at which you will eventually plateau. As a manager, there is no
such cap: you can eventually be the CEO.

------
xkarga00
Programming jobs are amongst the most well paid in the world. Calling them as
a dead end in a comparison with CEO wages is like saying that holidays in
Italy are trash, long live Hawaii.

------
Elizer0x0309
Well he's right for his life. You are what you believe. A programmer, can
easily invent something that makes you a trillionaire. Ah the power of
imagination and belief :)

------
stefanobaghino
This post holds that coding and managing a company are different jobs and that
you can't do both at the same time. I don't find this any kind of shocking.

------
10098
tldr; if your program you won't become a CEO with mansions and cars.

I became a programmer not because I wanted nice cars but because it's helping
me earn enough money while doing something that doesn't annoy me too much. It
helps keep my sanity.

------
bowlofpetunias
By the same logic, anything from being a plumber to a brain surgeon is a dead
end job.

------
matthewcford
Flipping burgers is a dead end job, programming is well paid compared to most
jobs.

------
blazespin
Low quality thread on HN.

------
personZ
_but it 's still pretty limited compared to what being an executive or manager
can make_

If you're just going to arbitrarily pick some hypothetical comparison, sure,
it's limited. But that isn't a useful contrast.

Most managers are in dead-end jobs themselves (the mere facet of the pyramid
dictates this). _Very_ few rise higher, and are more likely to have young
upstarts jump above them. Most make fairly poor pay -- I worked as a dev lead
at a bank and was at a pay scale that put me above every single non senior VP
or above in the entire organization.

50,000+ employees. My pay as a developer was in a band normally reserved for a
small handful of executives. The very, very few who went the management route
and won the lottery, so to speak.

I absolutely love this profession, and have resisted all paths that would pull
me out of it. I make great money for doing something I love.

------
paulhauggis
If you expect to get rich working for someone else, you will be disappointed.
Everywhere I've worked, things start out great. You get to work on new and
exciting projects.

Then, new management comes in or your boss makes crazy development decisions
and your project becomes a sinking ship. I just dropped a contract that was
exactly this. I got tired of being forced to make bad decisions, which I know
will lead to the failure of the project/company.

This is why I started my own company. There are no limits to my salary.

~~~
noir_lord
I also own my company, there is a limit to your salary in one direction, Zero.

~~~
chrisdevereux
I also own my company, zero is not a limit.

~~~
ChuckMcM
Exactly, you can go waaaaay past zero :-)

~~~
maerF0x0
no, zero is the bottom limit. Unless you do something stupid like personal
guarantees on loans or do not incorporate. Thats the point of LLCs. Limit the
liability of shareholders.

Edit: I guess I should add, of course legal matters depend on location. AFAIK
much of the developed world has legal structures that allow risk to be limited
to the "company" and not risk the shareholders' personal assets (ie Your
personal assets).

~~~
palebluedot
_no, zero is the bottom limit. Unless you do something stupid like personal
guarantees on loans or do not incorporate. Thats the point of LLCs. Limit the
liability of shareholders._

I am an owner / co-owner of 3 (US-based) LLCs, and I can tell you from
experience that banks will require a personal guarantee, joint and several, of
all principal owners, for any non-collateralized loan or line of credit.

The same is _generally_ true of most lessors, as well. Some (most?) tech
incubators / hubs / innovation centers are the exception, and I am sure also
some smaller 'mom-and-pop' lessors. But once we moved out of those, we had
lessors wanting us personally guaranteeing our 3-5 year leases, although we
were able to negotiate those terms away with some of them.

We were able to secure net-30 terms from suppliers, however, that did not
require a personal guarantee.

Even if you managed to somehow navigate these waters without anyone requiring
a personal guarantee, zero is generally not the bottom limit. If you are a
founder, or an owner, you most likely have brought assets and/or money into
the venture.

~~~
beachstartup
great post. i'll add that it's not just term debt or capital leases, but other
contracts too - even your first commercial real estate lease can require a
large security deposit and personal guarantee. and if you're not careful, this
personal guarantee will continue carrying over even as you expand into larger
and larger offices...

and of course let's not forget operational credit cards (you are exposing
yourself if you don't use an amex to pay for certain things) - that's the
owners'/founders' credit on the line (at least at first).

------
seivan
Not only a dead end job but also 60-70 hour work weeks and having to deal with
a management that's unable to comprehend what you do. Toxic culture as well.

