I replaced "code" for "singing" to make a point.
> This comment section really shows the stark divide between people who love singing and thus hate AI-assisted singing, and people who hate singing and thus love AI-assisted singing.
> Honestly, I suspect the people who would prefer to have someone or something else do their singing, are probably the singers who are already outputting the worst singing right now.
The point is: just because you love something, doesn't mean you're good at it. It is of course positively correlated with it. I am in fact a better singer because I love to sing compared to if I never practiced. But I am not a good singer, I am mediocre at best (I chose this example for a reason, I love singing as well as coding! :-D)
And while it is easier to become good at coding than at singing - for professional purposes at least - I believe that the effect still holds.
I love coding - but I am not very good at it. I can describe what I want in great detail, with great specificity. But I am not personally very good at turning that detailed specification into the proper syntax and incantations.
AI is like jet fuel for me. It’s the translation layer between specs and code I’ve always wanted. It’s a great advisor for implementation strategies. It’s a way to try new strategies in code quickly.
I don’t need to get anyone else to review my code. Most of this is for personal projects.
I don’t really write professionally, so I don’t have a ton of need for it to manage realities of software engineering (large codebases, peer reviews, black box internal systems, etc). That being said - I do a reasonable amount of embedded Linux work, and AI understands the Linux kernel and device drivers very well.
To extend your metaphor: AI is like a magic microphone that makes all of my singing sound like Tony Rice, my personal favorite singer. I’ve always wanted to sound like him - but I never will. I don’t have the range or the training. But AI allows my coding level to get to that corresponding level with writing software.
I absolutely love it.
> And while it is easier to become good at coding than at singing - for professional purposes at least - I believe that the effect still holds.
I can't reconcile this with my own view of things but I think "for professional purposes at least" is doing a lot of work in your sentence and I get the feeling you intend to say "good enough" by adding that bit.
Most programmers are very bad at programming (and problem solving) and only if they were compared to absolute beginners with zero insight could they be said to be "good" (and most of that comes down to them at least knowing the names of maybe a couple of concepts, etc., which makes for at least a partial map of the knowledge space). Most of them will never become good at what they do either, but will stay middling because they basically just glue libraries together and learn surface level things over and over.
If all you've ever done is learn a language, a backend framework in that language, learn how to use SQL, learn JavaScript, learn a couple of frontend frameworks for JavaScript, you've just basically learned a bunch of trivia that at best could be considered table stakes for a certain part of the industry.
If you're not actually doing free form problem solving, implementing things from scratch, reading code you didn't have to read and building and reinforcing your own fundamentals in other ways you won't ever be a good programmer.
I've worked with people who've spent 10+ years in the industry only to be essentially useless without frameworks and libraries and it regularly showed in how poor their output was. It wasn't any better when they did have frameworks and libraries to use, but they could pretend it was because at least a solution was reached. The truth is that in most of those cases a much better version could've been reached by simply re-implementing only the parts that were needed, but these types of programmers don't have the capability to do so.
I think the analogy/ substitution falls apart in that singing is generally not very stable or lucrative (for 99.999% of singers), so it is pretty rare to find someone singing who hates it. Much less uncommon to find people working in IT who hate the specific work of their jobs.
And I think we do tend to (rightfully) look down on e.g. singers who lip-sync concerts or use autotune to sing at pitches they otherwise can't, nevermind how we'd react if one used AI singing instead of themselves.
Yes, loving something is no guarantee of skill at it, but hating something is very likely to correspond to not being good at it, since skills take time and dedication to hone. Being bad at something is the default state.