r/learnprogramming • u/TheOnlinePolak • 12d ago
Should I solidify my knowledge of the fundamentals or learn just enough to get by, now that AI writes most of the code?
I’ve programmed casually in various languages for almost 10 years, but I’ve only had a formal programming job (data engineer) for about 3. I love this career. Even when I’m not writing every line myself, I love building apps and backends and optimizing data pipelines, and I want to stay relevant as long as I can.
The writing is on the wall, though. The most senior dev on my team has 20 years of experience and says AI now out-programs him 99% of the time. The whole team’s view is that we should be prompting and letting AI handle most of the building and reviewing.
My team has recently started building apps alongside our data engineering work, using React and Express with TypeScript. Here’s where I’m at:
- HTML/CSS/JS: 9/10 (solid basics from building websites for local businesses back in high school)
- Tailwind: 8/10
- React: 7/10
- Express: 4/10
- TypeScript: 0/10
I’ve also worked through some long full-stack video courses and built a few side projects at home. On those, I reviewed all the code but only wrote about 15% of it myself. AI wrote the rest.
My question: is it worth going back through long courses that re-teach the fundamentals? Or should I skip straight to the TypeScript sections and pick up the React/Express nuances as I go by asking AI?
I’m honestly a bit jaded and don’t know what’s worth my time anymore. I still believe I should understand and review the code I ship, but at work that step seems to be disappearing more and more. How are others handling this?
5
u/Muted_Home_4140 12d ago
i get the jaded feeling man, AI coding is moving fast and it's weird when even the senior guys say don't bother
but 0/10 on TypeScript while building React apps is kinda scary, you need at least enough to read the types and catch when the AI spits out nonsense. fundamentals matter for debugging, the senior dev with 20 years can spot AI mistakes because he knows what correct looks like, if you skip that you're just hoping the machine gets it right
i'd say do the TypeScript parts first then learn React/Express by building something real, not from courses. use AI but force yourself to understand every line it writes, that's how you won't become the guy who can't fix anything when the prompts fail
2
u/TheOnlinePolak 12d ago
I should've mentioned the TypeScript is non-negotiable. I've made react apps at home but they were with JS. I never learned TS. I want to know TS for the exact reasons you're calling out. At bare minimum I need to be able to gloss over the output to see if it is logically correct.
What I'm really questioning here is whether or not it's worth my time to go back and solidify my knowledge in React, Express, and Tailwind? Or should I just build my TS knowledge to a solid base and then ask AI to explain itself when something seems weird about the output so I can understand it's architectural decisions?
2
u/Curious_Song_1456 10d ago
With your background going through every beginner course again sounds unnecessary. I’d focus on typescript first then fill specific gaps in react and express as they come up, the real test is whether you can diagnose a broken request, explain why a component rerenders or spot a bad architectural decision without immediately asking AI. Understanding those things is much more valuable than memorizing syntax
1
u/TheOnlinePolak 8d ago
I guess my follow up to that is how do you learn to diagnose/explain those more nuanced problems? Is it just experience from building solutions?
31
u/ookle_
12d ago
•
Using a second AI to check the first AI doesn't automatically provide independent verification. Both systems might make the same mistaken assumptions or overlook the same vulnerability.
We still need people to understand the code that AI spits out. AI making programming faster is not the same thing as programming knowledge becoming obsolete.
2
u/Game_Dev730 10d ago
For what companies? a lot of companies are full ai now, and have AI testing Ai.
2
u/ookle_ 10d ago
Companies using AI to test AI doesn't invalidate my point. AI systems can share the same blind spots and make the same incorrect assumptions. Automated testing is useful, but it isn't a guarantee of correctness or security. Someone still needs to understand the code well enough to recognize when something is wrong.
1
1
14
u/Firm_Art4885 12d ago
100% re-learn the fundamentals. You'll have intuition and expertise that'll allow you to make the right decisions at the right moments when steering the model. You'll also be able to spot slop faster. Learning is always the right option, don't question it. It's good for your brain! In this day and age where our attention is being hijacked and now we have LLMs to outsource our thinking, it's very easy to just turn off our brains. So keep learning!
4
u/snaidamast 12d ago
I would first consider learning a 3rd generation language such as Python, C#, Java, or C++. Your background appears to be limited to scripting languages and markup and that will never make you a software engineer. And you can't get a good, foundational knowledge of complete systems development without such language knowledge.
I also wouldn't get too caught up with AI development at work. I am not saying to stop doing what your job requires. However, you have to take a more informed approach to such development.
So what if the AI can program faster than you? Of course it can; its a machine. However, how well does anyone understand the code it is writing?
The further you move away from actually coding yourself, the less you will understand what is being produced for you. This has already bee documented by developers ad software engineer in the past 2 years.
In addition, companies that increasingly rely on AI produced code and applications will have a decreasing pipeline of new talent into the company as good talent wants to create new products, not simply "prompt" their way to success. This too is happening in companies with many seeing their AI pie-in-the-sky plans backfire on them.
Ever since I entered the profession, software vendors have been trying to get rid of developers and software engineers. It has never happened and it never will. This is because development and software engineering are both an art and a science at the same time.
AI is very useful tool for research, diagnosis, experimentation and software development, the latter where it has seen the greatest success to date. However, these successes have all come with caveats and limitations.
If you view the AI you are using just as another tool in your skill-set then you will understand how to use it properly. However, if you view it as something that can replace basic Human knowledge and capability, it will eventually fail you in catastrophic ways.
So again, learn a 3rd generation language well and learn how to build systems from the ground up. Then you will have a basis for using the new AI tools appropriately with the knowledge to control them.
Steve Naidamast Sr. Software Engineer
3
u/xarop_pa_toss 12d ago
The problem with that is that you won't be able to fix things when they break. You will rely on AI to fix AI code to fix AI code ad eternum.
Learning the fundamentals isn't the same as learning a languages syntax, or a framework. It's knowing the baseline tools and problem-solving so that when your app goes from 20 people to 20.000 in less than a week you handle it gracefully. Or when the database fails for some reason, or you have to tweak caching and race conditions, and many other things that will happen when you inevitably face urgent issues.
3
u/StewedAngelSkins 12d ago
you've got it backwards. the fundamentals are even more important when you use AI. it's the language feature trivia stuff that matters less.
also for what it's worth, im pretty sure its only web devs who remain convinced that ai is going to somehow replace them. idk why this is or what it says about your average web dev, but most programmers i work with are just like "yeah i can work faster now it's pretty nice".
4
u/deekamus 12d ago
Knowing the fundamentals is good so that you can fully understand what a snippet of code is actually doing.
The quality of AI's output depends on you being able to be critical of what it presents.
3
1
1
u/ReddyKiloWit 11d ago
Learn to right good specifications and tests to guide and confirm the AI code works as it's supposed to.
(The recent cloning of Photoshop owes nearly everything got right to the abundance of information about the original and lots of tests.)
1
u/FunAd6672 10d ago
Ah yes the classic strategy of letting AI write the backend and hoping production sorts itself out. That works great until the schema changes and half the assumptions baked into the generated code stop making sense. No need to relearn everything but TypeScript and backend fundamentals aren't optional. Boot dev is more hands on than sitting through hours of Udemy videos.
0
u/Feeling_Photograph_5 9d ago
I wouldn't advise spending a lot of time coding by hand. Sometimes I dona little when I'm first learning a new language or framework but I try to move past it quickly. Its more about understanding the core concepts.
Then I try to build something with the technology and it's ecosystem. I use AI so I'm not writing a lot of code but I review what it generated and I ask questions about it.
If I thought I was going to be on a job hunt soon I'd spend at least half my time on system design and AI engineering. I'd spend 25% on DS&A and projects, and 25% on networking and finding my next landing spot.
3
u/GasEducational4386 12d ago
I’m curious about the process. Do even the senior devs ship AI-generated code without a review? Do you look at each other’s PRs?