I'm studying for an online software engineering degree while working, and I'm starting to feel overwhelmed. I've been learning Python with a beginner-friendly book and feel comfortable with the fundamentals. I'm now moving into projects and will be studying SQL next, but I'm unsure whether my current approach is efficient enough.
Should I stick with books, or would courses on platforms like YouTube, Coursera, or Udemy be more useful? I also want to know what topics I should prioritize before graduating in a couple of years. I'm trying to work hard without burning out, so I'd appreciate advice on how to study smarter, choose useful resources, and build practical programming skills.
4 Answers
Try to move beyond following tutorials exactly. Tutorials are useful for learning concepts, but copying the same project step by step can give you a false sense of understanding. After completing an example, change it or build something related from scratch. Even small additions that the tutorial doesn’t explain will force you to troubleshoot and apply the ideas yourself.
Don’t focus too much on finding the fastest possible route. Programming takes time, and building a solid understanding now is usually more efficient than rushing and having to relearn the same material later. Experiment, ask questions, and make sure you understand the fundamentals instead of just checking lessons off a list.
That makes sense. I’m trying to learn the fundamentals properly, but I’m still curious whether resources like interactive SQL exercises or a more detailed database book would be the better next step.
For your next steps, choose a small project that uses both Python and SQL—for example, a task tracker, inventory app, or simple personal finance tool. Start with a basic version, then add features as you learn. This gives you a practical reason to study databases, error handling, testing, and program structure instead of learning each topic in isolation.
A balanced routine would help: build personal projects, practice some data structures and algorithms, and connect with other developers. Coding challenges can be useful for learning patterns and strengthening problem-solving, but they don’t replace building real applications. Tech events, hackathons, and study groups can expose you to different projects and help keep learning enjoyable.

Exactly. Adding your own features, changing the requirements, or rebuilding part of the project without looking at the guide is a good way to check whether you really understood it.