Ask HN: Have developers become a commoditised resource?

22 points by bdv500 ↗ HN

23 comments

[ 4.4 ms ] story [ 58.0 ms ] thread
There's a huge stratification going on, between developers as commodities and developers as assets.
Absolutely.

If you're a tech company, looking to grow by building new products or significantly expanding existing ones, then your developers are assets and you treasure them.

If you're looking to grow in other ways (e.g. by acquisition) then you can put all your products in maintenance mode, and your developers are a cost that you want to cut as much as possible.

Developers as a whole are not a commoditised resource, but certainly can be treated that way depending on the company and its business plan.

Certain businesses see developers as a commodity and work to further commoditize them by using cookie-cutter tooling that turns programming as closely as possible into plugging cords into outlets. However this can only take you so far.

If you have developers that use ever-more-simplified-tools and languages, there are companies that make those tools, and cloud companies that make the infrastructure and build all the things that make life easier for other companies. They still need strong programmers.

There will always be the need for extremely good programmers. If you are an extremely good programmer then you should be able to earn outsized monetary rewards and find intellectually stimulating projects if you are able to move to the right location (SF, Boston) and interview well.

Yes and no. Being a computer programmer covers a wide range of skills and roles. It's like construction. There's a huge range. Some people cut and nail up dry wall. They do their work without having to invent things, using skills that can be executed rote. Other builders have to design a custom bridge for a unique mountain range that must handle stress not normally found in cookie cutter bridge designs.

A big part of the market is making CRUD apps. The skills to develop these kinds of apps can be reliably learned. But even still, it's not quite as rote a skill as being a cog on an assembly line. There's still a lot of variability, and lots of parts to master (front end, databases, etc), interpretation of requirements. It's hard to just hire an army of peons and expect them to participate in CRUD.

If the development is exploring out new territory, then the workers will never be a commodity. Making new things never done before. Facial recognition, OCR with high reliability for crumby hand writing, etc. For these workers to be a commodity, you will have to create an AI with human level creativity to do exploratory creation. That will likely not happen in our great great great grand children's lifetimes.

One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man.

Elbert Hubbard

> Other builders have to design a custom bridge for a unique mountain range that must handle stress not normally found in cookie cutter bridge designs.

Aren’t you confusing builders and engineers?

No, that's actually the point of the post. That programmers, developers, or what have you are all clumped together. When in reality there are many distinct kinds of programmers with different skills, just like in the world of physical structures.

The term "computer programmer" gets assigned to everyone who makes software. Some programmers invent little like a dry wall worker. All average people could become this kind of programmer.

Other programmers invent with skills out of reach of most common people.

Actually I don’t think it is. Nobody thinks the guy that installs my fence designed the Golden Gate Bridge.
It seems you are arguing agianst a point that you are trying to make yourself.
> Other builders have to design a custom bridge for a unique mountain range

These are not builders and nobody would ever call them builders.

Well one person would, I guess.

To me it is clear he is saying dry wall work and bridge design are separate skill sets. Contrasting that with the general term "developers" where different skill sets fall under one umbrella term.
It depends a lot on what you're hiring developers for. If you need a developer to add some new UI features to a web app, there will be thousands of junior developers you can hire. On the other hand, if you need to reduce the time it takes to execute a stock trade by 0.25 microseconds, there may many fewer developers in the world with the domain knowledge (high frequency trading) and programming skills (high performance C++ programming) to do that. Even fewer developers will have the skills needed to write the flight control software for a new spacecraft.
No, but the most common problems become commoditised. 15 years ago I could make money building a restaurant website, now it's just squarespace or Wix. I could build a CMS or set up an ecommerce site. There was enough demand that companies like Shopify grew into existence.

But while the baseline expectation is higher, so is the complexity of new problems. Being a developer is to constantly be learning and adapting, changing direction and always trying new things.

Agile did it. Developers became resources to be pluged into existing projects sprints.

Want it quickier just add more resources.

Huh? How does that even work?
It doesn't.

Not if you want it doing on time, budget or to any degree of quality.

You get more bricks but a worse wall.

Usually adding one new resource subtracts a resource overall because they take other resources time. In the best case it may give you half a resource boost but it puts pressure on supporting units.
Especially if you only think of them as ‘units’ rather than individuals with strengths and weaknesses.
> Agile did it.

No, it didn't.

> Developers became resources to be pluged into existing projects sprints.

> Want it quickier just add more resources.

Except for the word “sprints” all of that long predates Agile. This common management attitude was the central target of The Mythical Man-Month, which was published 26 years before the Agile Manifesto.

I don't think so. For large corporations, the hiring process is still very qualitative and selective and the pay is high and variable based on how good of a fit the developer is for the specific project needs.

If you compare this to the average McDonald's worker who is just expected to fulfill the same generic duties for the same generic pay, you can see most devs don't fit this definition.

Not really. Sure, programmers that only know HTML, CSS and JS and that were/are making money by building restaurant websites are having a hard time because there exists Wix and the like. But the IT world evolves: Docker, Kubernetes, Go, Terraform, React etc., and developers are hired if and only if they know the new stuff. In 20 years probably all the stuff we usually do now (manually) will be automated, but again in 20 years we will probably program in $NEW_FRAMEWORK and $NEW_LANGUAGE, so Docker, Go, Kubernetes, VueJS will all look like plain HTML + CSS + JS today.
The reality is that there are different markets and different market segments.

There is actually a large segment of the online marketplace where I would say "commoditized" is almost accurate especially when compared with some Silicon Valley rates. And this does in fact include a significant percentage of highly skilled programmers.

Of course, when you are in the commodity rate range, finding the highly skilled programmers is a challenge. But as I said, they do exist.

But there is a limit to how far that goes. You will see massive discounts when comparing some markets, but the less common knowledge still is at a premium rate.

One caveat is that there will often be a minor concession in terms of something like English language proficiency for example.

But I think that us programmers actually should try to take proactive steps to slow the race to the bottom in terms of compensation. Especially as remote becomes mainstream and markets open up to online and overseas programmers even more.

My own personal belief, which is really just pure speculation, is that ordinary types of programming will be automated by artificial general intelligence within one or two decades. So I personally think that the wage labor paradigm and other core aspects of our economic system will be completely obsoleted.

Partial answer:

Hmm... given in the interviews I've been as a web developer... No.

If I could redo my whole thing again, I'd focus much more at making people laugh and like me. That might get some "you passed the coding challenge but you don't have enough experience" out of the way.