I’m graduating this year and I’m genuinely confused about where I stand as a developer.
I’m not claiming to be exceptional, but I do have a solid understanding compared to most of my peers:
C++, Python
OOPs, DSA
ML fundamentals (math behind algorithms)
Neural networks (even implemented some from scratch)
Kaggle projects — so I understand the full ML pipeline conceptually
Yet I feel like I know nothing.
Every time I try to build a real project, I get stuck midway. I realize I’ve never worked with some concept before then I fall into a rabbit hole trying to “learn everything properly”… and the project dies.
This has happened every single time.
I’ve never completed a project end-to-end, and now I’m panicking:
I’m graduating
I don’t know what qualifies as a “good project”
I don’t know what I should actually be building
I don’t have anyone in my family or circle who’s in tech — I’m the first engineer
I feel like I’ve done a lot of learning, but created nothing tangible.
If you’ve been in this situation and managed to pull through:
How did you break this cycle?
What kind of projects actually matter for resumes?
How do you finish projects without knowing everything beforehand?
Any honest advice would mean a lot. I’m genuinely stuck and losing hope.
Top comments (1)
Hey Anant, fellow final-year BSc Software Engineering student here. I completely relate to the struggle with unfinished projects. I have 50+ repos on GitHub, but only 5–10 I’d consider finished. After learning a lot, I realized the key is focusing on applying what you know.
You already have strong depth in your stack. What helped me most is picking one language or area and building the simplest end-to-end project (MVP) and deploying it. Try integrating a few tools along the way. For example, I explored MLOps: I built a simplified ML pipeline inspired by Google’s whitepaper.
Along the way, I used tools like MLFlow (experiment tracking), DVC (dataset versioning), BentoML (model serving), and a simple API with Flask or FastAPI plus a frontend for live predictions. Even basic projects feel satisfying when finished. Deploying messy projects teaches you patterns, speeds up learning, and makes sharing with others easier. Feedback also helps you know whether to continue or pivot.
Start small. Build things that solve problems for yourself or others—that motivation makes finishing easier. I made a tool to help peers write READMEs, which helped me and them, and it was satisfying to complete.
I’m still working on breaking the “unfinished project” cycle, but building fast, often, and shipping something (even if imperfect) helps a lot. Each project teaches you more and makes the next one smoother.
All the best for graduation. Don’t lose hope, we’re nearly there!