No. Not knowing in second or third year is normal, and certainty usually comes from trying things rather than thinking about them. Run short, cheap experiments in two or three areas, pick a default direction for the next six months, and keep your fundamentals strong so any choice is reversible.
What people tell me
I am in the second or third year of a computer science degree. Some of my classmates have known since first year that they want to be backend engineers or data scientists. I have done my courses and a few assignments, but I do not feel a strong pull toward anything. Everyone asks what I want to do after graduation and I do not have an answer. I feel like I have wasted time by not deciding earlier.
A composite of the messages behind this question, with personal details left out.
Key takeaways
- Most students do not know at this stage, even the ones who sound certain.
- Clarity comes from small experiments, not from thinking harder.
- Try two or three areas for three to four weeks each with a tiny project, then compare how they felt.
- Pick a default direction for six months. It can change later.
- Strong fundamentals keep every door open while you decide.
You are not as far behind as it feels
When a student tells me they do not know what they want yet, I ask how many areas they have actually tried. The answer is usually none, beyond university assignments. That is not a character flaw. Assignments rarely feel like real work, so they do not tell you much about what you would enjoy.
The classmates who seem certain often chose early because a friend, a video or a family member pointed them somewhere. Some of them will change direction later. Certainty at twenty is not a reliable signal, and uncertainty is not a sign you are failing.
Stop trying to think your way to an answer
Career clarity almost never arrives by reading about options. It arrives by doing small pieces of different work and noticing your reactions. So instead of asking "what do I want to be?", ask "what can I try in the next month?"
Run three small experiments
Pick three areas that sound even slightly interesting. For each one, spend three to four weeks on a tiny project, around five to six hours a week.
| Area | A small experiment | What to notice |
|---|---|---|
| Web development | Build a page that fetches and displays data from a public API | Do you enjoy seeing things appear on screen? |
| Backend | Build a small API with a database and three endpoints | Do you enjoy data, logic and making things reliable? |
| Data | Clean and analyse a public dataset and write up three findings | Do you enjoy finding answers in messy numbers? |
| Mobile | Build a two-screen app with a list and a detail view | Do you like thinking about how people use a device? |
| Cloud and DevOps | Deploy an app with a pipeline that runs tests automatically | Do you enjoy making systems run smoothly? |
| Security | Work through beginner capture-the-flag challenges | Do you enjoy thinking about how things break? |
After each experiment, write three sentences: what you enjoyed, what drained you, and whether you want to go further. Those notes will be more useful than any career quiz.
Pick a default, not a destiny
After two or three experiments, choose the one that felt best as your default direction for the next six months. Say it out loud: "For now, I am working toward backend roles." Having a default makes everything easier. You know which internships to apply for, which electives to take and which project to build next.
If you later find something you like more, you switch. The skills carry over far more than you expect.
Keep the core strong while you decide
Whatever you pick, some things help in every direction:
- Programming fundamentals in one language you can use comfortably.
- Data structures and problem solving at a steady, regular pace.
- Git and working with other people's code.
- Databases and how the web works.
- Writing clearly about what you built and why.
If you are working on these, you are not behind. You are building the part everyone needs.
A simple plan for the rest of this year
- This month: first experiment, plus a regular problem-solving habit.
- Next two months: second and third experiments.
- Month four: choose your default direction and start one deeper project in it.
- Before the next internship cycle: apply with that project, even if it is not perfect.
Look at the Sefism internships and the company directory to see what real roles in each area ask for. Job listings are a surprisingly good way to test whether an area appeals to you.
When people ask what you want to do
You do not need a perfect answer. Try: "I am exploring backend and data at the moment, and I am building a small project in each to decide." That is an honest, mature answer, and it is much better than pretending.
An example of how the experiments play out
One pattern I see often: a student tries web development first and finds it fine but not exciting. Then they build a small API with a database and notice they lost track of time while designing the tables and handling edge cases. The data experiment is interesting but the write-up feels like homework. Their notes make the decision almost obvious: backend first, with an eye on data engineering later. Nothing about that required certainty at the start. It required three small projects and honest notes.
A self-check to read your own reactions
After each experiment, rate these from 1 to 5:
- When I got stuck, did I want to keep going or did I want to stop?
- Did I think about the project when I was away from it?
- Would I be happy doing a harder version of this for a year?
- When I looked at job listings in this area, did the work sound interesting?
The highest total is your default direction. If two are close, pick the one with more entry-level openings near you and keep the other as a side interest. If none scored well, try one more area before concluding anything. Low scores across the board sometimes mean the experiments were too big, not that the field is wrong.
If you are still stuck
If a weak semester is part of the worry, read Does a low CGPA ruin my chances of getting a job in tech?. Then read How to start your career as a software engineer and The fundamentals worth learning as a software engineer. If you want someone to look at your specific situation, join Sefism and, as a member, book a 1:1 session.
Was this answer helpful?
Read next
- How to Start Your Career as a Software EngineerA practical route into the first software engineering job: pick one language and stop shopping, build things too big for a tutorial, learn the five fundamentals you cannot skip, get your code in front of a human, and apply earlier than you feel ready. Includes a twelve month shape to work to and an honest read on what the current entry level market has changed.
- The Fundamentals Worth Learning as a Software EngineerFrameworks are the fastest moving and least valuable part of what you know. This is the layer underneath: how a computer runs your code, data structures as trade offs, complexity at conversational depth, storage, networks, concurrency, version control, testing as a design tool, and the two skills engineers skip that decide how far they get.
Your situation is not quite this one?
Members get written answers to their own questions, a roadmap built for them and feedback on their projects. Early access is open to X and Instagram followers and university students. Prefer to talk? A free call works too.