There are lot of people out there saying that this is the end of software and data engineering, and that these jobs will not exist in the near future. I’m not sure that this will be the case. I think what is more likely is that we will use fewer humans to do more work and after this progresses to a certain point, the cost savings from having fewer humans diminishes. Imagine having one staff/principal engineer working with AI/agents or whatever the next thing will be, doing the work of 10 or more engineers in the pre-AI era.
This kind of force multiplier is almost certainly possible. There are huge benefits in only having one engineer in an engineering team. One engineer can essentially move at whatever speed they like, they don’t have to bring everyone else with them. They don’t have to spend loads of time on documentation and meetings. They don’t have to share context. They don’t have to train up junior engineers1.
Having this one staff/principal engineer will not cost anything like having the 10 engineer team with management costs. It will most likely cost less than 10% of the old-style team. Largely, this could translate to it costing less than one tenth of what it used to, to build the product. Making this kind of saving in operating cost is too attractive for any company to miss and we are seeing companies around the world already start to move this way. However, trying to have another order of magnitude of savings is much less appealing. You then only save 90% of the cost of one engineer or maybe a bit less, as the engineer doing the equivalent of a 100 person pre-AI engineering team can ask for a fortune in package that the engineer doing the equivalent of 10 can’t.
It starts to get perilous, too. Many companies don’t have 100 engineers. If you only have one engineer, what happens when they leave? AI is not in a place to be entirely responsible for engineering at companies yet, nor will it be for some time. However, having 10 engineers instead of 100 seems much less problematic to me.
One thing that I do believe will disappear entirely is off-shoring. At many of the companies I have worked at or worked with, it was common to have a huge number of engineers in Asia or Eastern Europe. It had become difficult and expensive to get the right talent in the West, and large companies especially relied on huge engineering workforces in these regions. You would typically have some level of engineering resource remain at head office to oversee the off-shore work being done. Sometimes this might only have been a technical product manager or an architect.
If you look back to my assertion above that we’ll commonly have 10x engineers, empowered with AI tooling then both of the reasons for off-shoring disappear. You don’t have a talent shortage, as the engineers we already have in the West can now do much more work than before. The cost-savings also greatly diminish due to a much lower headcount. Off-shoring always has a level of overhead due to context and language barriers, plus HR and legal work to maintain a presence overseas. You wouldn’t do it for just a handful of staff - it has to be a really big number to make sense.
There are also questions around the efficacy of off-shoring. I have worked with successful off-shore teams who were well thought of by head office, but, to be honest, this was often where head office weren’t overly high-performing. In the tech industry, it is very rare for off-shoring to happen at all outside of listed companies. It goes against the Silicon Valley mantra to off-shore. With good reason, too - the language, timezone, culture and context barriers to having effective off-shore teams makes it hard for them to be as successful and rapid as on-shore teams who have shared culture, context, timezone and language. I don’t think the tradeoff is worthwhile any more2.
There are even multi-nationals who hire in countries with excessively3 strong labour protections. In the past, they have accepted this as a trade-off because the labour is cheaper than in the US or UK. In the context of engineers who will be able to do the work of a whole team on their own, the difference between paying a European engineer 100k vs a US one 200k isn’t that important, because you employ so many fewer of them. It therefore makes sense from a business perspective to hire locally for more pay and be able to change things up quickly if they’re going wrong. The impact of poor performance is amplified, as the individual now has much higher responsibility and expectations.
In the past, local engineers and product managers would write complex requirements and project plans for off-shore engineering teams to then go and execute. There would be a constant back and forth to clarify context and details. I would expect this to now happen in Jira/Linear and GitHub. The local product manager or engineer will write a ticket, probably a pretty short and terse one. An AI application may change what they’ve written into a more optimal set of instructions to then pass on to an AI engineer agent, which will then attempt to execute. The feedback cycle will occur within minutes, allowing the product manager to taste-test the output and the engineer to quickly review and suggest changes or approve the code the AI engineer has produced.
The future of off-shoring isn’t off-shoring at all; it’s agents operating between Jira and CI.
What about where the company doesn’t have the experience or know-how to lead AI-assisted development internally? I think if they are at this scale and maturity, then tools like Replit and Loveable can probably build to the level required by these companies.
By no means am I saying that there is no value to the talent in places where engineering is typically off-shored today. This talent probably needs to come a bit closer to the consumer and build the things that the companies they used to work for would offer to these same consumers. They effectively need to compete with the companies they used to provide services for…
I know that many people would react to this with dismay, as it sounds like a lot of grads who want to enter the industry won’t get a chance to etc. This is one of the negative effects that I’m sure will happen and we’re already seeing. It’s never been worse to be a computer science graduate with no experience looking to be a junior engineer somewhere. I do think this will get worse if they follow the same path… 40 years ago, very few graduates were looking to become junior software engineers. Most graduates were looking to do other things. As a result of the macro changes we’re seeing, there will be other things that graduates who would have gone into software engineering will do instead. New industries, new jobs that we can’t even conceive of yet - and these people will forge them. It just takes a few trailblazers to find something of value.
Maybe I’m too old to participate in this, but maybe it’s my last dance… We’ll see!
Not to mention that it doesn’t play well from a PR and labour relations point of view. I’ve heard of many companies upsetting their home staff who feel threatened by off-shoring, having seen and heard of many other companies laying off their home staff in favour of off-shoring. From a bad globalisation point of view, off-shoring can easily be thought of negatively. Skilled, well-paid work being taken away from Western workers, so that their employers can penny-pinch… many feel this is unfair and shouldn’t be allowed. The flipside to this argument, though, is that during the tech booms, employers have always struggled to find enough engineers and therefore used off-shore as a way to fill the gaps where hiring locally or even offering work visas wasn’t possible.
I believe you shouldn’t hire someone unless you can also fire them for misconduct or poor performance. In some countries in Western Europe, it’s not really possible to fire a poorly performing employee any more. I’ve witnessed managers just accept that they will have people in these teams until they choose to move on.