Comment by paradite

1 year ago

I'm a software engineer with 7 years of experience.

I've built products used by millions of users, I've built ML models and AI coding tools, and I've been using AI to generate 70% of code that's shipped to production in the last few months.

I do believe that we can replace a large percentage of software engineers with AI in the next 3 years (2025-2027).

Also this 1 million dollar Kaggle competition on AI coding just launched: https://www.kaggle.com/competitions/konwinski-prize

Ah the junior dev starry-eyed mindset. Doing web dev isn't the only thing in the world.

AI will absolutely accelerate development, but we still need so much more modernization across all industries. We still have factories running on Windows NT with software made in the 80s. We have mines, lumberyards, farms, retail, parking, bio labs, etc. So many things need to be upgraded to the same standard as big tech is, but hasn't because it was too expensive.

Much of this AI isn't great at. It's easy to just spit out a web page with reactJS that was done 10,000x times already by millions of devs, but it's not so easy to make sure your smelter doesn't overheat or go cold using 20,000 live sensors.

New devs will have a harder time getting in, but they'll also have an easier time learning. Senior devs will be able to supervise much more.

The industry will change, but it's far from over. If anything, it will grow massively and make other industries much more productive.

  • I have to clarify that my statement don't apply to software engineers who are not working in tech companies or tech industries.

    I usually call them IT instead of tech. Wrote more in my blog post: https://16x.engineer/2022/08/23/it-vs-tech.html

    I have no knowledge of other industries that software is not the primary product.

    • The word "tech industry" is one of the more hilarious terms. Sure, some startup with a website and App, is "technology", but aircrafts, cars, rockets, heavy machinery (which all make heavy use of complex software, with rigorous safety constraints and which all involve ongoing academic research, as well as extremely detailed Design processes) is not "technology".

      Truly one of the more grandiose terms people in the software industry use to describe themselves. Same with every single person calling themselves an engineer, something which in many countries would be illegal.

    • For most industries the tech isn't the primary product.

      Google sells ads, not tech Uber sells rides, not tech. Amazon sells a marketplace, not tech. Tesla sells cars, not tech.

      Tech is just the tool.

      5 replies →

I'm a principal SWE with 25 years of experience and I think software today is comically bad and way too hard to use. So I think we can get engineers to write better software with these tools. The talk of "replacement" is going to be premature until we get something remotely resembling AGI. Unless your problems are so simple that a monkey could solve them, AI of today and foreseeable future is not going to solve them end to end. At best it'll fill in the easy parts, which you probably don't want to do anyway. Write a test. Simple refactor. Bang out some simple script to pay down some engineering debt. I've yet to see a system that doesn't crap out in the very beginning on the real problems that I solve on a daily basis. I'm by no means a naysayer - I work in this field and use AI many times daily.

  • Funny enough, now I write better code than I used to thanks to AI because of two reasons:

    - AI naturally writes AI code that is more organized and clean (proper abstraction, no messy code)

    - I've recognized that, for AI to write code on an existing codebase, the code has to be clean and organized and make sense, so I tend to do more refactoring to make sure AI can take over them and update them when needed.

    • >Funny enough, now I write better code than I used to thanks to AI because of two reasons:

      I assume you also believe you'll be one of the developers AI doesn't replace.

      1 reply →

    • Today an AI told me that non-behavioral change in my codebase was going to give us a 10x improvement on our benchmarks.

      Frankly, if you were writing code that is worse structured than what GPT or whatever generates today then you are just a mediocre developer.

    • See, the thing is, to determine which abstractions are "right and proper" you _already need a software engineer_ who knows those kinds of things. Moreover, that engineer needs to ability to read that code, understand it, and plan its evolution over time. He/she also needs to be able to fix the bugs, because there will be bugs.

      6 replies →

    • > 'proper abstraction'

      I assume you're not talking about chatgpt4o, because in my experience it's absolutely dogshit at abstracting code meaningfully. Good at finding design patterns, sure, but if your AI don't understand how to state machine, I'm not sure how I'm supposed to use it.

      It's great at writing tests and documentation though.

      3 replies →

Also my gut feeling, that about 30% of the code I wrote need some kind of engineering skill and I love to reach these problems. Until I am there, there is just a huge amount of boilerplate and patterns to repeat.