DUMB DEV Community

anant
anant

Posted on

I landed myself in a weird technical spot before graduation need perspective

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 (7)

Collapse
 
afrodev_ profile image
Josiah Mbao

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!

Collapse
 
1tree profile image
Kirk Wood

After nearly 20 years as a professional developer... you are in a good starting place. Now... you don't need to know everything about anything. I know enough about the domain I am working in. And I always always look for patterns. All domains have patterns. And if you can recognize them things are easier to get the happy path going. As for the unhappy paths... pair with someone more familiar with the domain.

Collapse
 
wiper15 profile image
Iniubong Ebong

This is satisfying and I love your narrative 💯✅
Though I'm not studying software engineer but this is relatable,
As a final year student the pressure of leaving the system without being able to solve real world problems shows how abstract you can be thats why I never stop exploring.

Collapse
 
annavi11arrea1 profile image
Anna Villarreal • Edited

Hello Anant,

I understand your confusion, there is no direct path. Let me give you a little of my backstory.

In 2017 I graduated with a bachelors in nutrition. While I deeply care about health and well being, I didn't take my classes seriously until the last year or so of college, which greatly impacted my GPA and ability to get into a masters program. I started my own business as soon as I graduated. I am an artist and crafter and started selling my pieces at local fairs, festivals, and nighclubs. It expanded and I got into more interesting events. I did that for about 5 years.

Due to complications involving personal matters, I had to stop vending for the most part. I shut down my shop and worked jobs that I didn't particularly care for. I finally got tired of being bored at work and doing the same damn thing over and over with narrow minded people. I had always like the idea of coding, and marveled at the possibility of being cozily tucked behind my pc at home. Bootcamps were all the rage but I couldn't invest my time into one at the time because of responsibilities. I wondered how bad it would be if I just started to try to learn some coding skills.

The actions that followed years of frustration and let downs:

  • I went to coursera, and started with html and css.
  • I then tackled basic JS concepts on my own free time
  • tackled a bunch of mini projects through coursera, doing the projects and following along. Not just watching.

Spider senses started tingling, "Do I know enough yet to get a good job?"

Bootcamp advertisements surrounded me.

I found a full-stack web app apprenticeship in my area. (PAID!) I spent the summer of 2024 learning Ruby on Rails, and to my amazement, was accepted into the apprenticeship in the fall. I searched the internet high and low for ways to become a qualified developer. I can say first hand, it's confusing as f*** to know what to do or where you should go. After I completed the apprenticeship, I snagged a temporary teaching assitant position for web-app developement. As that came to end, and realizing the outlook is bleak for entry level devs, I started looking into IT, where I landed another part time job with no benefits. I worked there 9 months before finding a better job with benefits that may have opportunities for coding.

I am only half way through my bachelors in computer science. But being involved in as many ways as possible and making yourself relevant is key. Find out what you like and roll with it. I know I love styling but from more of an artistic and personal standpoint. As an artist I take it personal when it comes to UI. For this reason, I sort of avoid front-endish positions and have decided to dig into more heavily into backendish stuff and AI.

I have over 100 repos. I have 1 app that is "finished" but not production ready. the rest is small projects to learn specific new tools or approaches. Some are a hot mess, some are decent. The hard truth is that i've learned from other developers is that you are never really finished, as staying up with current trends and securities is a continuous battle.

My most meaningful apps are the ones where I had a personal interest. As a professional vendor, I made an app to help vendors find events. In this app alone I made a custom google maps interface and built my own scrapper to populate my app with real data.

Questions to ask yourself might be:

  • what do you like?
  • what would you like to see happen?
  • what would you find useful?

If it exists, build it better. And don't try to be so perfect that it prevents you from learning! I learned about the costs of using gemini API real quick! Thats a whole 'nother story. XD

Volunteer work would also give you experience on a team. The hard fact is that for many of us, we have to roll in the mud through the uncomfortable things to gain all of the tools that we need be successful.

So as someone who has ran a business, gone through a fulltack apprenticeship, and has been able to land some tech related positions, I can say that it's ok to let your gaurd down and be uncomfortable. It allows for growth. Do not strive for perfection, strive for growth.

What was the last project you worked on that you lost track of time?


<3 hope any of that helps.

Collapse
 
naved_shaikh profile image
Naved Shaikh

You’re describing something very common and honestly, a good sign.

What you’re facing isn’t a lack of ability, it’s the transition from student-mode to engineer-mode.

  • Feeling like “I know nothing” usually means your mental model is expanding, not shrinking. Beginners feel confident. People who actually understand the surface area feel overwhelmed.

  • Real projects are supposed to expose gaps. Getting stuck doesn’t mean you failed it means you finally touched reality.

What helped many of us break the cycle:

1) Stop trying to build “impressive” projects
Build small, boring, end-to-end things.
CRUD app. Simple API. Data pipeline. One clear goal, one user, one happy path. Finish > fancy.

2) Accept incomplete understanding
You are not supposed to know everything before starting. Engineers learn just enough, ship, then refine. Depth comes after something exists.

3) Define “done” before you start
If “done” is vague, the project will never end.
Example: “User can upload data → process → see output.” That’s it. No extras.

4) Resume projects are about signals, not perfection
Can you:
• explain tradeoffs
• describe what broke
• talk about decisions you made
That matters more than how advanced the tech sounds.

Also being the first engineer in your family is hard. You don’t have invisible guidance others take for granted. Be kind to yourself.

You’re not behind. You’re standing at the exact uncomfortable point where growth actually starts.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.