10-20 years? I doubt it. There are a bunch of companies actively working in bringing AI into robots, so they can make your dishes. And so far progress looks quite good.
Also, if enough people are going for the same backup plan it might not work out. Why should anyone book you as a personal trainer instead of the other 500 guys in town. And who is going to be able to afford paying you anyway?
> There are a bunch of companies actively working in bringing AI into robots, so they can make your dishes.
I know, I'm excited to buy the first relatively affordable ones.
> Also, if enough people are going for the same backup plan it might not work out.
Sure, could happen. You can't really plan for the future -- we like to think we can, but the best you can do is set your goals and deal with the hand life gives you along the way.
> Why should anyone book you as a personal trainer instead of the other 500 guys in town.
I'm not particularly worried about this, but that's an individual thing based on network/connections and life history that doesn't apply to everyone.
I doubt it. It’s not just America working on these breakthroughs anymore. Now we have two powers working at break neck speed to get to that point and the Chinese are making a lot of progress.
Those robots are a gimmick and they can only do prescribed tasks in a super constrained environment. They are cashing in on LLM hype right now, vision has had some advances thanks to transformers but we are so far away in terms of the hard stuff (dexterity and physical sensing) still.
You can calm down, even those with machine learning knowledge and most of those working for the AI labs won’t be needed anymore if models are capable to improve themselves.
In the end, having a machine replacing the work of a human is a good thing - in most of the cases we don’t work because of the work but to make a living. If too many people can’t make a living anymore the system is going to change. For the better or the worse.
I'd be happy to not work anymore with a strong welfare system redistributing society's gains to the leisured masses, but absolutely nothing I've seen of the direction of politics in any recent years gives me hope for this kind of situation coming about.
No it is good for humanity, but not necessarily good for individuals who built technical foundational skills on things that will be taken over by automation.
AI as it is now and as it will be projected into the future WILL automate many skills. But not all skills. MANY MANY people will retain skills that cannot be replaced by AI. One career track that will be replaced is definetely the SWE. Or at least massively reduced in capacity if not eliminated all together.
When AI can replace most SWEs, it can cost-effectively build systems that can replace most other white-collar workers as well. It's mainly skills involving physical work that cannot be replaced without major advances in robotics. Anything done with a computer in a office will be gone if SWE is gone.
Coding is the easiest thing for the ai to do, the rules are strict, there are plenty of working code to use as example and training data. The most important is that even an ai can decide immediately if the output is good or bad (working vs not working) and try again.
All other white collar jobs does not seem to have this immediate, automatic response loop, so the ai can only rely on a human's judgement on the quality of the work. Which is slow and unreliable. The human is not going to throw an exception while reading the ai generated scientific paper. It is inconsistent, two humans can make the opposite decisions about the same output. No way for the ai to measure auccess.
It is going to change a lot of things for everyone, no question about that, but nothing like this. Coding is obsolete. Actually writing the stuff into an editor does not make any sense.
We are now shepherds, we make sure the agents are well fed and not doing anything stupid.
For me it is amazing to watch it in action, I don't mind being a shepherd :) I'm not interested in the syntax of the languages or code formatting. Tabs or spaces? Who cares, neither. I also don't like shell scripts, batch files, yaml configs, json, xml. Watching the agent going through this shit like a tank is amazing.
I agree about the shepherding role. But, I'm not sure about how hands-off the shepherding will be at well-run companies. I work on pricing software for a regulated industry. If I were to start over again from scratch on some of the systems I work on, I could certainly get AI to create a black box that prices per a spec while showing its work. I would iterate on the system and validate the output with the help of an LLM. I would make sure all edge cases are covered and lock in the behavior with "unit" tests. I'd continue to monitor the system in production.
The problem that I see with a black box approach is a lot of uncertainty about how long it will take to get the initial system reliably producing the correct output with acceptable performance. I could deal with that, but the bigger problem I see is the unpredictability of future effort to make changes to the system as my company grows (more traffic to the system, more/changed territory specific laws, more features). This uncertainty could be mitigated by an experienced software engineer guiding what gets built inside of the box. This guiding would include a familiarity with how the code is structured.
Even if one assumes a black box approach, what the box should actually do still requires the mindset of a good software engineer. Many product managers or non-technical parties requesting software won't think through and find problematic inconsistencies or gaps in the business rules they asked for. They won't anticipate how to frame the problem in a way that makes expanding upon the capabilities later easier.
So, I think the role would look like a blend of software/system architect + product manager + dev/LLM ops + QA. At least this would be true at a company that I would want to work for. I've always preferred working in small, strong teams where everyone has a lot of ownership. There will always be the LLM day equivalent of software produced by offshore teams in the early 2000s. I'm sure their modern-day ilk will excrete something that's good enough. I don't want to work for this type of company.
I believe what happens in the aftermath of a capitalist-driven revolution is most people who were climbing the class hierarchy fall back down again and wealth inequality increases. Maybe things will improve in the future, but GP is rationally contending with the fact that most of us will lose out because of this and if we’re lucky our grandchildren will have easier lives in certain ways, but different lives than we would live.
Show me one non-trivial project with classic, well-organized CSS usage and clean semantic HTML.
It just never works out. There were attempts like BEM, which looks promising at first sight but is awkward at some points and only works if all devs strictly follow the convention. We all know how this usually works out. I once was that semantic HTML and css classes guy too, I completely changed my mind. In the end, we want to efficiently build a clean and shiny website. No real user looks into the (unminified) HTML source code to appreciate those awesome, sophisticated semantic CSS classes.
Gemini 3.1 is surprisingly bad at coding, especially if you consider that they built an IDE (Antigravity) around it: I let it carefully develop a plan according to very specific instructions. The outcome was terrible: AGENTS.md ignored, syntax error in XML (closing tag missed), inconsistent namings, misinterpreting console outputs, which where quite clear ("You forgot to add some attribute foobar").
I‘m quite disappointed.
1. Make sure you are using Opus model. Type /model and make sure Opus is selected. While many say sonnet is good, too, I’m not too convinced. Opus is the first model that actually convinced me to use AI as my daily driver - and I’m a developer for about 20 years.
2. Make the tasks as small and specific as possible. Don’t prompt „create a todo app with user login“ but „create a vue app where users can register, don’t do more than that“, then „build a user login“ then, „create a page to create todo items“, then „create a page to list todo items“, then „on list page, add delete functionality“ - and so on, you get the idea.
3. beware the context size. Claude code will warn you if you exceed it, but even before: the higher the context window, the higher AI will miss things. If you start a new prompt that doesn’t require the whole context of the previous one, type /clear.
4. build an agents.md or Claude.md. /init will do that for you, but it will just create a Claude.md with information that it might think are important - but easily miss things. You know best. It often also includes file and directory structure, while it could easily find out again (tree command) without that info in agents/claude file. Still I recommend: let Claude create that file, then adjust it to your needs. Only add important stuff here. The more you add, the more you spam the context. Again, try to keep context small.
5. if Claude needs a long time for finishing a task or did it wrong at first attempt, tell it to update the Claude.md with information to not do the same mistakes the next time again.
6. make sure you understand the code it created. Add conventions to agents.md that will make the code more readable (use early returns, don‘t exceed nesting level of 3, create new methods with meaningful names instead of inline comments etc.)
In German „Swiss cheese“ simply means „Schweizer Käse“ or „Käse aus der Schweiz“ - but you’ll usually still find the exact type like Emmentaler on the label and packaging.
So, as a German, it’s a bit amusing indeed.
Typescript is a workaround.
It exists because web apps got more complex and browsers only support JavaScript.
So developers need to stick to JavaScript, but they need typing, therefore TypeScript has been implemented.
It’s an exception where it made sense to do so. For all other languages: if you use some dynamic language and you need typing, either wait until the language supports types natively (PHP‘s approach) or „just“ change the language.
The additional complexity of an additional typing layer is huge. The complexity of TypeScript - and in general JavaScript‘s ecosystem - is incredibly huge.
The biggest issue we have in software development is not that a language isn’t elegant, or you can’t write some some in 3 instead of 15 lines… the biggest problem is complexity. Developers too often forget about that. They focus on things that don’t matter. Ruby vs Python? It doesn’t make a real difference for web apps.
If you want a language and ecosystem with low complexity try Go. It’s not perfect. It’s not elegant. Or PHP, which has a lot of drawbacks, but overall less complexity. I don’t say Go or PHP are the best languages out there, but you should try them to get a picture - to decide for yourself what’s important and what not.
I can confirm, and for me - even if I want like Kagi - I can’t tolerate it. I’ve read it depends on the Country you’re in. In Germany, where I’m from, loading time is up to 3 seconds - while on Google it’s almost instant.
reply