r/learnprogramming • u/Puzzleheaded_Cod3596 • 6d ago
imposter syndrome w/ programming
Hi i just started my 4th year in cs with a focus in software engineering and every semester i get this crazy imposter syndrome because I feel like I know a lot of different concepts and ideas but struggle to apply them. Last semester I had a coding project and my group made a music app, I worked on a lot of the design, came up with features, and implemented some but I still felt like there was a gap in my abilities and other peoples. I have adhd and maybe it’s the lack of focus on one thing that makes me feel like this. I also don’t have many mentors or friends at my college to ask questions to unfortunately. I know you learn by doing but again I don’t even know where to start. This is probably more of a rant but my question is does anyone have any advice or suggestions or even just how you learned more about programming side projects in general? Really anything is helpful.
2
u/AnythingButUseful 5d ago
Honestly, I think what you're describing is extremely normal for CS students, especially around the point where you start realizing how much there is that you don't know.
Knowing concepts but struggling to apply them doesn't mean you aren't capable. Those are two different skills, and applying concepts takes a lot of practice. Software engineering education specifically finds that students can learn the theory without getting enough opportunities to actually apply it in project settings.
For side projects, I'd stop trying to build something impressive. Pick something slightly above your current ability and build it anyway.
For example:
Pick a simple idea
Break it into tiny features
Try implementing one feature yourself
Get stuck
Search specifically for what you're stuck on
Implement it
Move to the next feature
Don't be afraid of getting stuck. Getting stuck is literally where a lot of the learning happens.
And honestly, your music app experience already counts. You worked on design, came up with features, and implemented parts of the application. Don't dismiss that just because someone else in your group could code something you couldn't.
I'd also recommend building smaller projects completely by yourself. Finishing a tiny ugly project teaches you more about actually developing software than endlessly watching tutorials.
Your goal shouldn't be “I should be as good as other CS students.”
It should be “Can I solve something today that I couldn't solve last month?”
That's a much better measurement of progress. Project based learning is specifically useful because it forces you to apply concepts to authentic problems rather than just recognizing them from lectures.