HACKER Q&A
📣 5444r1f4tg

Do software engineers have leverage?


The web (including this site) is full of discussions/articles about how the job market for software engineers is hot, and getting hotter after the pandemic. People say it's a seller's market.

Some other people say it's actually a sucker shortage, meaning that employers do not compete on salary.

Then Triplebyte wrote (1): "Engineers are almost completely unique as a labor force. There is far more demand for engineers than there is supply, and that makes engineers powerful in a way other professions are not."

A handful of software engineers produce software used by millions, and therefore generate an immense amount of value.

Open source contributors give away a lot of value, since if everyone had to re-create their work (including its dependencies, its dependencies' dependencies, and so on), there would be 1,000,000 times the demand for software engineers than there is today and innovation progress would be much much slower.

Do software engineers really have leverage?

How could we increase our leverage?

Why don't we choose to use our rare skills for our own profit (as everyone else does), and instead many of us give away immense value (and power/leverage) by open sourcing our work?

[1]: https://triplebyte.com/blog/rethinking-triplebyte


  👤 baron816 Accepted Answer ✓
> Open source contributors give away a lot of value, since if everyone had to re-create their work … there would be 1,000,000 times the demand for software engineers than there is today

This is a misconception. Imagine everyone had to write everything in FORTRAN. Would there be more or less work for SWEs? There would be less because each one would be far less productive and the value you could get out of hiring one would be small.

You’d never hire someone unless you can make more money off of their employment than you have to pay them. SWEs get paid a lot because they are able to generate a lot of marginal value. Without the tools that make us productive, we don’t have that value.


👤 bob1029
Yes, engineers have leverage, but it is just like any other resource.

A skilled engineer starting out in their career will begin with zero leverage, but ideally will possess the means to increase it substantially over time.

Software engineers on average have tons of leverage, but the distribution underneath that probably looks like a bathtub. On one end you have a pit of despair, confusion and failed business, and on the other you have the likes of Linux kernel maintainers, Microsoft Distinguished Engineers, et. al. Remember, this is the leverage distribution, not perceived skill/experience distribution - I have never really seen someone with a "medium" amount of leverage in the business. You are either the manager or the managed.

If you want to quickly move from one side to the other, the best way I have observed is to relentlessly chase the end business value and make it clear that you can deliver something that people with $$$ or power care about. Whether this means actual customers that pay you, or your open source community, it doesn't really matter. Everyone knows the skills transfer almost universally between styles of project.

Spending a majority of your time chasing shiny technology just for the sake of cool new things is how you stay on the drain-side of the software engineering leverage bathtub curve.


👤 Nursie
> it's actually a sucker shortage, meaning that employers do not compete on salary.

This is apparent in the UK, where there is a two-tier market (IMHO). Those that are good at what they do and recognise their value, go semi-independent and sell to the highest bidder on a day rate.

Then there is the perm market, which pays very few people all that well, and is a constant source of complaints - "we can't fill our vacancy for X niche skill at £30k per year!". Well no, you can't, because that niche skill commands four times that, and you're thinking about software engineers as if they were office juniors, not highly skilled professionals. At this end, it is a sucker shortage.

They'll fill that role, eventually, and they'll get someone with low productivity that produces unreliable software, and they'll feel justified in their vicious low-pay, low-expectations cycle.


👤 koch
We could coordinate our responses to recruiters, even (especially, perhaps) when we're not actively looking for new roles.

I was thinking about this while working on a compilation of companies that have a four day week[0]. I even added a section with suggested replies to recruiters, along the lines of "While I'm not actively looking I'd be much more willing to talk if you had a four day work week like the companies on this list."

If instead of limited to no responses to cold messages there was a consistent thrum of "we want X", firms might get the message.

[0] https://thelistofcompanies.com


👤 cloche
I've wondered why software engineers don't get royalties similar to Hollywood writers. If a writer writes a hit show/movie that is still played 10 years down the road, they receive royalties. Why isn't software the same? If I write code that is still producing value for the company after 10 years, shouldn't I get royalties for that?

I disagree about the open source effect. I think the rise of open source has been a great catalyst for advancing the industry. If every company had to do everything themselves, the Internet would still be stuck in the 1990's.


👤 lordkrandel
I think you're completely wrong. If there was no opensource, we would have an ActiveX internet with Silverlight and DCOM+ and still struggling between different software renderers in a world without Chromium. I mean that the open source has opened up what the software world is and what it can be. Every opensource software enables (keyword) the paid software world to cooperate. All these jobs you see are there because there is Linux, Angular, Javascript, Python, Go and all their opensource library companions. Also Microsoft understood that, it's time you also do.

👤 softwaredoug
I often think of the “performance management” regime at most companies as a kind of social engineering designed to have us forget our tremendous power. It’s too focused on the employee and what the employee needs to change, not on the employee-employer relationship, where both sides have value.

Usually it’s couched in terms of arbitrarily assigned levels/titles with status and exclusivity assigned to them. Or certain kinds of work from the employee favored over others. If you read the book Influence, you’ll recognize things like social proof and scarcity that can be used to manipulate us.

It _isolates us_ in our negotiating position with the organization. We have no idea, really, if we compare favorably or not to our peers. Hearing criticism without understanding how our contribution compares to others, how our _compensation_ compares to others puts us in an unfair negotiating position.

But at the end of the day, you don’t have to buy into that regime. If you’re competent, you can just vote with your feet and you will get another job.

The trick is to frequently exercise your power away from your employer. Write the occasional blog article, speak at a conference, or contribute to open source. You can use these as external signals to make your own decisions about your performance, and also get signal from the community about the marketability of your skills. This can come fairly directly in the form of hiring interest from other companies based on your activities.

In short, don’t wrap all your career options in your job. Keep a toe outside the company and always test those waters in case your situation at your job goes unfavorably.


👤 dahart
> Do software engineers really have leverage?

Implicit in the question was a jump from having value to having leverage. It’s possible to have high value and low leverage. Software does produce high value, but there are also many many capable software engineers.

On a side note, I think software engineers have huge amounts of leverage within a given company, in the sense that they often have considerable control over what gets made, how things get made, how long they take, etc. I’ve watched engineers hold up projects they didn’t want to do by sandbagging estimates and building narratives of why it won’t work, and conversely working on the fun problems that interest them and express confidence and optimism that it’ll be great and get done fast. This happens in groups sometimes too.

> How could we increase our leverage?

Most important question to answer is not how to increase leverage, but to clarify what you want. To what end is an increase in leverage? More pay? More time off? Better working conditions? What exactly do you wish to negotiate, and who do you wish to negotiate with?

Speaking about engineering value and leverage is also myopic and seemingly forgets about the value and leverage of other people involved in selling software. Marketing, design, management, sales, QA, and all the other types of jobs that are required to produce and sell high profile software. All of them have value, and software companies can’t do without them.

To increase leverage as a group, software engineers would need to organize as a group. In order to have the leverage to make requests or demands, the entire group needs to be willing to hold out their value until the requests are satisfied.

> Why don’t we choose to use our rare skills for our own profit

Some of us do, by starting a business. Others of us do by taking high paid jobs. You’re in the right place; Hacker News is a forum attached to a well known and competitive seed fund, and much of the News is historically about how startup companies succeed and fail.


👤 koopuluri
> ... if everyone had to re-create their work (including its dependencies, its dependencies' dependencies, and so on), there would be 1,000,000 times the demand for software engineers than there is today and innovation progress would be much much slower.

The greater demand for software engineers stems from the pervasive adoption of software in billions of peoples' lives. With less powerful open abstractions, innovation would have happened more slowly (which it sounds like you agreed with in your point), leading to less pervasiveness of software => less live software applications => less demand for software engineers.

Our leverage in fact comes from building abstractions that enable more rapid product development that leads to greater software pervasiveness in all of our lives - leading to greater demand of the engineers needed to maintain these abstractions and build on top of them.

Now, I agree with you that open sourcing might not be the best way to maximize the value you capture with your work. That's a problem worth solving - I see great value in better incentivizing valuable open source project creation and maintenance w/out overreliance on a couple of large cos.


👤 ftrojdof
Once I tested whether I had any leverage as a software engineer in an american company I was working in. I started a discussion about a unethical issue, indicating that I can't see myself working there anymore if they wouldn't fix it.

The company didn't fix it because they were profiting from it, and so I left, which cost the company >10x those profits. Either they didn't care, weren't aware of the tradeoff, or simply didn't want a lowly engineer tell them anything about ethics.


👤 laurentdc
Not the average software engineer and definitely not at the entry level. I always had a feeling that "engineer shortage" articles are only made to push people into studying CS so employers can drive wages (even) lower.

👤 sage76
> "Engineers are almost completely unique as a labor force. There is far more demand for engineers than there is supply, and that makes engineers powerful in a way other professions are not."

In my experience, this is absolutely not true. Everyone I know struggled to get interviews. If you got an interview, a single mistake would end any chances of getting another interview.

The algorithm rounds were brutal, esp online coding tests. I have been grinding leetcode but I'm mentally exhausted now, and working an unpaid job at a startup to at least stay in the game for now.


👤 killjoywashere
Maybe it's time to build the American Software Engineer Association, buy a nice building next to Capitol Hill and lobby Congress and state legislatures to mandate licensure. That would secure a walled garden for the profession and ensure leverage for the foreseeable future.

👤 jillesvangurp
Software engineers tend to over estimate their value and seniority. It's the opposite for their main customers, who tend to under value what they get for their money. So, this combination of poorly matched supply and demand makes for a lousy market. A good strategy is to be above that. I don't do coding exercises and I set my rate above the rate where that would be a thing at all. That puts a stake in the ground: you are hiring someone with seniority. Either that's what you are looking for or you are wasting both our time. It's that simple. Of course up to me to live up to that. It's not all about being cocky here but actually managing to get to the stage in your career where you can do that and get away with it.

The value of OSS and being part of its development is that it's done in the open and that the active contributors are undeniably very good at what they do if that is apparently keeping a lot of OSS users happy. If I have to choose between two engineers and one of them is behaving professionally on Github with a nice track record of issues, pull requests, perhaps a few nice repositories with lots of stars, etc. It's no contest at all. I'll be extremely biased towards the latter given their proven track record and not really interested in why that other person might feel above doing that.

IMHO it's impossible for good developers to engage with the OSS world and not contribute to it. At minimum, you are going to run into issues and act professionally by investigating and engaging on the issue tracker. It's just basic due diligence. And it includes looking through existing issues, the comments, and where necessary the code. A lack of any Github activity whatsoever for me is a red flag when it comes to seniority. You can't be senior and not do that.

Leverage in business negotiations comes from understanding your customer and being able to address their real needs (as opposed to what they are asking for). A simple strategy is to ask for more than they are offering. This puts them on the defensive. Now they need to argue your value down and they are actively thinking about what you could do for them. When they say no, it needs to hurt them a little because they are missing out. They have to actively regret the decision. You won't always get what you want obviously and if you consistently don't either your sales skills suck or you are the problem and you need to own that. Either way, try to level up. If it's the latter, engaging with some OSS projects isn't the worst plan.


👤 tech_tuna
One other thing to note about open source and I was explaining this recently to my daughter who is planning to major in CS and become a software engineer. . .

If you create a popular open source tool/framework/etc and it really takes off, that's pretty much an amazing bullet point to add to your resume. In fact, some companies might proactively seek you for that. And you can sometimes turn that into a lucrative commercial software company too. . . a la Freemium model or by offering paid support/customizations.

On my part, when I'm hiring, I don't count it against someone if they don't have open source contributions that I can use (because I also respect the right to NOT code every waking moment of your life) but if someone has built something I've heard of and even better, something that I use and value. . . that's a HUGE plus.

One last note though, someone might create lots of amazing open source tools and also be an asshole and that's not something I want on my team. Some open source folks are exceptionally arrogant fwiw.


👤 Invictus0
I'm searching for a job right now as a junior backend engineer with a bachelor's in mechanical engineering and 2yoe in that field. I have absolutely no leverage and there are very few positions available for juniors in the market. It's obvious why more experienced engineers have leverage--the entire industry has a massive pipeline problem in that it fails to train the juniors that will later satisfy the increasing demand for seniors. The pandemic made this problem worse, not better, as no one feels capable of training juniors over zoom and also no one wants to go into the office. I believe senior engineers will keep seeing their leverage increase for the next 5 years as companies continue to avoid hiring juniors.

👤 edem
I think OSS is a hoax. We're incentivized to give away immeasurable amounts of our time and 99% of these people don't get back much (if anything). I've been producing OSS code for 3-4 years, and although I'm really happy that people are using the code I've written (and reading my tutorials) I can give you many-many examples of __very important__ OSS code, that's maintained by people for free in their free time and they get almost nothing back. I've stopped producing new stuff a year ago, and now all my extra time goes into endeavors that have the potential for profit. My problem is that many many big companies say that OSS is important, that OSS is a "good cause", etc, but the fact is that it is mostly free labor for "achievements", and green boxes on a webpage. It is smoke and mirrors.

👤 katzgrau
> Why don't we choose to use our rare skills for our own profit

You certainly could, but if you're referring to building a business, you may find that it's actually a different skill set than being an engineer.

I learned this by experiencing it. I left my job in ad tech at Yahoo to start my own ad tech company. I tried to hack my way to success for 4 years (occasionally contracting to replenish savings) and still couldn't pay myself a salary. Even when I got to that point, I instead decided to hire an engineer and began to "work on the business." Only then was I able to grow revenue and build a team.

I would guess that it takes a solid 5-10 years to become a really good engineer. It probably takes the same amount of time to become a good businessperson.

My friends who stayed in engineering (at top companies) definitely make more money than I do. I definitely feel that the grind I've gone through has been powerfully rewarding and I appreciate the autonomy that I finally have (taking days off with nobody to answer to, giving myself a bonus if I feel I deserve it, taking moonshots). It's all about what you want. Nothing wrong with being an engineer and getting a fatcat salary. Sometimes I wonder if that would have been an easier path, but I also know I'd be wondering about the opposite if I took it.


👤 Scandiravian
When I read your post I think the focus on using this leverage profit is probably not something that would motivate a lot of developers.

Income from work is obviously a prerequisite to maintain a good life for the vast majority, but in my experience (anecdotal evidence), there's a pretty sharp decline in life quality improvement after a certain threshold (which varies depending on life style and geographical placement)

After this point things like work/life balance, challenging tasks, ethical impact, and other, I dare say, less tangible benefits become more desirable

I think software engineers definitely have a lot of leverage, but it is probably hard to use it directly. My experience has been that many companies still operate under the antiquated assumption, that there's more supply than demand for software developers

Using the leverage directly doesn't work as they consider developers expendable

The best way to use this leverage then becomes to find another position that provides the desired benefits

I'm personally doing this at the moment, as I think my employer's business practices are unethical and I don't want to sell my services to projects I consider harmful to the world

So in conclusion I think the best way to use this leverage is through market forces. Consider whether you're selling your services at a value you're happy with and that you work at a business/project that aligns with your convictions

Since there's a shortage or developer skills, businesses who do not provide jobs that are desirable for engineers will simply go out of business, as they can't develop or maintain their product


👤 ergocoder
The renaissance era of software engineers is coming to an end.

As we can see that Stripe, Lyft, and Snap don't give out 4y grant anymore. You can expect other companies to do the same.

It is expected though; since you can't expect this awesome period to go on forever.

In the last 10y, software engineer's earning in Bay Area has been pretty crazy. This attracts a lot of young people to enter the field; this means the supply is getting higher and higher.


👤 tboyd47
> Open source contributors give away a lot of value, since if everyone had to re-create their work (including its dependencies, its dependencies' dependencies, and so on), there would be 1,000,000 times the demand for software engineers than there is today and innovation progress would be much much slower.

I disagree with this analysis. You are assuming that the demand for software products is static regardless of cost and ignoring the positive effects of standardization.

Open source means your X years of programming experience on 1 company’s product immediately applies to thousands of other companies. So you can leave your job and be productive at any of those companies, therefore commanding the same salary or greater. If it wasn’t for open source, I don’t think we would have 1/100th of the leverage we have.

Open source is not a giveaway; it’s an investment in the entire industry. This is why all major companies are contributors to open source projects now. In fact, we are losing leverage the more this trend accelerates.


👤 analog31
In my view, trying to analyze the "value" generated by computer programming, independent of its price, is likely to venture into voodoo economics. Equating price and value is not unproblematic, but everything else is more problematic.

Whenever someone mentions a labor shortage, some smart-ass (such as me) asks if wages are rising. Granted at this time there could be alternatives to wages, such as the ability to demand better working conditions. "I will never go back to the office" could be an example, that I am not seeing in other professions.

I'm skeptical that computer programming is a magical fountain of value. Programming is expensive, and it could be a net asset or a liability to any business that engages in it. We've all read about expensive software projects that ended in utter failure. There are also subtle forms of failure such as the introduction of new software making workers less productive, often attributed to "enterprise" software.

Another form of failure is when the software department within a business begins to engage in rent-seeking behavior, and drags down the whole business or makes it prohibitive to innovate in non-software areas. And rent-seeking could describe the business of selling incremental updates that consume training time on the user side.

Discussions on HN, and the many blogs and books about managing software projects, indicate that software is like most regular business, in that the value comes from selling something for marginally more than it cost to make.

Granted, this isn't unique to computer programming.

On the flip side, the lack of a gatekeeper for deciding who can program means that the number of people engaged in programming is unknown, and possibly quite elastic. "Shadow IT" is an industry unto itself. For instance, I am not employed as a software developer, yet I probably spend 50% of my non-meeting hours doing programming in support of my own work.


👤 reducesuffering
There is a book that explores this topic called Developer Hegemony.[0]

"Developer Hegemony explores the past, present, and future of the corporation and what it means for developers. While it outlines problems with the modern corporate structure, it’s ultimately a play-by-play of how to leave the corporate carnival and control your own destiny. And it’s an emboldening, specific vision of what software development looks like in the world of developer hegemony—one where developers band together into partner firms of 'efficiencers,' finally able to command the pay, respect, and freedom that’s earned by solving problems no one else can."

[0]https://www.goodreads.com/book/show/35051753-developer-hegem...


👤 robjan
Open source work gives us leverage. It can either be used to demonstrate skills, create consulting work, get you a spot at a big conference or... provide self-fulfilment.

👤 irvingprime
Software engineers use our skills to profit routinely. We do this mostly by switching from one job to another where we will get paid more.

The reason we do this rather than using our "leverage" to get more where we are, is that managers tend to get angry about what they consider extortion. Many would rather fire the extorter and hire someone more manageable (even if less skillful) in their place.

There's also the budget problem. Speaking now as a manager, I recently recommended that one of our devops engineers be showered with money to get him to stay. I was laughed at. NO ONE below the rank of Vice President gets showered with money. There just isn't money in the budget for that.

As I feared, the devops engineer in question recently gave notice. I'm thinking about tuning up my resume and following him.


👤 giantg2
My company constantly talks about "the war for talent". Yet they revamp their policies and market them as new and improved, yet if you dig deeper you find they benefit the company and are worse for the employees.

I don't know how they can say demand is really higher than supply. Based on the low wages many places pay and the very high standards in job postings, it seems HR is living in a fantasy world. It's like craigslist people asking I'd your item is still available and ghosting - they aren't serious.

One thing I know for sure is that I have no leverage whatsoever.


👤 claudiulodro
What does leverage mean in this context? The power to change company policies to better benefit SEs? The power to pick what products to bring to market? The power to negotiate profit sharing as part of compensation? No, a random employed SE doesn't have that sort of leverage.

The only leverage an SE really has is asking for more money after they've delivered a lot of value -- it's not a lot of leverage, and it's conditional.


👤 drunkpotato
Interesting point on open source, but many popular open source projects are all or partially supported by paid positions. And I don’t think all current businesses would be viable without leveraging open source.

Software Engineers have some leverage, but not a lot and not uniformly. The way to get more would be to get better at organizational politics, but that isn’t typically of interest to many software engineers.


👤 dgb23
I come from the perspective of a programmer, not an engineer, but I think many things still apply.

> Do software engineers really have leverage?

I would say yes the sense of real impact, but only somewhat in the sense of actual power within the given economic system.

A more extreme example would be scientists who work on foundational science. They have been discovering things that are of such high impact that they transform the way we live.

Such scientists are typically (not exclusively) well off. But they don't inhabit the most powerful places in our societal hierarchy at all, nor are they compensated in terms of their real world impact. One reason might be that these people are intrinsically motivated, they simply don't seek that power or leverage.

> How could we increase our leverage?

By not selling our labor and instead (partially) owning our products and services or at least by (collective) bargaining.

The smallest but still impactful thing we can do is to not accept employments or clients that don't value our craft.

There are also many engineering focused companies that eventually 'sold out'. Their power structure changes, their engineers lose agency and so on.

> Why don't we choose to use our rare skills for our own profit (as everyone else does), and instead many of us give away immense value (and power/leverage) by open sourcing our work?

Because the positive impact of open source software can be much greater.

Some projects are simply not fit to be sold on a market, but still have possibly immense value.

This doesn't mean they cannot or will not be compensated. Foundations, donations and so on are used for that.

Many things simply cannot work this way, because they are based on being open and free. Wikipedia or Linux wouldn't be what they are otherwise.


👤 atmosx
> Do software engineers really have leverage?

Yes.

> How could we increase our leverage?

In many ways I suppose.

> Why don't we choose to use our rare skills for our own profit (as everyone else does), and instead many of us give away immense value (and power/leverage) by open sourcing our work?

Collectively, IMHO we actually DO use our rare skills for our own profit well enough.

Regarding open source projects. I think you are underestimating peer-recognition. This happens in most knowledge-heavy/scientific sectors. Passed a financial security threshold, money don't matter, peer-recognition does. Ancient Greeks believed that ppl die when they're forgotten. Bezos might be forgotten 200 years down the road (who was the richest man in 500 AD?), I doubt Alan Turing ever will.


👤 Nursie
> Why don't we choose to use our rare skills for our own profit (as everyone else does), and instead many of us give away immense value (and power/leverage) by open sourcing our work?

This is an interesting question, but effectively not only do these things work as a force multiplier for the whole industry, but those that give it away often find themselves gaining leverage and opportunity from it.

This also assumes that Open Source is only produced by hobbyists and is given away by people in their spare time. In my experience that's not really true - a lot of the good stuff is developed by paid engineers, but the company that's paid them has decided to open source their work. Which is great!


👤 markvdb
Ask yourself if teachers have more leverage than engineers. You'll have your answer...

👤 hashkb
> How could we increase our leverage?

A union and a strike.


👤 sokoloff
What leads you to conclude there’d be a million times the demand for SWEs in the absence of open source? Many times I think you’d find “we can’t profitably create software from the BIOS up” and you may find an overall smaller ecosystem, but I seriously doubt it would be even 5x as large, let alone a factor of a million.

Looked at another way: there were about 4.4 million SWEs in the US in 2019. That’s around 1 in 50 adults. If every adult became an SWE, you’d still be short by a factor of 20,000.


👤 samsquire
Companies and managers downplay the leverage that software engineers have.

Every company _should_ be a technology company. If developers had authority over parts of running the organisation, just imagine the innovation that could come out of that.

If there was less open source, developers would have to be better at what they do (more skilled). And yes, lots of money could be made with proprietary web servers, languages etc.


👤 nybblesio
I've been thinking about this topic a lot recently. My thoughts are still crystalizing but this is a rough snapshot:

What if there are actually two independent markets in play but they're masquerading as one?

Everyone is captivated by Big Tech (a slightly larger, more inclusive, subset which includes FAANG) pay. There's no doubt any engineer would love to be making $250k+/year. However, this market is selecting for something very different from the larger, common, market.

We need to ask why Big Tech pay is as high as it is. I don't believe it's driven by supply and demand in the classic sense. Instead, Big Tech sees its candidate pool as "free agents" [0]. This is an important distinction if you view these free agents as a source of potential competition, either individually or signed to another "team".

What if Big Tech pay is a form of greenmail? [1] Much like sports teams -- where pay is also extremely high -- the owners are aware that they're possibly overpaying for these people to sit on the bench. However, their risk analysis tells them that the cost is worth the small loss. [2]

This, to my mind, explains why Big Tech is focused on a very specific sliver of the engineering talent pool: graduates from top 10 schools. These people tick all the boxes: young, smart, fast, energetic, and unattached (typically). With this model in my mind, Big Tech interviewing practices make perfect sense. They aren't looking for "CRUD-a-day" programmers. They're looking for those few engineers who, even under immense pressure, still rise to the occasion and perform. This signals that they could be serious competition if left alone as a free agent. Note: I'm not saying that any one of these candidates will become competition. I'm sure the probability distribution is low but it isn't zero. Unlike other fields -- where barrier to entry is extremely high -- one of these hot shots might -- once every 10 to 15 years -- pull a miracle out of the ether and disrupt Big Tech to the point of destroying them. [3]

The other market is everyone else who uses and requires software to run their business, but software isn't their business. Unfortunately, this market -- if they could get it -- would just as soon buy something off the shelf instead of hiring software engineers. It's only because such COTS doesn't yet exist that this market still requires software engineering talent.

However, unlike Big Tech, this market doesn't see engineers as competition (and, generally speaking, they aren't). This severely limits the leverage that engineers have when negotiating with these companies. Being blunt: this market is looking for factory workers who shut up, sit in the fishbowl, and do what they're told. The cheaper the better. [4]

It seems to me it benefits Big Tech to blur the differences between these markets. However, engineers need to wise up to the reality of the bifurcation and plan accordingly.

[0] https://www.collinsdictionary.com/us/dictionary/english/free...

[1] https://en.wikipedia.org/wiki/Greenmail

[2] Small loss is relative, of course. Individuals have a difficult time understanding how this math makes sense because a) the numbers are far larger than they're used to seeing and b) they can't see all of the other numbers at play which balance out the strategy.

[3] https://youtu.be/oD65g2RFSHI?t=582

[4] Yes, not every company in this market is like this. However, it's extremely difficult to know this from the outside when you're trying to find a job. You can try to pry the information from them during the interview process but this isn't always successful. My experience is that "good companies" in this market are extraordinarily rare. Plus, there is always a risk that they'll be acquired and the new overlords hate engineers.


👤 nwsm
Open source software dramatically increases the value a for-profit developer can create.

If key OSS did not exist, it would not be recreated at every company, that would be too expensive. Instead the job would be deemed impossible. Maybe the SWE still has a job, but the value they can create is much reduced.


👤 yumraj
It depends. Top basketball, baseball and other sports players have a lot of leverage. The masses, average players, not so much. Same for everything else really.

Similarly, top engineers, those who create real IP, have a lot of leverage. Some of them even start companies to get even more leverage. Regular, average engineers not so much, especially since many of the roles can be outsourced.

If you can demonstrate that you’re the best person for a role, then yes. If you’re yet another person with resume similar to countless others, sorry but no.


👤 ItsMonkk
No.

pg has a good article on doing things that don't scale[0] and showed how the AirBnB guys went and setup the first listings manually, but it's actually far more general than just kicking off the network effect. Moats are things that don't scale. Open Source software scales perfectly. Billion dollar companies are billion dollar companies because they can use Open Source software wrapped around some Moat-able structure. The more Open Source Software that exists, the bigger the walled garden.

When Google spends a billion dollars sending cars all around the world taking pictures, they are doing so in a way that the Open Source world can't centrally compete against, as they don't have the billions to get that done. This means that all Open Source mapping software will be missing a crucial feature that users rely on, and will therefore go unused. But meanwhile the libraries that those Open Source Software use, Google can freely use within their walled garden. On the other hand, Microsoft paid a great deal of money to researchers with Encarta and had this same exact structure and Wikipedia came in and disrupted them. It takes more time for the decentralized approach to come online, but as long as it's possible and the data is kept high quality Google Maps will slowly lose market share to OSM.

Open Source software is generally created as libraries, whereas most companies build frameworks. Frameworks are easier to setup and give control to the makers, but they do not scale. Why is it that Microsoft Windows has 13 different dialog generations? Because each is a framework on top of a framework on top of a framework. It's amazing that they can even get that done.

On the other side, OSS is generally built on libraries. When the 2 UNIX devs were in a basement building UNIX and were able to out-compete Multics[1], they did it because they were building libraries that could talk with each-other using pipes around the boundary. Applications that communicate based on input-output with no internal state behave just like pure functions do. Pure functions compose. When Linus built git in 10 days, he was able to do this because the core idea of git isn't actually that much work. The library is built out of composable blocks that neatly come together. Microsoft's TFS Source Control is a framework that acts on your behalf and therefore the bigger the project gets, you need n^2 people to work on it.

You don't get paid for your value. The libraries create value but by definition that value goes to the user, not the creator. When you build a framework on top of a library, that value goes to the framework owner. Who owns the moat? The capital owners. Why don't you use your ability to create programs? Because the moats cost money to build and while you can create value building software, that value doesn't go to you. But by all means, make the world a better place.

[0]:http://paulgraham.com/ds.html

[1]: https://www.youtube.com/watch?v=3Ea3pkTCYx4, thanks to this HN comment(https://news.ycombinator.com/item?id=27494671) for this reference.


👤 burlesona
Open Source is tricky, and can be seen through a few lenses:

1. Most open source projects begin as someone trying to “scratch their own itch” and solve some real problem they have. The open source part is just because if anyone else has the same issue, you might as well let them share your code and hopefully contribute bug fixes etc. It’s also nice as a way to extract bits of your day job that you think might be interesting in future work, and if possible, have permission to take that code with you to future projects even if that’s at a different job.

2. Open source is a way of doing work in the open, so it’s like your portfolio. It doesn’t matter if the projects are popular, their mere existence helps beef up your resume and gives you something to show off. This is especially helpful for folks without traditional credentials or loads of experience, and can help them skip ahead career wise.

3. Rarely, someone has an idea for a really valuable general purpose solution and wants to turn it into a business, and sees open source as a way to get the technology into the world, with monetization to come later. Perhaps there is a plan for monetization from day one, perhaps not. Not uncommon for B2C apps either (as a recent example, Clubhouse): worry about getting lots of users fast, and assume that, if you can, you’ll be able to work out monetization later.

The tricky part with Open Source is just for the tiny fraction that becomes super popular and hence becomes a critical dependency for the world.

For the handful that were designed to be businesses and had a monetization strategy in place from the beginning (for example, Sidekiq), this can work very well. But for most others, it’s a big problem.

The fact is that once you’ve given away something for free it’s difficult to monetize it directly. Maintenance is the killer. You have to either form a commercial steward to handle things - but then the monetization is tricky again - or you have to fork a broad community of volunteers who do the work for their own reasons. The fame is useful, but it can be fickle and difficult to harness.

Ultimately I think this comes back to the “starving artist” problem that is common in many creative fields. In general, it’s not that easy to find a way to make good money, so all manner of things fail because they can’t quite work out the economics or manage the business successfully. Think, for example, how many restaurants come and go every year.

This effect is greatly magnified for work in creative fields that can be distributed digitally. In the era of the Internet, the barrier to entry is so low, in the initial work of creating something new so satisfying, that you have an incredible explosion of work that people do for free. how many people start a YouTube channel and then fade away after a few videos! When one little part of this hyper-abundance blows up, the magnitude of supply versus demand just makes the economics and operational problems that much more difficult to work out.

Coming back to open source, this is why you see so much open source come and go. The person who was doing it for fun decides it’s not fun anymore, and since they can’t figure out a viable way to get rich from it, there’s no reason to keep up the drudgery and they move on.

So your question was, do you engineers have leverage? In the job market: absolutely, incredible leverage, and you see this manifest as wages that are vastly higher than the majority of people around the world can make. In open source: not really, because open source competes in a field of hyper abundance, which by definition means nobody has much leverage, and creating leverage is very hard (in the same way that successfully becoming a YouTube influencer is very hard).


👤 justbored123
> Do software engineers really have leverage?

Yes, massive, but because of the unique mentality and system of values of engineers/nerds in general we are focused on solving technical problems and learning new things while the rest (management, RRHH, sales, etc) are focused on status and getting a bigger piece of the pie for themselves, so we get f*cked over by them very easily.

>How could we increase our leverage?

1- The single most powerful tool we have is fully sharing salaries and compensation. That drives prices up (and other benefits such as vacation time or equity).

2- Forming common fronts like low skilled workers do in unions or other associations that set minimal working conditions that avoid races to the bottom and exploitation (60hs work-weeks for example). In my third world country companies do this themselves and group in something called a "technological pole" that is just a gathering to cap salaries and avoid competing among themselves. So, they later threaten you that if you quit you would be black listed. (This resulted on a massive migration of engineers to other countries and to freelancing on the internet, they were short-sighted and not very smart :D ).

3- Tribalism. Start to see the rest of the other roles like they see you (management, RRHH, sales, etc). Other tribes competing for the same pie and act accordingly. Stop going along with the "you should improve your soft skills to make our job easier" and flip the tables and start to demand that they become better at a technical level to make your job easier instead. We are in high demand, they are not, simple. Make them work harder and learn to speak to us and adapt to us instead of the other way around.


👤 alexashka
> How could we increase our leverage?

There is no 'we', so the question doesn't make any sense.

There is no magical 'X profession' entity that can do stuff, never existed.

There are groups of people who communicate, group up and get shit done. They don't need to belong to the same line of work to do it - they just need to have an idea of what they want and how to get there.

To address the spirit of your post - just because you can have more power, doesn't mean you should. For example two people in a relationship, the minute either party starts to think like you, that relationship turns to shit.

Only thinking about yourself (or your group) is a good way to make life worse for everyone involved, please hurry up and grow out of it.