Senior programmer (28): 5-10 times as valuable as the junior. Makes $120-140k, possibly 150k. Serious stock options possible with the right company. Three-month job searches.
Expert programmer (37): 3-5 times as valuable as the senior, so 15-50 times as valuable as the junior. Makes $150-200k. Leaves the Bay Area/NYC because he can't afford to raise kids there. Has a defined specialty. Job searches take 6-8 months because he's overqualified for everything but high-level positions, and those in his specialty number in the single-digits nationally.
Master programmer (45): TO;DH.
This industry pays well at the entry-level (if you went to a reputable college, live in the right city, know where to look and how to play the game) but doesn't have a clue when it comes to rewarding excellence. Getting better tends to backfire when this industry (being run by dumbass MBA types) continues to insist on structuring itself like a pyramid.
It did take me six months to find a "senior level" job two years back though.
My point is that it mostly depends on the economic circumstances and it's not quite correct to assume that people will specialize as they grow older - differently from the past, where IBM was giving away 10-year and 20-year presents, nowadays the average tenure at a company is about 3 years, and much shorter in younger companies and startups. The economic incentive is to be versatile, so that's what people get good at.
It's not something I take for granted, don't get me wrong; I just have a hard time feeling like I have it so much better than the guy who cleans the floors. Considering that I probably only make ~10-15k more per year and had to work considerably harder to get where I am, and that I have to work much harder day to day, we're probably about even.
You should demand more, our field pays more. Don't let your location hold you back. Move if you have to, but possibly switch to a different stack.
Junior devs should be making no less than 75k regardless of location and really, if you're good, 90+.
Out of my own curiosity, where would I seek a 75-90k salary where the cost of living doesn't negate the increase?
Can't afford to raise kids? That's over double the median household income of SF and triple of that of Oakland.
Personally, I think our society is unintentionally de-eugenicizing itself. If you're smart and thoughtful, having kids is a terrifying idea. The meltdown of the middle and upper-middle class is causing the most thoughtful people to choose not to have children (can anyone, excluding billionaires, make a confident bet 20+ years into the future?) and it'll be interesting to see what this does to the aggregate IQ level of our society. Free higher education (for the qualified) has all sorts of benefits, but one among them that is enormous (if not politically correct) is that it removes one of the major factors that impels smart people to reproduce less.
Job searching is easier when you're employed because, even though you have 1/4 the time to dedicate to the search, your confidence is intact, and it doesn't piss you off every time you check your inbox and it's empty. When you're jobless, every time you check your inbox and don't see anything new, it's an acute insult.
Most people wait too long to search for other jobs and, consequently, end up searching while they're in bad shape: laid off, fired, or employed but recently demoted or topped-out. When you're 22 and unsure of yourself, it's not so bad because people expect it. When you're 40, it's devastating.
More savvy people never stop looking for jobs. I don't. You never know when you're going to need to go elsewhere.
When highly qualified older people face 1+ year job searches, it's usually a mix of issues. Part of it is that high-level jobs are rarer, but part of it is what happens to their confidence (to anyone's confidence) when under financial stress.
Acute financial stress can actually really fuck you up (adrenal fatigue) and, when you're older, you don't recover from blown-out nerves as easily. In the past, most 40+ people had savings, but with housing and education costs being what they are, it's increasingly common for people to reach that age and still have nothing.
It's like calling a designer a "drawer".
I wrote a comment a while back attempting to capture and explain my thoughts on the greater responsibilities and competencies of a software engineer [1]. The effective engineer has a holistic approach to software and business:
> Engineering in the software field isn't /always/ about building super-reliable things. That is one factor that I think differentiates it from other engineering fields. Engineering in the real, physical space has safety implications that typically require a high level of rigor at minimum. If a bridge fails or a building collapses, that's catastrophic. Physical products are only useful if engineered to a high level of quality. However, software is useful across a wider spectrum of reliability: if a back-office web app used by the recruiting team has to come down for maintenance for 2 hours on Sunday, that may not be a showstopper.
> Consequently, part of software engineering is understanding what level of robustness is needed to meet business goals, and building to it appropriately, with appropriate costs, and understanding the properties of the built system. Controlling the [tradeoffs] is what makes it engineering.
[1] https://news.ycombinator.com/item?id=5809358
Furthermore, the effective software engineer, who in a corporate environment is also an effective businessperson, understands and influences the strategy of the business, and breaks down that strategy into goals which then influence the design and implementation of software. (Regarding earlier threads about whether programming is a dead-end job:) A wider perspective on what constitutes software development, and its role in business in general, also yields better long-term career development opportunities than focusing on being solely a "programmer".
Are really all other engineers doing work as delicate and safety-critical as brain surgery? I'd imagine (not that I know, really) that a lot of risk-averseness in more concrete engineering fields simply has to do with the bottom line: if a design has already been put into production, what if there is a fault in that design and subsequently all the final products of that batch? With software, you can just nag the end users to update.
There isn't any substantial difference between some types of software engineering and other engineering disciplines. The HDTV antenna I unboxed this morning was a travesty of "engineering" and is the electrical engineering equivalent of a crappy todo app. OTOH, my day job developing software is as rigorous as the physical engineering I've been involved in (my undergraduate degree is in Electrical Engineering and I worked in that field for about a decade).
The "problem" is that most software doesn't need to be engineered any more than the average garden fence does, so there is a lot of drawing of false parallels.
And as far as nagging users to update, that can be a little difficult if your software is embedded in the controls of a diesel engine somewhere in the South China Sea.
In my non-screen tiem I try to make beautiful things out of wood. The "correct" term in that community for what I strive to be is "cabinetmaker". I am not offended when people call me a carpenter. Their understanding of "carpenter" is a bridge from their mindspace to mind.
But what if there is no logic to the system, that it's arbitrary, and random, and has simply found an equilibrium at the moment? You could drive yourself crazy thinking about it. Why are writers valued as they are? Because that's what people are willing to pay them. Why don't they just rise up and demand better pay? Who knows. Maybe people just don't value reading that much. Is it because they're uneducated? etc. ad infinitum.
Why does a web developer making to-do apps lead a better a life than someone researching cancer cures? Beats me. But it would be a complete waste of their good fortune, to be at the right place at the right time, if they didn't use this advantage. Already the system is saturated with hacker school grads, and the buzz is moving towards mobile, I can easily imagine a day where knowing Rails is no longer a golden ticket.
It's as silly as wondering why you got to cross the Atlantic on the luxurious Titanic, while everyone else is scrambling to the life boats. If you truly think that your present value is purely a matter of luck or a bubble, that it's illusory, then there is no why, you'd damned better make sure you find something concrete before everything goes to shit.
Some of it is arbitrary on some level, but much of it is not.
At the most basic level, because the web developer actually produces things. The person who develops anything that could be described as a "cancer cure" if you squinted at it the right way would lead a much more comfortable life. If you pay people based on what they promise to do, you'll quickly discover that promising to do something is easy.
Because of supply and demand. Both of which can shift.
>Why are writers valued as they are?
Because everyone wants to read what their friend reads. It's a network effect even if not of the same strength as for social networks. So some make it really really big. Most make very little.
It is also a supply problem. A lot of good things that were written in the past are still valuable today. New writers need to compete for people's reading time with more and more great writers from the past.
Software tends to age much faster, and needs constant improvements, so demand for programmers does not decrease over time.
Guilt for making decisions that other people did not and maybe a bit of luck is not rational.
Tomorrow that janitor might buy a lottery ticket, and win, should he feel guilty that you did not get yourself to the 7-11 and buy the ticket? - I think not.
I wouldn't necessarily say that it does. Janitorial service contracts can be lucrative.
Negotiating the contract, maintaining the business relationship, organizing and scheduling the labor, cleaning the toilets. These are all things involved in janitorial service. If you're only doing one of these things, say, cleaning the toilets, then sure, your labor isn't all that valuable.
Contrast this with software development. There are thousands of people in this field who are just starting out, don't know much, and can only work on tasks, they cannot organize and manage. They do what you tell them to and not a lick more. They won't be making much more than the janitor. When I was a full-time tech guy doing support and building linux-based backend services, I made $10 an hour, wouldn't be surprised if the janitor made more.
Now I make a lot more, but I have a lot more responsibility. Labor by itself isn't valuable, whether it's technical or not. You're looking at one tiny piece of one job market, and comparing it to one tiny piece of another job market.
Ahem. Don't be so sure.
"Twenty [NYC] public-school janitors rake in more than $140,000 a year — far more than the teachers whose classrooms get tidied up, records show."
http://nypost.com/2010/11/08/janitors-clean-up/
And as for "negotiating the contract":
"Four years later, Mayor Bloomberg’s attempt to privatize services at more than 100 schools was defeated by a lawsuit filed by the Local 891 custodial union, which has 850 members."
Because unions are bad and the Free Market will magically fix everything with its magical, invisible hand. Haven't you heard?
(though I don't know if a union would make sense for writers in general.)
Writers have unions, and quite a few of them (remember the Hollywood strike?). Some work, some don't; but generally speaking, they did improve compensation and arrangements for the profession.
The problems of the writing world are well documented, and mostly common to other creative fields: oversupply, intrinsic difficulty in quality judgement, and output that can be hard to monetise. I honestly don't understand why they were dropped with janitors, which have a completely different set of problems (mostly related to social status).
Sorry, no. The author needs to pull his head out of the bubble. In today's world (the actual world), web developers and programmers are given less credence than assembly line workers, and are considered at best a necessary evil in businesses where the actual product, itself, is something other than code. Money? As little as possible. Perks? Perks go to sales. Respect? It's not even considered real work.
Granted, it's not flipping hamburgers but let's not pretend what the author describes is in any way the norm.
Then maybe you'll appreciate the marvelous advantages you have as somebody who gets paid pretty damn well to sit in front of a blinky box and think about elegant abstractions.
Do those people also hate individual salaries around 200% of the median household income, full health benefits, generous retirement plans, regular 9-5 hours, and paid vacation time?
Because those are all things programmers have that most employees don't.
I personally love that about every year or 18 months the time it would take me to build a particular feature set drops by about half (either because libraries have arisen, I gained experience, or I have code that does half of it already).
If you're not putting yourself out of a job every six months or so, someone else will.
if you consider 'surfing' to mean always being up on the latest web framework or library, as many do, then I think that is too narrow a scope to consider yourself immune from being automated out of a job. if you consider 'surfing' to be looking at broader strokes in other areas of computer science and software eating the world in general, then that's a different story. you have to diversify.
Crud is never going to go away but the disequilibrium will, and many use cases will get reduced to libraries or packages.
I've been trading options for the past three years and wrote an automated trading framework that uses message queues, reactor pattern that I've been QAing and plan to go live soon on my real brokerage account. I don't want to make money honestly at this point but using this project to learn about distributed programming, numerical methods and also functional languages.
I saw on your profile that you used to work for Etsy and I've known a few peeps who also worked for them. So I understand where you're coming from when web dev is really nice and a golden handcuff but you don't want to stay stagnant and keep learning new things.
I thought the top comment below reflected what I have seen in my 10 years in the industry, much better:
" This is a very well written piece, but it's only covering the frothy tip of a very deep phenomenon. I too am a Rails developer, have been coding professionally for 15 some odd years, and I too find what VCs are chasing nowadays to be mostly time wasting crap. But that's not what software, even web software, is really about right now. It's just the glam side of the game.
The real folks making real things happen are building tools and technologies that literally could not have existed 10 years ago. In my personal experience, I've built integrated web portals that show real-time electricity usage for factories, saving them 10-50 grand a month by lowering usage during peak hours. I've built sales management tools that allowed a 2 man company to scale to a distributed team of dozens. Online rental advertising systems to cut out costly newspapers. Medical order management systems.
It's not glamorous, it doesn't get on TechCrunch or Hacker News, but it's real value, delivered by real professionals. And that, more than the stupid photo sharing cruft, is what's really driving developer salaries.
During the late 90's, the joke/threat was "go away or I will replace you with a very small shell script" - the point being that lots of human work could be automated by a savvy developer. That threat has become a promise, and we (costly) web developers are the ones fulfilling that promise across a huge range of industries." - Rob Morris
But, I agree with that top comment - the real value from coders come from solving real problems people have. One non-profit near me said to me once: "We spend so much staff time entering data into our CRM software from the forms our clients fill out. We wish our staff could spend more time helping the clients."
And this is a great (and easy) problem for technology to solve. Solving problems like this is where technology is great, it simplifies life, it reduces unneeded work, etc. And often, it's actually, in my opinion, more fun than the 'glamorous stuff'.
Can't agree more with you. When I look for a job, I look to work at places solving difficult or complex problems that can create real value, and more often than not that's not at the next photo-sharing-social-site, although once those places get to scale cool tech does get created. I just love working in this industry full stop, and wouldn't trade it for the world!
It's interesting, because I am experiencing this first hand. I just started an internship working inside a large DOE facility, PNNL. The team I'm working on just makes sites for other large projects, sites to allow scientists and researchers to communicate with each other, share data, manage content, etc. It's very much not sexy work. But it's work that keeps thousands of others productive. So that quote really hits close to home.
-- Peter Drucker
Are coders valuable? F ya. The reality is that almost every start up today is on a chase to grab people's attention with the glittering lure of technology. Why? Because once you get someone's attention, you can basically sell them anything. Google, Facebook, Twitter, Snapchat, WhatsApp, Instagram, Pinterest, etc etc the list goes on...valuations are all based on one metric - DAU. Why? Because DAU means any business can market and innovate their product, which as per my Drucker quote, are the only two basic functions of a business.
PS - If the OP reads this, the "artform" of journalism is no different than a coder writing pinterest. Coding just scales WAY better.
(not challenging the provenance, just want to know)
http://books.google.com/books?id=gyKbgTCs2e0C&pg=PT10&dq=%22...
Employees who have an unclear idea of what they're doing or why they're doing it, also don't have their focus on improving their company and the lives of their customers. Hence they'd often make arbitrary decisions regarding how to prioritize their limited resources (time, money, which features go into the next milestone etc.). And in this way they may end up dragging the company down.
An employee asking themselves "am I worth it" can be a sign of a dysfunctional company culture, or the problem may lie with the employee, but wherever the blame lies, people who don't know their worth are in the long run not worth that much to their company, fad and cargo cult caused disbalances notwithstanding.
I find it amusing that the author of the article talks about a secure future, when there are so many "everyone should code" initiatives. It seems pretty obvious that the economy tries to drive the supply of devs high so they can lower the wages.
Also, are developers (or "coders") really so highly paid in the US? In Germany, the wages for devs are relatively low, despite the often summoned "Fachkräftemangel".
> "I do this enough times each day that a simple association has formed in my mind: if you’re not technical, you’re not valuable."
That kind of mindset is abnormal, a sign that he needs to diversify his media intake, and I don't think that represents the mainstream. If all you consume is TC, VentureBeat, Silicon Valley, and Betas, you'll end up thinking something along those lines. But I can tell you that out of all the people I know, that is not what they believe. In real life, you learn that people in sales, people in social work, people doing non-programming things in life are just as important. As for market behavior, there are probably unfair events happening. But I wouldn't beat myself or anyone else up about what the market does.
And maybe the whole tech scene is more and more part of the news but I think that it's no reason to feel doubtful about the things programmers do everyday and their purpose no matter how mundane it may seem. The whole idea of purpose in my mind is a bit pretentious. Why does it always seem like purpose is equated to the lowest tier on maslow's hierarchy of needs? Is a doctor in a hospital more morally purposeful than a programmer at Snapchat? We're living on a rock in the middle of space, on a speck of dust. Purpose is what you make of it. Snapchat helps me keep in touch with my sister. Facebook lets me keep track of my friend's birthdays. I met my girlfriend of 7 months on Coffee Meets Bagel. I'm achieving self-actualization though these mundane products. I'm grateful for everyone working on those products. And I feel appreciated by customers of my social media marketing software, marketers who have just saved themselves a boatload of time and hassle. So I don't beat myself up because I work in marketing and advertising because I know that I helped someone. And as long as you too feel appreciated and help another human being out, I think the whole moral argument is bunk.
Programmers are definitely worth it, if you spend $10K on a programmer to build a system who writes a system that makes a process that used to take 3 people 2 days and now takes 1 person an afternoon to complete then the RoI is clear (the last system I put into production actually saved that amount of time).
Silicon Valley and the start-up scene grossly distorts the whole argument because of the insane salaries paid to developers on "It's facesmash right..but for dachshunds".
Outside of the reality distortion field, there are thousands (if not millions) of developers building unsexy workmanlike products that supply a need for a business and reduces costs by more than they cost to develop.
My "startup" is not sexy, I don't care about j-curves, accelerators, user trends or anything else, it is simply a well engineered (hopefully!) solution to a regulatory requirement for a specific industry, in theory I can reduce several days worth of tedious and error prone paperwork to an hour at most and make it an intrinsic part of the company and project.
When it comes to hiring I won't by hiring "coders", I'll be hiring programmers.
Now get off my lawn ;).
I personally know people that writes professionally, including Nobel prices in Spanish literature(I organized writers meetings, specially promising young people with already famous ones). Most of them do not believe writing is hard.
In fact I remember Francisco Umbral being asked about it, how he could write something everyday for the newspaper. He said it was extremely easy, you could always find something interesting if you think about it.
Thinking writing is hard is a self fulfillment prophecy.
About working hard, coders do not do all the work, that is the question. Most of the work is done by a machine, the computer, like current coal miners, they use machines for doing 95% of the work, from drilling holes for explosives to removing material.
They(the miners) also earn lots of money, and breathing issues are improved with machines too(full masks). The reason the retired at 40(with full pension) in places like Spain.
So working hard is not that important anymore, when machines are the ones who work hard. Those do not suffer or feel bad or exhausted.
Some people believe that work for being worth something needs tears, sweat and blood. Martyr psychology.
Now, this question is ambiguous between two different interpretations of being "worth it". Clearly engineers are "worth it" by any economic metric--viz. high employment rates and high salaries (when mean rates are compared to other disciplines/jobs). But I take the OP to have an existential dimension built into the query. Meaning: does a hacker value what she does when contrasted against what she could be doing? So, whether or not hackers value what they do is completely different from what they do being worth while. Perhaps someone working on something at Google may value what she does less than working on her own startup idea. In this respect, to each his own.
Just compare dollar evaluation; managers, salesman or even HR are more valuable.