I'm a student about to begin a BSc in Computer Science, and I've been programming for about four years. I started with web development, learning JavaScript, React, and Next.js, then moved toward backend development with Node.js, Python, and FastAPI. More recently, I experimented with C, although I found that lower-level focus less appealing than broader software engineering topics.
A few years ago, I built projects mostly on my own and used search engines and programming Q&A sites when I got stuck. A substantial project could take me around three months of daily work. Now, with modern AI coding tools, I can produce something similar in a few days. That speed is useful, but it also makes me worry that I'm skipping the difficult part of learning and may weaken my skills or struggle to find work later.
How should I learn effectively now? Should I continue writing most code manually, or use tools such as Claude Code as part of my workflow? What skills and projects would best prepare me for getting a software job, particularly in the difficult UK graduate market?
5 Answers
For now, I’d avoid depending on AI for research, hints, or complete solutions while you’re still developing your fundamentals. Working through a partial solution and adapting it is an important skill. You’ll probably encounter AI tools in your career, and learning them later is easier than trying to rebuild your problem-solving ability after relying on generated code for years.
If the tool generates an entire project while you barely understand it, you’re not really gaining the experience the project is supposed to provide. Keep building projects, but make sure you understand the language features, design decisions, and failure cases yourself. Small experiments, performance tests, and projects that recreate real technical problems can be more educational than repeatedly generating another standard application.
The learning curve hasn’t vanished so much as moved. AI can handle boilerplate, while you need to focus more on architecture, debugging, security, testing, and choosing between trade-offs. Use it if you want, but treat every generated line as a code review exercise rather than something trustworthy. Ask why it made a choice, test its assumptions, and refactor anything you can’t explain. Employers will care less about whether you typed every character and more about whether you can reason through a system when the generated solution is wrong.
AI-assisted development is becoming extremely capable, so completely ignoring it probably isn’t realistic. The important distinction is whether you’re using it to accelerate work you understand or using it to avoid learning. Practice both ways: write enough code manually to build fluency, then use an AI tool on selected tasks and review the result critically.
Speed matters to employers, but delivering something quickly is only valuable if it is reliable and maintainable. A project that takes three days but cannot be explained, tested, or debugged will not help much in an interview. Focus on being able to discuss your design choices, diagnose failures, and explain what you would improve.

That makes sense. The concern isn’t really typing speed; it’s whether using AI too early means I never develop the judgment needed to review and debug the output.