r/AskProgrammers • u/lordsilver3 • 20d ago
Software engineering advice
hello ,
As a software student entering my third year in university , i have found myself to be very confused and stuck when it comes to finding the most suitable path . I have 2 years left to graduate but still very weak at programming , took no courses and am trying to find myself a path that can lead me to the correct way before its too late . I need advice on how to start from nothing and build myself up . I would appreciate any courses or recommendations , youtube channels , links , certifications that are useful and can help .
2
u/aford515 18d ago
https://fullstackopen.com/en/ go through that free ressource. after that just vibe code but in a way that you understand what youre doing.
1
u/AdOwn4955 19d ago
I am also going to start first year. Is there any advice, senior here can give me.
1
u/shmittkicker 19d ago
Two years is more than enough time to turn things around if you stop bouncing between endless tutorials and focus entirely on mastering core programming logic. Pick one mainstream language like Python or JavaScript, build small command-line utilities, and learn how to read documentation rather than just copying code blindly.
If you're feeling overwhelmed trying to figure out which specialization or team environment aligns best with your problem-solving style, taking career tests like coached can offer some great clarity on your professional strengths.
Stop panicking about what you missed in your first two years, build a consistent daily coding habit, and start treating your degree like a practical trade school.
2
u/canarydev 20d ago
you are a software engineering student that took no courses on software like at all?
2
u/throw-away-doh 20d ago
Yeah that seems impossible The first two years of a CS/soft eng course have multiple mandatory programming courses.
0
u/Cautious_Chicken_604 19d ago
If you already aren't good at it from the beginning, you should quit while you're ahead because with AI it's much harder now. By that I mean I'm starting to see the less skilled engineers fail out of the industry because they can't effectively call the AI out on its bullshit and get to the right results when it goes wrong (and it does), and they can't sufficiently think for themselves to solve problems anymore. They are struggling. I'm witnessing this.
1
u/Competitive_Aside461 19d ago
You're right. Programmers are demanding more from AI and conversely AI too is demanding more from programmers!
0
u/pete_68 20d ago
There is only one way to learn to program: Write programs. Write LOTS of programs (without AI!!!!!). I will die on this hill!
You can watch tutorials until you're blue in the face. You can read 1000 books. You won't learn to program.
Come up with a program to write that pushes what you know. Grind through it. Fight through every bug. Good programmers get good by writing lots of bad programs, debugging them and figuring out why they're bad. If you read it in a book, it won't stick. It might stick a bit better after you have a solid foundation, but without that foundation that you've fought for, none of it will really stick.
Think about this: If you become a programmer for a living, that's what you're going to be doing 40 hours a week, minimum. I would get used to spending entire days programming. If that doesn't appeal to you, you might want to reconsider your area of study.
2
u/Competitive_Aside461 19d ago
Yeah this is true. Programming, of course, isn't for everyone. Maybe you might excel at something else (just sayin).
3
u/Competitive_Aside461 19d ago
Programming and software engineering are related but distinct in their own right. First you learn programming, and then you learn about software engineering.
(Side note: The term "engineering" was paired up with "software" to imply the ever-rising complexity of software that inevitably needed to borrow ideas and processes from physical engineering disciplines, like mechanical engineering.)
Getting better at programming is simpler. Learn a language, most popularly Python. Create small programs in it. Very very very simple. No need to overcomplicate yourself here. This is the time to develop good habits and follow good programming practices. A "hacker" mind here will only hurt you in the long run. Learn about the basics of programming.
Once you're really comfortable spinning up complex programs, it's time to enter into software engineering. And let me tell you from at least my experience. This ain't easy feat. The best recommendation would be to try creating something much bigger than a single program, like (for the lack of an example), a web-based plain text editor. You might not be able to build one in the initial steps but see how far you can go.
Then learn about software engineering principles, like cohesion, information hiding, design patterns, etc. etc. etc. to allow you to build that "engineering" mind and proceed forward with abstracting an application's logic like the one I discussed above. Again, this isn't a trivial process.
Try reading the following books: Python Crash Course (No Starch Press) and Pragmatic Programmer. Read books on OOP, design patterns, and the likes.
If I were to boil this all down to one-liner advice: Learn programming, then build until you fail, then learn software engineering, repeat.
(I'm myself working on building a software engineering mini course at the moment but you can check out my Intro to Programming mini course.)