The article is technically well written, but somewhat uninformed which stems from the author's limited experience and what he sees in popular media.
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
I remember reading this article when it first came out - it's biting and does a good job criticizing things that probably deserve some criticism.
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'.
> 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.
Devs getting paid well is nothing new. If you look at enterprise apps, we're making good money, but not more (or much more) than 10-15 years ago. Salaries have been pretty stagnant just like the rest of the middle class. The 21 yr old with 6 month experience making 100k. That is a newer development I think. Bubble.
You will always have the nagging guilt of passing by the janitor, whose job exists because cleaning bathrooms is dirty and time-consuming, and wondering why your work has more value than theirs.
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.
> Why does a web developer making to-do apps lead a better a life than someone researching cancer cures?
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.
If the Janitor taught himself to code over a period of years as you did he could be working the same job you do.
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.
Are you seriously comparing the privileges given to a white young male working at a tech job in Silicon Valley to those (or lack thereof) of a janitor?
Developers in SV are overwhelmingly male, and generally of European, East Asian, or South Asian heritage. There are very few who are of backgrounds more typically found engaged in janitorial services, typically Hispanic or black.
Pointing out the skewed demographics, if not outright racism and sexism in the software world, is quite on point in the context of TFA.
I would contend that the reason there are not more Hispanic or Black people working as developers has more to do with social and cultural reasons in the home and community and less to do with the willingness to hire them, any decent developer can get a job in the valley.
That's a deferent debate and completely unrelated to the point I was making about the guilt over seeing a janitor who's race was not mentioned, stereotype much?. You can try to twist my comment into something it is not but know that you do so with no basis as you do not know my actual views on the subject.
As I said: skewed demographics, certainly. Outright racism? Quite possibly.
I'm not questioning your views specifically. I'm making a comment on my own informal, but long-duration, observations of composition of technical vs. unskilled positions.
If you can provide racial demographics on people holding janitorial positions, please do.
There are numerous studies which show hiring biases for identical resumes with different names attached to them:
Job applicants with white names needed to send about 10 resumes to get one callback; those with African-American names needed to send around 15 resumes to get one callback.
My experience with janitorial and housekeeping staff through much of the US, including the west coast, is that they're frequently economically disadvantaged minority or immigrant in ethnicity. It's a low-education position.
A union history of west-coast janitorial labor organization emphasizes Mexican and Hispanic groups: "Unions and the Fight for Multi-Racial Democracy" http://dbacon.igc.org/Unions/11mulrac.htm
Working-class power will determine especially if this democracy represents the needs of African-American, Asian, Latino, Native American and other people of color, who are overwhelmingly working-class themselves.
> You will always have the nagging guilt of passing by the janitor, whose job exists because cleaning bathrooms is dirty and time-consuming, and wondering why your work has more value than theirs.
I wouldn't necessarily say that it does. Janitorial service contracts can be lucrative.
"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."
Not all the time. Sometimes the guy cleaning the toilets actually did negotiate the contracts. Don't be surprised if he's taking home more than you are.
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.
Average income or wages for janitors are available. The rates are considerably below those of software developers and other technical IT staff. There are exceptions to averages, but it's absolutely fair to say that the typical janitor is making far less than the typical software developer.
> I don't know if a union would make sense for writers
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).
That is indeed a small part of it. Much more is that anyone who can graduate primary school can probably do an acceptable job as a janitor while the capacity to do programming just isn't as common. Supply and Demand, baby.
I've decided to "rotate out" of CRUD-ish web and app development for these very reasons, after doing it for about 15 years. I can't help but feel most of the skills that developers have that get them showered with high paying, high security jobs are on a crash course with being commoditized. It's only going to get easier to develop networked data-flow oriented applications that solve business problems, so if you want security in your career you should be working on things that are, at least for now, deeply challenging and have a reasonably high knowledge barrier to entry. Particularly things that require some serious domain knowledge that your average software engineer won't pick up naturally in a short time on the job. Rails app development is not that.
Whether the wave of abstraction drowns you or propels you depends on whether try to fight it or learn to surf it
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.
web developers like the OP can very easily go the way of any other field that has been killed by sufficient automation. i don't see CRUD-app development as a robust, long term skill, despite how well paying it has been the last decade.
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.
Good for you gfodor. I used to do a lot of jQuery, ASP.net, Rails/PHP front-end development and honestly even some of the backend stuff I did was basic CRUD.
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.
You're spot on. IT is in the same place... I was at one org that has something like 90 people fiddling with VMWare. They probably need 10 -- I wouldn't want to be the junior guy on that crew.
In Germany there is a lot of talk about a "Fachkräftemangel", meaning a lack of specialists, especially for IT jobs. Many IT professionals assume that the reason is that the companies want more IT professionals so they can drive the wages lower.
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 agree. I prefer the term software engineer. Terms like "coder" and "programmer" (when referring to job roles) trivialize the profession; they set low expectations for the contributions an effective engineer will make to a business. Programming, the art of writing code, is just one piece.
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.
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".
Why do people have a penchant for insisting on comparing software engineering (or programming or whatever) to civil engineering, specifically? Isn't there a whole world between the structural engineering of a skyscraper and the engineering of a new todo-app?
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.
I'm a Software Engineer. You can scoff, roll your eyes, or outright laugh if you like. But it's the term I use to describe what I do, it's the title on my business card, and, if I may be permitted an appeal to authority, it's the subject of my graduate degree.
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.
Exactly. Software engineering practically surely involves programming, the reverse does not hold. Adhering to rigorous coding standards, static analysis, deep understanding of the program structure at hand goes a long way in the software engineering field. Not every programmer (or coder) does that, so not every programmer is an engineer.
Of course, going to school for an EECS degree also should instill such values, including engineering ethics and codes of conduct.
> 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.
I like the term 'coder'. It essentializes what I do, it does not diminish it. In my view making software is a craft, closer akin to woodworking (or painting!) than engineering.
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.
When I hear that term though, the only thing that comes to mind is a person who just translates requirements into one programming syntax and has next to no thought involved in the process. No architecture, data model design, etc.
Do those people really exist? It sounds like a stereotype. how can a person translate a business requirement into code automatically? if that was possible I'd think CASE tools would be more prevalent than they are.
Only small software projects can be compared to woodworking or painting, anything complex requires careful advance planning, rigorous testing, and peer review, just as you would expect from any engineering project.
Anecdote: at Google we're called "Software Engineers". In response to this, a very senior and well-respected colleague changed his title to simply "Programmer".
I actually find the term useful, when not applied to the entire field. "Coder" seems like a more polite and less derogatory form of "code monkey", as in someone who "just" writes code and nothing else.
"“Because the purpose of business is to create a customer, the business enterprise has two–and only two–basic functions: marketing and innovation. Marketing and innovation produce results; all the rest are costs. Marketing is the distinguishing, unique function of the business.”
-- 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.
You got me curious as well, so I went looking. According to Michael Port in his own Beyond Booked Solid, the quote is from Drucker in Drucker's The Practice of Management.
Thanks for sharing the article, I think it was a pretty thought provoking read. I do think that this guy has impostor's syndrome, and feels like his accomplishments are not worth what society says they're worth. But I disagree with his woebegone attitude about it as if it is his responsibility for the market's behavior. And I disagree when he tries to pin the pulse of American thought in 2014. For example, when he says that we're slowly turning to a society where
> "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.
The writer talks about Hemingway, he should learn from Hemingway to express himself in less words. Hemingway learned from news reporting.
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.
First, I agree with the sentiments of some of the above commenters, "coders" just sounds ridiculous.
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.
Yes, there are a ton of tools that help us software engineers, but to put together a software it still takes a ton of expertise to piece it together. Let's talk about Finance, are traders not provided with excellent tools? Are analyst not provided with Factset or Bloomberg to give them insights? The whole world works like that, not just software development.
The most valuable developers are the ones that also have a good understanding of the business-side.
A very valuable skill is the ability to talk to the business-types in their language. You become their conduit into the tech-world and they trust you. Most business-types are scared of the technical world.
The essay starts out with a good premise, but in the end, he seems to have conclude that "fair market price" is equivalent to the added value to the society of the job. That seems quite a bit off of a conclusion to me.
Not exactly. I read "I know this because of all the money they give me" as somewhat tongue-in-cheek, like he's saying something he wants to believe, that the world tells him to believe, but cannot help questioning the truth of.
>In today’s world, web developers have it all: money, perks, freedom, respect. But is there value in what we do?
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.
Are you kidding me? I think maybe you need to get out of your bubble and go work a real job for a while. Go work in food service, construction, or retail, which is what most of America is doing.
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.
I've worked in all of those fields. I know exactly how much easier programming is than roofing and sanding boats and unloading trucks. Nevertheless, outside of a select few, most programmers are assembly line workers with better chairs.
Agree. It's why I got out of full-time, on-site programming. If I'm going to be doing it, it's going to be on my terms. And the freelance market has been pretty responsive to that.
I know plenty of people who wouldn't want to touch an office job with a ten-foot pole. It's not like the creature comforts of a nice office environment is the end-all-be-all for every person and their respective inclinations.
Sure, I'll stipulate that some people hate working in a sterile, air-conditioned office.
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.
The shut-up-and-keep-coding places that treat programmers like line workers are often the same types of poorly managed places that overpromise on deadlines, so 9-5 doesn't exist, refuse to matriculate full-time workers, so benefits don't apply, and don't pay anywhere near 200% of median household income. There are lots of companies that don't fit your model. It often has very little to do with climate-controlled office environments.
Junior programmer (22): makes $80-100k, 120k in the Bay Area. Easily gets jobs.
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.
I would qualify myself as an "expert programmer" given your scale, and it actually took me 2-3 weeks to find a job last year.
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.
The salary depends a lot on where you are. Junior programmers in my area can't expect to make more than ~$40k (just below Alabama's median income). I would love to have the $80k salary that you claim "junior" programmers make (and like to consider myself closer to senior, given the options you presented). Maybe it's because I live in the wrong city, or didn't go to a reputable college, or am looking in the wrong places. My point is, it's difficult to feel privileged with a below-average income. There's something to be said for the environment: the (average quality) office chairs, the incredibly smart people I get to be around on a daily basis, having a job that allows me to prop my feet up and work off my laptop all day.
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.
I work as a full-stack developer and UI/UX designer, specializing in Node.js on the backend. I've been working a bit with Go lately in my free time. I also work at an agency, so that may affect my salary as compared to working on, say, a SaaS product.
Out of my own curiosity, where would I seek a 75-90k salary where the cost of living doesn't negate the increase?
Thank you for the detail! You definitely sounds like you should be 100k+ to me.
I would say you don't even have to move (although Seattle might be a good choice), but you'd have to find remote work.
Do you have a Github and LinkedIn profile? Put Go, Node and front-end expertise on there but don't say you're looking for a new position. When the recruiters start contacting you, let them know you're open to remote work ONLY if they can get you 90k+. They can get you this. State that it HAS to be remote in your initial contact and don't waiver.
Alternatively you could spend a couple years in the Bay Area or NY and build up a great network then move back as a consultant or remote employee.
Another negotiation tip: The recruiters will ask you how much you're currently making. DON'T tell them (you can after you get 100k+ :). Tell them "I'm not currently looking for work, but if you can find me something 90k+ I would be willing to take a look". Be nice but be firm.
I hope I don't come across as a dick but it sounds like your skills don't really match your location. I'm sure there are 10x as many .net/java roles in your area than node.js ones. Outside of a few major tech hubs the well paying jobs that will pay $70-$80k for a junior are more "boring" corporate roles.
You don't sound dickish at all, and you're absolutely right that there are more "enterprise-y" roles here than Node. In fact, the shop I'm at now is one of probably less than 10 companies in the entire state that would hire anyone to do Node. During my time here I've racked up over 2000 hours working in Node.js alongside some very bright people, and it's a technology I feel quite bullish on. I'm always trying to learn and grow as a developer, but I feel a lot more comfortable working in technologies like Node or Go than something like Java. That said, I'm not opposed to JVM offshoots like Clojure, which I find fascinating.
From Austin, I've seen junior salaries around 75k. Cost of living is pretty low. I'm in Seattle now, where most of the companies are in the 90k-120k for junior pay. It doesn't have the same cost of living as SF and is much more reasonable.
A $40K salary in Alabama might very well give you a higher standard of living than $80K in NYC or Silicon Valley, where housing and other necessities are very expensive (and income taxes are probably higher).
That's true, but he mentioned "$120k in Silicon Valley", which leads to believe the $80k applies to "places with a lower cost of living than Silicon Valley". I've looked at the numbers before and the standard of living evens out, depending on your priorities. If I live in San Francisco, I have a much shorter commute than my current 30-minute one-way drive from the suburbs - however, we'd have to double or triple our rent to maintain the same size apartment.
FWIW: I'm a junior programmer (22) and get right at the 80k mark. I'm not sure how common it is but I know my similarly-aged friends and coworkers make nearly as much as I do.
Usually people want to own a home when they start a family. Home prices in the bay area are insane, second only to Manhattan. If you are able to pull in 200k a year as a remote worker, you can get a much nicer home by just moving a few hundred miles away.
Also, you're paying 3-6 airfares when you travel, and you have to worry about education expenses. Even though there are great public schools, those are expensive when one considers that they're priced into the housing market. Then there's college (especially admissions and the attendant dark tuition, which are more terrifying than tuition because dark tuition-- elite high schools, counselors with connections, bullshit "internships" on bought strings-- can run into the half-million range). I'm terrified of how competitive college admissions are going to be in 25 years, especially because going to an elite school matters far more than it used to. (There are plenty of 50-year-old CEOs who went to state schools; these days, kids from Yale can't get VC.)
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.
It also comes with pronounced income uncertainty. Software gigs run 2-5 years very typically. Spending 6-12 months in a job search (there are bust times as well as boom) when you've got mouths to feed is particularly stressful.
I'm probably exaggerating the badness of it. It depends how sensitive you are to context.
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.
I don't interview if there isn't a high chance that I'd take the offer, but I pay attention to salary trends and opportunities pretty much constantly, because top-notch opportunities are uncommon and usually come through networking. Chance favors a prepared mind.
I wouldn't waste someone's time to "just humor" them. I feel like that would backfire.
Good designers, good developers, good <insert profession here> have an acute sense of where their role is in the business.
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.
It looks like the title question posed by the author is more about "worth" to improving society as a whole, rather than "worth" of improving the business of the company.
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