Am I focusing on the wrong skills as a CS student in the AI era? (Need brutally honest advice) [D]
Our take
The anxieties expressed by this Computer Science student in Pakistan are increasingly common, and rightfully so. The rapid advancement of AI, particularly generative models, is forcing a re-evaluation of fundamental skills within the software engineering field. The student’s brother’s perspective, highlighting the potential value of AI workflows and automation, isn't entirely wrong – the ability to effectively leverage AI tools *will* be crucial. However, dismissing the foundational importance of software engineering principles is a dangerous overcorrection. As explored in I just read LeCun’s recent thoughts on world models. Thoughts on JEPA as a path forward?, understanding the underlying mechanisms and architectural considerations remains paramount, even when utilizing AI to generate code. We're seeing a shift, but not a replacement.
The student’s proposed plan – focusing on Java, Spring Boot, backend development, DSA, SQL, system design, and project building – is not outdated. It’s, in fact, a remarkably sound foundation. While AI can generate code snippets, it currently lacks the nuanced understanding of architecture, scalability, and security that seasoned engineers possess. Consider the challenge of debugging AI-generated code, or designing a system that can handle millions of requests per second. These tasks demand deep knowledge and critical thinking, skills that are not readily replicated by current AI models. The discussion around Introducing ASCIITermDraw Bench | Testing the ability of VLMs to Generate and Edit ASCII demonstrates even seemingly simple tasks require a depth of understanding AI still struggles to achieve, highlighting the continuing need for human oversight and expertise. The emphasis on LeetCode, while perhaps not *the* sole determinant of success, continues to be a valuable exercise in honing problem-solving skills, a core competency for any software engineer.
The real opportunity lies in finding the intersection of traditional software engineering and AI. Instead of viewing them as mutually exclusive, aspiring engineers should strive to become “AI-augmented developers.” This means mastering the fundamentals while simultaneously learning how to effectively integrate AI tools into their workflows. For example, leveraging AI for code generation, automated testing, or performance optimization. This requires a shift in mindset – from writing all the code yourself to orchestrating and validating code generated by AI. The question isn’t whether traditional skills are valuable, but how to best combine them with the emerging capabilities of AI. Junior developers might be overvaluing the hype surrounding LLMs and agents, while undervaluing the importance of robust testing, version control, and clean code practices. These fundamentals remain the bedrock of reliable software.
Ultimately, the most future-proof skillset will be the ability to learn and adapt. The AI landscape is evolving at breakneck speed, and the tools of today may be obsolete tomorrow. A solid foundation in computer science principles, combined with a willingness to embrace new technologies and a keen awareness of their limitations, will be far more valuable than specializing in any single AI framework. The critical question to watch is how AI will reshape the role of the software engineer, moving from a role primarily focused on code creation to one of system architect, AI orchestrator, and quality assurance specialist.
I'm a Computer Science student about to start my 4th semester this September in Pakistan. My long-term goals are:
- Maintain a high GPA because I want to pursue a fully funded Master's abroad.
- Eventually work at a top tech company (FAANG or similar).
- Become a genuinely good software engineer rather than just someone who can build projects.
A bit about me:
I actually enjoy programming. I like logic, problem-solving, debugging, and understanding how things work under the hood. My initial plan for the rest of this year (August–December) was to focus on:
- Java
- Spring Boot
- Backend development
- LeetCode and DSA
- SQL
- System Design (starting with the basics)
- Building projects and putting them on GitHub
However, my brother (he's also studying CS) has a very different opinion.
He's heavily into AI, automations, AI agents, and vibe coding. He told me that spending so much time learning to code deeply is becoming less valuable because AI can already generate entire applications. He even mentioned one of his friends vibe-coded a complex website with AI that was supposedly extremely secure and feature-rich.
His argument is that I should focus more on AI workflows and automation instead of traditional software engineering.
My opinion is a little different.
I feel like AI is an amazing tool, but someone still has to understand:
- Architecture
- System Design
- Databases
- Security
- Scalability
- Performance
- Debugging
- Clean code
- Software engineering principles
My thinking is that AI can generate code, but it can't replace understanding why the code works or making good engineering decisions.
Now I'm questioning whether I'm becoming outdated before I've even started.
So I'd really appreciate advice from people already working in the industry.
Some questions I'd love honest answers to:
If you were a 4th-semester CS student in 2026, what would you spend the next 4–6 months learning?
Is investing heavily in Java, Spring Boot, DSA, and backend development still worth it?
How important is LeetCode today? Is it still necessary for top companies?
Should I prioritize AI engineering, LLMs, agents, MCPs, and automations instead?
If your goal was to maximize your career opportunities over the next 5–10 years, what roadmap would you follow?
What skills do you think junior developers are overvaluing today, and what are they undervaluing?
I'm not looking for motivational answers. If you think my plan is outdated, tell me. If you think it's solid, tell me why. If you think I'm missing something important, I'd genuinely like to know.
I'd especially appreciate responses from senior engineers, hiring managers, or people currently working at large tech companies.
Thanks in advance!
[link] [comments]
Read on the original site
Open the publisher's page for the full experience