Update: After publishing this post, I’ve heard from a ton of Yahoo’s telling me that it is now a much better place to be thanks to Marissa Mayer’s positive changes. Marissa’s first order of business has been to make Yahoo a great place to work. That is absolutely the right place to start and the reason why people are excited and hopeful about the company once again.
During my tenure at Yahoo (circa 2001 – 2007) I learned how to do a lot things, but just as crucially, how not to do certain things. Chief amongst the latter was how not to treat engineers. Yahoo, despite many well-intentioned efforts and notable exceptions, did not empower engineers. Even though we engineers created tons of value, it was the non-engineers who were often the gatekeepers. Eventually many of the best people noticed, got fed up and left.
After I left in 2007 to co-found Polyvore, one of my main goals in life became building an environment that highly values engineers and treats them as first class citizens. I continue to strongly believe that all sorts of good things follow from that.
I have since been thinking about why engineers are systematically undervalued compared to more traditional roles given the tremendous value they create. I have come up with three sociological reasons:
The Tangible vs. the Abstract. People are biased towards valuing tangible things they can see and touch. They can see and naturally appreciate an office building full of people working away at their desks. They can look at a new high-rise building and appreciate its scale and design. They are inclined to assume that whoever is in charge of these things must be very valuable. In contrast, they can’t see or touch the software that performs the equivalent job of 50 people or the software that was used to architect the building. Software and other abstract intellectual works tend to be systematically undervalued because they are not as visible.
Lack of Measurement. In absence of good ways of measuring and valuing the true worth of things, people tend to fallback on their biases in assessing the worth of things. People tend to assume bigger team = more importance. For those of us who have ever worked in a “Big Co.” this is perhaps an intuitive explanation of the way some big company executives are focused on growing their fiefdoms through amassing bigger teams. More people = more clout & compensation.
Fairness vs. Conformity. People highly value fairness. Interestingly, this bias works against productivity outliers like Software Engineers who can be orders of magnitude more productive than others. An engineer may be able to automate a process so the task of 50 people can be done with 5. People have a hard time accepting that a single person should be compensated an order of magnitude differently than others because that level of disparity seems unfair.
There are also practical reasons. For example, a manager in charge of a large group is indispensable because without them things might quickly degenerate into chaos. Their indispensability creates negotiation leverage. In contrast, the best software engineers are constantly making themselves redundant and leaving behind systems that continue to operate and deliver value even after they have moved on. Only the most enlightened companies truly value these types of people.
If you are in a line of work that creates scalable but complex, abstract intellectual works, chances are you’re under-appreciated and therefore undervalued.
What to do?
Be awesome. Just because you are an engineer does not mean you are creating tons of value. Are you a multiplier for your colleagues? Are you working on projects that can scale?
Tell stories / Communicate. One great way to make complicated abstract subjects understandable and appreciable is to tell stories about them. Explain why the feature you are working on is important in terms other people can connect to. Once people understand the why, they can also appreciate the how and what.
Be metrics driven. Metrics that people can relate to are a great way to give substance to the abstract and communicate the value you are creating. Few people understand that say tweaking the image compression ratio shaved off 4.5KB from every image served. More people understand it when you explain those savings made the end-user page load time 15% faster. Better yet, you can explain how each 10ms shaved from the page load time means 10% more revenue. Everyone understands revenue.
Join the right kind of team. At the end of the day, you are probably better off joining enlightened companies that value people based on their actual contributions versus outdated social norms. A good filter is to look for companies founded / run by engineers and companies that are heavily metrics driven. Ask to see the metrics dashboards!
What do you think? Are there other reasons why engineers are undervalued? What advice do you have for selecting good environments to join?

This is so true and sad. I work at engineer owned company, but every day i see how our clients can’t understand why they have to pay what we demand, they’re like “you just sit at the computer, no hard work, so why so expesive…?”
I feel like the last point on your what to do list should be the first. I see no point in devoting my time, energy and abilities to a company where I am not respected and my value not appreciate. The only cases I would choose such a position are (1) I’m being paid a disproportionately high salary and (2) there are other great engineers there I can actively learn from. But in both cases, it would be a temporary solution.
True. That is actually the point of the post, but to be constructive, I felt that I should point out ways people can affect their current situation.
Pasha – well written post but I would like to proffer a few counterpoints in two areas:
1. Tangible vs. Abstract – Your point is that the software being intangible isn’t valued. The broader issue, IMO, as far as software engineering goes is that the actual instantiation of software is still a representation of a product. You can build a woeful product beautifully or build a beautiful product woefully. The latter will always have a better chance of long term success and so therefore, the folks responsible for the decision up the value chain provide more impact longer term.
2. There are also practical reasons – I strongly, strongly disagree with your point about managers. Elite managers strive to make themselves redundant. It is the hallmark of the best in the business – but I will concede that the valley is riddled with more engineering managers and even poor engineering executives. The landmark text – Execution, the Discipline of Getting Things Done by Ram Charan is practically an entire tome dedicated to this concept. A leader who builds an organization that crumbles beneath them when they leave is a failure in his craft. Similarly, engineers who design solutions to create job security are also just as poor in their craft so I don’t think this specific example supports your argument necessarily.
As for what engineers should do so that they are not undervalued – I would add to your excellent remarks that engineers need to study the business in which their company operates in completely. Every engineer needs to be able to read a financial statement, an S-1, and be able to perform basic market analysis (especially competitive analysis). To the extent they can do so, they have a key opportunity to marry their technical insight into net-new opportunities that could potentially dislocate the business. It is this space where an engineer can use their talents of invention that they can make the biggest difference. Sadly, this is also where most engineers flounder. Instead of settling for instructions on what to do, engineers need to be provided the context to the problem they are solving so they can ask themselves what can we build to make the product better?
My point about tangible vs abstract is that abstract/invisible things are harder to appreciate by non-experts because of the way our brains have been wired through the eons and probabilistically are more likely to be undervalued. It is easy for experts to value the abstract/complex in their respective fields. The problem is that in any medium/large organization, engineers have to interact with people who are not experts in the field of software.
My comments about non-redundant managers: I completely agree with — everyone’s goal should be to make themselves redundant. It is the only way to scale beyond an individual contributor. Unfortunately, for a variety of reasons, people are not always motivated to do so.
I think the reason you might be under value its because of the profile picture you have… lol.. kidding. some humor is always good!
What do you mean by “undervalued” – do you mean they are not involved enough in strategic decisions, or not given the salaries they deserve?
In my experience at eBay & Yahoo, engineers were a highly valued resource in monetary terms, but the individual developers were not necessarily valued in decision making. In a big software company, engineers are like diamond-coated drill bits: expensive tools waiting to be put to good use. They are costly to replace, but still mostly interchangeable.
I suspect this has a lot to do with the way a company transforms with growth. A startup is much more likely to be filled with people who are playing multiple roles, and who are expected to be both thinkers & doers. As it grows, those smart, highly valued people continue to have far more good ideas than they can possibly carry out themselves, so more help is hired to follow their direction and achieve their vision. But at that point, the company is looking for people who are efficient at coding, and cares less about their ability to actually contribute to decisions about the direction of the product. Especially if the company is aggressively hiring for explosive growth – they don’t need more ideas when they are filling seats for their existing plan. So they hire coders instead of engineers and architects, and hire more QA since those coders won’t have time (or can’t be trusted) to check their own work.
So what’s an awesome engineer to do? Being more awesome in a big corporation isn’t necessarily a path to success. You may win more respect from your technical colleagues, and you may be better compensated, but it’s still difficult to translate that into more influence over how your product evolves. Even when you’ve won support for your ideas, it’s all too likely that key features will be whittled away to meet deadlines, and your leadership will change direction again before you have a chance to bring your vision to life. If you’re lucky, maybe you’ll be branded a “rock star” who can be yanked away to work on the latest pet projects from the executive team. This might be fun if you enjoy flashy demos and congratulatory group emails, but not if you want the satisfaction of owning, improving, and perfecting a product that ultimately multiplies the value of the company.
That’s why your last point rings true: you have to join the right team. If you want ownership, you need to find an organization that’s still small enough to share the decision-making, and that is growing to increase opportunity, not to chase arbitrary release dates or bolster a manager’s ranks in a power play. You want a company with a track record of hiring awesome teams and trusting them to find the right solutions for their customers’ needs. And of course, you *do* need to be an awesome engineer that can handle the responsibility. :)
Because SW Eng’s bosses are mostly from the same background. So this blocks to build strong labor unions. Without unions, we are slaves.
That’s true and sad that nobody understand our work. But as long as you correctly earn your life, who care ?
Great article!
Currently it seems like WordPress is the best blogging platform
available right now. (from what I’ve read) Is that what you are using on your blog?
Hmm is anyone else encountering problems with the images on this blog loading?
I’m trying to find out if its a problem on my end or if it’s the
blog. Any feed-back would be greatly appreciated.
I got this web site from my friend who informed me about this web site and at
the moment this time I am browsing this web page and reading very informative articles
or reviews here.
Good web site you have got here.. It’s hard to find quality writing like yours nowadays. I honestly appreciate people like you! Take care!!
That is very fascinating, You’re an excessively professional blogger. I’ve joined your
feed and sit up for in the hunt for more of your great post.
Also, I’ve shared your website in my social networks
Hi there! I could have sworn I’ve been to this website before but after checking through some of the post I realized it’s new to me.
Anyways, I’m definitely glad I found it and I’ll be bookmarking and checking back
frequently!
Hey there would you mind letting me know which webhost you’re using? I’ve
loaded your blog in 3 completely different internet browsers and I must
say this blog loads a lot quicker then most. Can you recommend a good internet hosting provider at a reasonable price?
Thanks, I appreciate it!
I was wondering if you ever thought of changing the layout of your site?
Its very well written; I love what youve got to say.
But maybe you could a little more in the way of content so people could connect with it better.
Youve got an awful lot of text for only having
1 or 2 images. Maybe you could space it out better?
I do trust all of the ideas you have offered for your post.
They are really convincing and will definitely work. Nonetheless, the posts are very brief for
starters. May just you please lengthen them
a bit from subsequent time? Thanks for the post.