I'm not sure the Vietnamese are a marginalized group. More a country that was kept poor by communism and is now recovering in a similar way to China but a few years behind.
In the not too distant future the basic CRUD-development for boring enterprise apps is going to be done by AI models. You only need a human to write the prompts and review the output.
That human may become less and less technically skilled over time as the models become better.
But costs for AI could be similar to developer wages in emerging markets for a while... I think nobody is currently charging the real cost of their AI stuff to end users yet.
As soon as AI can understand organizational business logic lol - which considering how well read and educated humans struggle with that, I'm not too concerned.
Low code solutions are already in this market and they are a pain to maintain and migrate away from. I can’t imagine AI solutions being better with current languages unless a new language is made to assist in this.
The trend is kind of inevitable even if the timing can be off by a decade or two.
Like with self driving cars, they are delayed but Waymo is doing 50k driverless rides a week and expanding. And apparently the latest Tesla FSD is a big improvement if still not robotaxi safe yet.
sure, but it's ten years later and not as good as everyone said.
It's not like driverless is "theoretically impossible". But when people confidently they know what the near future is going to be, they're just... wrong. And it's really tedious having to deal with that kind of attitude when we're all here for productive conversation.
Self driving cars are not working in many places due to political and social forces, not technological.
They are already safer then human in cities with a good weather and orderly road conditions.
AGIs, what you would need for really replacing people, are not working at all because people and things that AGIs interact with make bad illogical statements and don’t always use Lean programming language.
It already happened, at least for me. Dealing with AI is much easier than handling subcontractors. Also AI scales my time much better, than contractors.
Language models have been able to spit out CRUD apps for a while now. The "maybe" is not about technical limitations, it's about social and economic forces. In contrast, we don't have flying cars at all due to limits in our current technology.
The pilot license is the largest obstacle to mass adoption, not even the price, in my opinion.
For fixed wing private flying you are looking at at least hundred hours fully dedicated to new knowledge and skills at an expensive rate. That's assuming you are proficient at learning and able-bodied enough to pass medical.
Unlike driving, when flying you can't just safely pull off to shoulder and stop to figure out whatever problem you are having. So there's a lot effort spent on ensuring whoever is flying is able to prevent known issues and handle emergencies in a non-tragic way.
A microlight licence is available with only 25 hours of tuition, although getting even 25 hours has been very difficult this year due to the bad weather.
I wish I could remember the names, but there have been a couple attempts at AI services which try to turn GitHub issues into pull requests. Their success rate is dismal.
The vast majority of development work isn't creating slightly modified boilerplate.
I also subscribe to Kagi! I do have a regualr subscription to Anthropic, for the project features and being able to upload files for analysis. What's your workflow? I may be doing something wrong and would love for some relief.
I have a client (I am a troubleshooter) that raised close to 40m euros in the eu for a crud saas in 2017 (there is no money here they say); they first had a VN team, then replaced them all with an IN team and now they replaced with same snakeoil AI thing (I am not gonna name it here but let’s say it’s one of those openai wrappers that came out about a year ago). Sure AI can do crud, a bit, but yeah; I have never made more from a client than here; everything is a burning train wreck. The older code, newer code and AI stuff.
It’s good for me but it’s all terrible.
By the way; no way I mean VN or IN developers are inherently bad, but these cheap sweat shops, who pile on work in just pushing through tasks for multiple clients as much as possible is maybe even worse than current LLMs code.
Not sure about the "when" part since current models can't write anything useful. Adapted snippets from popular plain old Google search results is all I've gotten, often with glaring errors.
But I often get answers faster this way, compared to doing a plain search, so they've been useful for me.
I get generally useful stuff, but 150 line scripts that are 95% right in a language that isn't my day job, that kind of thing.
Useful, but not useful enough to do my job for me, as most of the hard work is fitting into an existing large codebase with its own style, architecture, private libraries etc., or where I'm making a UI fit a design doc that the AI can't really see despite having some textual representation of the design as well as the UI code.
Fortunately for me, 128k token context windows aren't enough to fit a 120 kloc project, and the haystack demos don't fully reflect the needs.
But 5 years ago, the best we had was GPT-2 / AI Dungeon, so I'm just going to keep saving and plan around not being able to get a next job — even if I'm being fooled by a Clever Hans, I'd still get early retirement.
We can argue about "useful" but trivial CRUD applications can be done by ChatGPT with just little prompt engineering skills. At some complexity it has trouble with size of the context, but there is lots of trivial CRUD programming out there, where efficiency can be massively increased.
The main problem is that each answer is a randomized new one. There’s no logical through-line and the more entries you create with it the more nonsensical the system becomes. It’s like a junior developer with amnesia
It looks to work fine on a one-off single script thing. Which is marginally useful sometimes. I did create my company single page html site with it because I didn’t really care about it and just needed it for a bank to believe I’m selling services.
An alternative view of the AI future, similar to "smart" factories with only a handful of well-educated employees:
A well-paid First World developer uses LLM to get a basic app, then tweaks it until it works to the customer's satisfaction. This person speaks excellent local language and is a full-time employee who knows how the company works.
The alternative just replaces the "LLM" part with "large team of Third or Fourth World developers."
Remember when auto-generated code from diagrams was all the rage?
All that was needed,
according to the hucksters of the day,
was a business person to draw some boxes and lines,
then press a button and out pops an application.
I'm adding your comment to my list of "thing people say AI will SOON™ be able to do"
" boring enterprise apps " have the HIGHEST level of complexity, complication, dependencies, INTER-dependencies, tech debt, totally uncontrollable requirements (the gov demands to implement, nationwide...) than ANY OTHER APP.
It is FAR easier to build an OS than a barely decent ERP. (and this means, Linux became rock solid faster than the custom ERP that most companies started in 1980. You bet, they have not finished it. And is currently broken. And it has many restarts, iterations, etc)
I know, I work on the side building an RDBMS, and that is how I relax. RDBMS are a serious beast, but nothing, nothing, nothing like the complexity of working in " boring enterprise apps ".
ERPs are a beast that eventually incorporates anything and everything you can imagine, and even then, so coupled to a particular kind of business (or just ONE of them) that there is NO way to make a semi-universal solution.
CRUD applications are not what most enterprises build though - they need interconnected flows of data & state-machines often supporting rather complex workflows and integration patterns.
Not realizing this is a mistake many enterprise IT shops make.
The boring crud-thingie that someone hacks together will sooner rather than later have to be integrated in a distributed system of state - this is where it gets hairy and most enterprises get stuck.
> That human may become less and less technically skilled over time as the models become better.
That can't happen while the complexity of basic living keeps sharply increasing.
Between my kids' generation and mine, the number of factors tied to gaining employment, housing, transportation and all basic needs is massively higher. And those factors brought their own factors that also need weighing and evaluating.
I call BS. If this were a reality stuff like Django’s admin panel or Wordpress or google forms or a million other things would have already done this type of dev in. It hasn’t. You know why? Because there’s always some weird requirement or an update to existing code that requires a high degree of context in the business. Stuff that AI sucks at. There’s also the fact that most stakeholders totally suck at describing what they want. This applies to humans much less a god damn machine.
I think that's where the human part comes in. Instead of writing a bunch of boilerplate code and other lower value stuffs, you ask AI to generate and then modify accordingly.
My job definitely can be largely replaced by AI, if a human reviews the code. I'm sure in my domain(data engineering) many positions are not safe.
I need to drill deeper into a tech skill other than just doing ETL. I'm thinking about system programming.
I mean look: investing in your skills is ALWAYS a good idea. AI or not tech becomes obsolete so you need to remain relevant. So yes. Do that. High ROI that.
AI is useful for getting started in some cases where you can clearly describe going in what you want. Therein lies the rub: no one knows what they want with total fidelity starting out. If we could, then we’d probably be able to give an accurate time estimate. It’s rarely that simple however. There’s always some complexity that hasn’t been accounted for. Something that an AI, lacking any kind of real understanding will be able to help with much less automatically fix.
When I started working in the 80s, there was also talk about how automation would make human developers obsolete, and idea/hope keeps coming up over the decades.
Maybe this time it's different, but by now I'll only believe it when I see it.
That is a really good point. https://www.starlink.com/map Once starlink coverage expands, the poorest, most remote villages on earth can technically become eligible for remote work. It will probably be exploitative, mechanical-turk type work.
> Once starlink coverage expands, the poorest, most remote villages on earth can technically become eligible for remote work
I suspect some tight number crunching - of money and bits - is necessary for this to work. I could see a joblord popping up who provides the (not cheap) Starlink connection and sells the local labor at a profit. I wager the arrangement will be as exploitive as possible.
The only way for individuals to fight offshoring: get deep into a tech skill or/and human connection so it's tough to replace you in the industry. You will get laid off but another company will pick you up quickly.
More thoughts: A system programmer in a non-cost center is the best pick. A game engine programmer is better than a devops in that perspective.
>You will get laid off but another company will pick you up quickly.
That was my hope with my trajectory, but I suppose I underestimated corporate greed/incompetence and overestimated how much people care about a proper engine programmer. Had people connections but 90% of them were also laid off or on the cusp. Some simply had the entire studio shut down.
I probably wouldn't feel too bad if, despite all this, the industry is pretending that they are still hiring as some facade to investors. Many aren't, based on what loose contacts I had remaining.
But as an engine programmer I'm sure you can find some other places, maybe other than studios? I know Unity is hiring, and ARM is also hiring (checkout Felipe lira on LinkedIn).
Funny thing about that. I was a part of the Unity layoffs a while back. I still do have some contacts there (brilliant engineers), but so far the consensus I get from there is "the layoffs have finally ended, hiring is still frozen/very slow". Of course, it will vary from team to team so I wouldnt take that as company wide gospel.
Haven't looked into ARM, so I'll check that out. Thanks. I could use any leads at this point.
I think you're right that's the main practical way as an individual but I'll add that collectively there are other ways. Just as an example, one of my friends works for a place where the employees own most of the company through and ESOP and obviously they don't offshore so as a group there are multiple ways to get leverage (whether it's through ownership, labor organization, specialized knowledge, or anything else)
I can educated guess the subtext on this from seeing it so many, many times: software is being deprecated and/or going into maintenance mode, or isn't good ROI, so bean-counters trying to save money by finding sub-minimum wage labor with zero concern for software quality. Now starts the death spiral of weeks to get anything done because ESL developers can't understand the specifications nor the docs and focus on just getting shit hacked in because they couldn't code their way out of a wet paper bag. Bugs proliferate and more hacks applied until development collapses in a pile of un maintainable junk and then new shiney is brought in in an attempt to make progress before business folds. High probability business folds.
When this happens get out. The shitty developers will taint your own skills eventually.
From the point of view of someone in Europe who has done a lot of work with Indian teams, I’m not surprised by that.
The culture gap with India is huge and difficult to manoeuvre (my own culture and the culture of India are basically on opposite end of the tolerance to conflict scale) and if you work with one of the largest Indian consulting companies you are very likely to end up with very junior developers, high turnover and management which mostly focus on billing you the most they can.
Once you factor all that, you quickly come to a point where India doesn’t look that interesting if you don’t want to commit and open a branch there (apparently a game changer). For us, it’s awkwardly placed between countries a bit more expensive but with a far smaller cultural gap and cheaper place where we would encounter similar difficulties.
I never really thought about it being a cultural difference in the way US devs and those offshore work in the day to day. But that may explain much of the disconnect. Curious what your experience is like.
I've seen this happen. I've also seen where someone hired into a management/planning role with the ability to make offshore decisions can impact things for good or bad. A company I was at long ago, the Director of Engineering insisted on offshoring some non-critical things. It was fine, but it was one of those body shops where you talk to person X and it's likely some complete other group doing the work. The output we were getting out them was so bad and wasting the other engineeers time, we had to push back. The excuses made by the director almost made it look like they were getting kickbacks.
Same company, different oursourcing situation - needed some critical low level (assembler) code written. Outsourced to a different region, the developers understood what was needed and turned things around much faster than expected. A small consultancy instead of one of the body shops.
Salaries in India shot up during COVID. It was a massive pain since the already revolving door service companies started revolving even faster as they struggled to retain talent. I'm not sure what the market is like now though since we too use Vietnam based developers.
Even if it were, that won’t save you for long. Everyone in Nairobi can speak English. So can everyone in Accra. All the countries in the world are just catching up. The off shoring is just something that occurs naturally as that leveling happens.
This is not an argument for RTO/on site work. Having been remote for more than a baker's dozen of years, remote can be successful but things like slack and teams are not a drop in replacement for "on site" either. That said, any sizeable company there is a likelihood you are working with people across timezones.
My last couple of roles, I dealt with timezones around the world - AUS, CET, IST, across the US, etc. When working with others that aren't in the same office, there is no need for "on site".
Management and infrastructure has to cater to it. Now, face time with quarterly/etc meetings for planning and design could be useful.
Indian strength is that it’s a country of 1.4 billions people with a large educated population of which many chose IT as a career path. From outside, that’s a nearly bottomless pool of talent.
The issue is that there is simply more people at every levels in India not only at the top and finding good developers when you are not there and Indian/familiar with India is an Herculean task.
Or the weird expectations that with large population the decent people would be the cheapest... If you are paying bottom prices you will also get bottom quality or bottom talent...
What a strange reply. Nowhere in my comment is that implied.
The fact is that average salaries are far lower in India than in Europe. Even a very competitive salary is a lot lower than what you would pay here. That’s why we go to India. If the salary was the same, we would simply hire here and avoid dealing with the different time zone and culture entirely.