I recently graduated with a degree in Computer Engineering and have been working on some computer vision projects. To be honest, I don't feel very talented, and I often think of myself as below average. Most of my self-improvement projects have relied heavily on tutorials, where I only make minor customizations before sharing them on GitHub as 'tutorial' projects. Lately, I've noticed that I haven't written much code completely from scratch. With AI tools being so advanced during my student years, I've been depending on them quite a bit. While I try to understand the code that AI generates, I often struggle to design algorithms or create architectures from the ground up. Given the current landscape of technology, is it still important to know how to build everything from zero? Is it considered bad practice to adapt and modify code from tutorials? I don't have many professional developers in my network, so I'm uncertain if my approach is common or a cause for concern. I'd appreciate some honest insights on this.
5 Answers
You’re not alone! Lots of developers start by modifying existing code before creating their own from scratch. It’s a valid learning approach, but try to set a big project goal for yourself rather than jumping from tutorial to tutorial. That way, you can challenge yourself to learn along the way and solve real problems.
It's great that you're self-aware about your learning process! While adapting and modifying code from tutorials isn’t bad per se, relying too much on AI or tutorials can hinder your growth as a developer. It's essential to understand the fundamentals so you can build solutions without always looking up help. You’ll eventually hit a wall with a problem not covered by existing tutorials, and that’s where your understanding needs to kick in. Think of it as building a solid foundation for your skills—it'll pay off in the long run.
It's true what they say: you don’t get fit by just watching workout videos! AI tools can be a handy resource when you already know what you’re doing, but they can hinder your learning if you rely on them too much. Use them as a resource, but keep questioning what they offer and learn to steer clear of dependency.
If the AI and tutorials are making you uncomfortable, maybe it’s time to step back. Consider tackling projects without them. Sometimes, taking a break from those tools helps to empower you to think and design on your own!
If you’re looking to land a developer job, reviewing job listings can offer clarity on what skills are really necessary. You don’t have to meet every requirement; if you're close enough, go for it! Learning is a journey—sometimes you skim over topics only to delve deeper later on. Software engineering is iterative, and every bit of learning counts.

That makes sense! I guess I just want to make sure I'm on the right track. It's good to know that learning is an ongoing process.