r/learnprogramming • • 3d ago

how to learn "software engineering"

Hi guys, I'm a senior in high school, and I'm really confused on where to go

for the record I do know a decent amount of C++ / python (for comp coding and classes) but since then I've started to move to personal projects....

The purpose of these projects is to improve my knowledge tenfold and learn how real software is made. But online, EVERYONE says "coding is dead, and to learn architecture".

But how do you learn that?

Do I delegate sections to AI and then have it explain? Do I create what goes where and then tell the Ai to make it? Or Do I just code it all myself with AI to debug (taking an absurd time).

I feel like only the third one will have me actually learning completely, but at the same time, it'll take 20x the time, and with 20 projects I could probably reach the same level (or more) of learning by having it make + I explain? AHHH i'm just not sure how to make myself super smart and knowledgeable for swe

thanks in advance :)

17 Upvotes

18 comments sorted by

View all comments

4

u/HalfRiceNCracker 3d ago

Have you built projects yourself without tutorials?

6

u/stunningpersona4 3d ago

Yeah no, your instincts are right about the third option. That's how it actually sticks. You need to personally wrestle with the ugly parts, not just watch something stitch them together and nod along.

Start small enough that you can hold all the pieces in your head at once, maybe a CLI tool that saves you a few clicks each day. The architecture concepts people keep name-dropping will start to click once you've built two or three things and feel the pain of your own bad designs, can't really shortcut that part.

-3

u/Artistic-Stable-3623 3d ago

I mean yeah of course, but they are EXTREMELY small projects like small python games and stuff. For bigger projects like websites/extensions the only times i've built them is with AI (so not really me) and I just asked AI to make it and now I'm realizing, I didn't learn shit

4

u/ResolveOver8696 3d ago

that realization is honestly the most important part. a middle ground that worked for me: write the code yourself, but when you get stuck for more than 15-20 minutes, ask AI to explain the concept (not write the code). you still struggle through the actual implementation, but you don't lose an entire afternoon on one syntax issue.

2

u/HalfRiceNCracker 3d ago

Scale your projects. Feel the growing pains that come with it. This will lead you to appreciate engineering

1

u/MaleficentDebt3053 3d ago

that realization hits everyone at some point lol. what clicked for me was picking one project slightly above my comfort zone and forcing myself to write every line, even if it was ugly. when I got stuck I'd ask AI "why does this approach suck" instead of "fix it for me." you learn way more from understanding why your design is bad than from reading someone else's clean solution.

-2

u/TheGreatWorm 3d ago

Could have ai like claude build you a guide from the ground up and explain you want a teacher but minimal hand holding. Like tell it exactly what you want to create and what you wang to learn from it. If its too hand holdy then drop it. Ive had it build me guides for me to follow along and code as i go when i fully learn a concept and it helps. Kind of like having a personal teacher