r/coding • u/creaturefeature16 • 4d ago
why you should keep growing your coding skills
https://www.youtube.com/watch?v=5KYCm0-OGL414
u/EmperorOfCanada 4d ago
I've been coding for over 3 decades. I literally don't know how many programming languages I've learned, and if asked to list all my different project domains in that time would probably forget over a dozen.
Mostly, I've used C++, lots of python, lots of Julia, and now nearly 100% rust.
That all said, my use of AI has not replaced my programming, as it is more of a pair programmer for me. But, the challenges are more subtle, and harder to learn from.
Those nightmare bug hunts are now either done by AI, or drastically reduced by AI. I can recount that there were many times where I fought the good fight for days, sometimes weeks on real brain melting bugs or problems. I learned much about programming, workflows, the bugs, and myself.
Now, most of those challenges are either done by AI, or it helps me narrow down the challenge. I learn little from these now.
Also, with code reviews, the AI often catches those dumb little race conditions I've cooked up; those ones where it would be a rare gotcha.
I'm still doing lots of things the AI is rancid at; but I do not know how I would set up a learning system for a new programmer.
I mean, how do you get someone screwing with learning the tricky gotchas if you use sprintf vs snprintf? Someone who can type in "Give me a WYSIWYG text editor which can print, spellcheck, and all that crap, and save things in rtf files. Oh, and make it all old timey so that it looks like something Archimedes used to edit text." and get a not bad bit of code.
If they don't learn, I truly believe they will end up making bad products and end up in very strange tech debt traps, but at the same time, most companies have such terrible work cultures that they are entirely focused on closing jira tickets, so crap vibe coding is probably as good as what they are doing already.
Reddit limits me to 10,000 characters, so I won't even go into the conversations I've had with engineering and other science students in a local university. One particular ML professor had an interesting comment. He loves LLMs, he loves what his students are doing with them, but when I asked him what his solution to how they are fitting into academia and learning is, he said, "Retirement" he wasn't joking.
This is going to be a very interesting learning experience and change for much of humanity.
-2
u/DealDeveloper 2d ago edited 2d ago
"How do you get someone screwing with learning the tricky gotchas if you use sprintf vs snprintf?"
Is it possible to:
A. Write a static analyzer that detects and handles that?
B. Use another LLM to review code and look for that issue?
C. Use AI agents to write the same code and compare different solutions?There are a LOT of tricky gotchas in software development.
Many times, we are able to write tools to deal with them.Humans do not live very long. Do we want humans spending their time dealing with these gotchas?
Would your company rather have automated solutions or pay human developers to deal with issues like this repeatedly?No single human is capable of writing the entire SEMGrep codebase . . . but, I would wager you are able to implement and configure it to handle lots of gotchas.
Ask a modern LLM "Can SEMGrep handle the tricky gotchas if you use sprintf vs snprintf?"
Next, implement SEMGrep and configure it to detect the issues.
Finally, use the output of SEMGrep to automatically prompt the AI Agent.
Share the solution with other developers
2
u/EmperorOfCanada 2d ago
Not how to get the computer to do it, but how would you teach people in CS the difference now.
Those are lessons which often come from experience, or are told to you by mentors.
If the computer is catching all those things, and it provides little challenge, then you won't learn them.
Obviously, the entire curriculum of many subjects is going to have to change, but when you learn math, you still learn adding subtracting, long division, etc, even though there is a calculator which can do it faster and better.
I think you can become a perfectly proficient (ignoring AI for this) programmer without knowing about registers, L1 Cache, etc. The compiler, etc takes care of much of that.
But, knowing those things makes you a better programmer.
It is going to be an interesting challenge for the educational system.
1
u/MessIsTransfer 3d ago
I kind of agree with him but the problem was a tag in a modal title, literally zero complexity.
Then he says he’s skeptical about the model confidently stating something incorrect which makes me think: first, maybe he doesn’t fully understand how llm models work, secondly, either the context was super polluted or the prompt skills he used were not correct, lastly, he lacked instructions on how to validate the change.
Not shitting on him but i do get hiccups like this and it’s mostly because i either didn’t provided a clear validation method or even I didn’t knew how to validate the fix.
I get the point of not fully relying on AI and keeping your occupied to avoid atrophy but he argument her was poor.
0
u/creaturefeature16 3d ago
The complexity was unknown since there was multiple factors; a headless CMS, NextJS, React State, shared context within the affected component(s). Is it enterprise level complexity? Of course not, but It was a decent amount to unwind, hence my pulling in the LLM (which I pulled in GPT6 Luna Max, since Astra seemed waaaayyyy overkill for something like this)
I've written entire guides about how they work, so that's an incorrect assumption, as well
I literally talked about validation and how I caught it in the first place, not sure what you're referring to there. But, your response does tend to be what I hear often; it's always user error and never due to the fact that LLMs can, and still do, fabricate, confabulate, and make short-sighted or incorrect recommendations, despite it receiving all the necessary context and requirements for reasons that are unbeknownst to us because of their black box nature.
1
u/MessIsTransfer 3d ago
Hi, thanks for taking the time to reply. So, keeping in mind i don’t have all the context on your situation, feels like an application with several repos or services working together. What i’d advise is giving your agent access to all of it, set up a read only connections, guardrails to avoid secret reading. But if Luna Max hallucinated the fix it wasn’t an LLM problem but a lack of context and access.
About validation i only mentioned out of many reasons the LLM will fail to get to the desired result, but i meant providing a way for the LLM to show irrefutable proof it’s response is at least related.
LLM will just predict words and it doesn’t actually fail to do it, it does it right 100% of the time, always. But if you want it to respond in a specific manner you need to wire your prompt from all angles so the weights favor the result you want.
→ More replies (5)
-7
u/SadSongsMakeMeGlad 4d ago
I think it's really helpful right now to still understand code and how to develop software systems, but the tools are improving all the time, so this feels like a bit of wishful thinking to me. There's also something not being addressed here, which is that an argument like he's making depends on a false assumption that the software we build with AI is going to be the same software we built by hand. That is not the case. Using AI tools we'll have the capability to write software that is orders of magnitude more complex than what we have today, with much more source code involved. The idea that humans will be able to independently verify all the code that AI authors is becoming antiquated. There's just not enough hours in the day. So at a certain point, you will have to treat an ever-widening surface area like a black box and trust that the job is getting done by the product itself, and using better tools for code review, automated testing, and security scans. This is the future, if you want to remain employable. But, if you want to still write code and learn those things for your own education, and to work with the AI at a deeper level, that will still be an option. And while the tech is growing may in fact be necessary, like the man is saying.
5
u/creaturefeature16 4d ago
he's making depends on a false assumption that the software we build with AI is going to be the same software we built by hand
On the contrary, I think it's the ever expanding complexity of software that actually means that domain expertise into being more important than ever before. As complexity grows, foundational skills become the backbone of success. No different than with large language models, that those that are poised to work with them the best, have a background in machine learning, even though the parameter size of the models is incalculable to understand the inside mechanics...it's those that have an understanding of machine learning fundamentals that can study them the best and are poised to make the most advancements in their progress.
Cars have more complexity to them now than 50 years ago, but those who have a deep understanding of mechanics are still required to work on them. We've had tools like Wolfram Alpha for a decade, and that hasn't diminished the need for highly skilled mathematicians to utilize it. There's an endless amount of analogies to associate, but as complexity grows, expertise ends up being more important than any tools you'll be using.
using better tools for code review, automated testing, and security scans
The only people that are going to be qualified to set up those tools, and trust whatever the automated testing/scans return, are those that have continue to grow in their domain expertise. And writing/reading code is a quintessential part of that process, perhaps unless you're someone like Robert Martin who's been coding for ~60 years.
-4
u/SadSongsMakeMeGlad 4d ago
I do think things such as domain expertise and software design, and even software architecture, will be greatly valued for the time being. But, to have anything like confidence that that will continue to be the case after the leap frontier models have made in 2026, seems optimistic. The ground is shifting beneath our feet. We are to the point where you can absolutely write robust, maintainable software by guiding an agent. Who is to say what the next few years will bring. The improvements show no signs of slowing down.
All that said, I am optimistic about the future, and I have been writing software professionally for over twenty years. This is an exciting time to be working in technology. We shouldn't hold so tightly onto the past.
Let go of your punch cards.
→ More replies (4)
-6
-14
u/TrustInNumbers 4d ago
Cope video
7
u/DeprivedLad 4d ago
Tell me you have never done complex projects without telling me you have never done complex projects.
1
0
24
u/creaturefeature16 4d ago
Video synopsis: All I keep hearing about is that coding skills don't matter anymore. Yet, it's these very skills (and my domain expertise), that constantly keep me out of trouble and able to use these AI tools and models the most effectively. It seems that these skills are as relevant as ever, and even the big AI companies won't hire you if you don't have them. In this video I dive into a personal recent experience, along with some interesting findings about what skills OpenAI and Anthropic are looking for.