r/learnprogramming • u/Artistic-Stable-3623 • 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 :)
2
1
u/jacobdevhq 3d ago
architecture mostly shows up when a project gets big enough to hurt. also try picking a small open source repo, read how its split into files, then change something in it. u learn way more than from diagrams
1
u/Certain_Blueberry554 3d ago
Start slowly by designing yourself,watching tutorials ,learning to debug with time and use trusted books/guides before delegating it to AI..Ensure you understand the fundamentals first.
1
u/Wise-Arrival8566 3d ago
Third one like everyone said.
But i would like to add on the part with "coding is dead learn architecture". It has only a small amount of truth.. as a developer you need to be able to evaluate every piece of code generated by AI, every small detail but also high lever architecture. Thats why its so valuable to do everything yourself and learn and get better. This will allow you to go faster with AI in the future without creating a dumpster fire of a code base
1
u/boblibam 3d ago
You speak of the time it takes to create code. But as a learner you gotta get that out of your head. Your goal isn’t to be fast. Your goal is to learn. And you learn by repetition, taking time and struggling.
Think of working out. If the workout is easy it basically means you didn’t build any muscle. It’s the same for your brain. If you have AI do it and then read the result you have an illusion of learning but won’t be able to do anything yourself.
Try to struggle through building things yourself asking AI to be a tutor, never giving you the answer but only guiding you to help practice.
And as others said: you learn architecture by building large enough projects. That means, don’t go “ok that’s good enough”. Go the extra mile and polish it. Those last 20% of polish are usually where 80% of learning is at.
1
u/AeiEyeSpry 2d ago
You learn by "grinding", as the kids put it nowadays :) Keep programming, hacking and building things. That is the only way to improve as an engineer. AI has killed programming in the traditional sense. I think because of this, people will have to change the way they learn computer science. This is slightly off-topic, but I wouldn't advise my children or anyone young to learn programming. If you want to be employable in the future, become a great engineer and use programming as a tool to achieve your goals. The best programmers I know wouldn't consider themselves to be great programmers.
1
u/SigridFischer42 2d ago
For example, try building a simple web app from scratch without frameworks, then refactor it to use a framework like Flask or Django, this will force you to handle architecture decisions like routing, modularity, and dependency management directly.
1
u/Different_Pain5781 1d ago
AI is a tool not a replacement for understanding what you are doing. If you let it handle every beginner project you are basically skipping the part where you learn why code works or breaks. Start from scratch and struggle a bit. Codecademy helps with syntax but Boot dev gets you writing actual backend logic and understanding how everything connects.
-2
u/Nolanvex 3d ago
Middle path — design it yourself first, then let AI do the boring parts. If AI designs it, debugging later is hell. Small projects are fine, just go bigger each time.
4
u/HalfRiceNCracker 3d ago
Have you built projects yourself without tutorials?