DEV Community

Nelvin Ochieng
Nelvin Ochieng

Posted on

The Beginner's Dilemma: Too Many Paths in Tech, Not Enough Certainty

When I started learning software development, I thought one of the hardest things would be learning how to code.

Understanding variables, loops, functions, debugging errors, and figuring out why something worked on one occasion but failed on another seemed like challenges I would eventually overcome with enough practice.

What I didn't expect was how difficult it would be to decide what to focus on.

There are so many paths in tech. Frontend development, backend development, mobile development, cybersecurity, cloud computing, data science, machine learning, AI engineering, DevOps, and many more.

Every path has its own tools, languages, communities, and success stories.

And if you're a beginner, it can be difficult to look at all these possibilities without wondering whether you're choosing the right one.

Every time I discover something new, I start questioning my direction.

Imagine spending weeks learning backend development. You're writing code, working with databases, fixing bugs, and slowly beginning to understand how things fit together.

Then you come across someone building AI-powered applications.

Their project looks interesting. The possibilities seem endless. You start watching videos about AI engineering, reading about the skills required, and exploring the tools people are using.

Suddenly, you have questions.

Should I be learning AI instead? Is backend development still the right choice? Am I spending too much time on one thing when there are other opportunities I could be exploring?

Before you know it, the thing you were working on no longer feels like the most important thing to learn.

You haven't necessarily lost interest in backend development. You've just discovered something else that looks equally interesting, perhaps even more promising.

And now you're divided between continuing what you started and pursuing something new.

I think this is one of the confusing parts of being a beginner in tech. You don't always have enough experience to know which direction suits you, but you feel pressured to choose one anyway.

The internet makes it harder.

Technology communities can be great places to learn. People share projects, learning resources, career advice, and opportunities that you might never have discovered on your own.

But there is another side to this.

Every day, you can encounter someone learning a new programming language, someone building an AI agent, someone contributing to open source, and someone announcing their first developer job.

It can feel as though everyone is moving forward in a clear direction.

Meanwhile, you're still trying to decide what to learn next.

The problem isn't that these people are doing something wrong. The problem is that constant exposure to other people's progress can make your own journey feel inadequate.

You start measuring your progress against things you haven't done rather than recognizing what you've learned.

You might have spent weeks understanding a difficult concept or completed a project that once seemed impossible. But instead of appreciating that progress, you find yourself thinking about another technology you haven't touched.

There is always another framework, another language, another tool, and another skill you could be learning.

If you measure your progress by how much of tech you've covered, you will almost always feel behind.

Am I exploring, or am I avoiding commitment?

This is a question I've found worth thinking about.

Exploring different areas of technology is not a bad thing. In fact, it can help you discover interests you wouldn't have found by following a single learning path from the beginning.

The problem begins when every new interest makes you abandon your current direction.

You start learning Python, discover JavaScript, and wonder whether you should switch. You begin building web applications, discover machine learning, and start questioning whether web development is worth pursuing.

Each switch introduces new concepts, new tools, and new things to understand.

Eventually, you may know a little about several areas without having developed enough experience in any of them to understand what the actual work involves.

And sometimes, the desire to switch has less to do with genuine interest and more to do with discomfort.

Learning something difficult can make you question whether you're suited for it. Seeing another field where people appear to be doing exciting things offers an easy distraction from the struggle you're currently experiencing.

Of course, not every desire to switch is avoidance. Sometimes you genuinely discover that a different field interests you more.

The challenge is learning to distinguish between the two.

Am I changing direction because I've learned something meaningful about my interests, or because the path I'm on has become difficult?

Those questions deserve different answers.

You don't have to choose your entire future right now.

One thing I'm learning to appreciate is that choosing a direction doesn't have to mean committing to it forever.

You can focus on backend development today and explore AI later. You can learn the fundamentals of web development and eventually discover an interest in data engineering.

Skills also overlap more than they might initially appear to. Programming fundamentals, problem-solving, debugging, databases, and understanding how software works can be useful across different areas.

Your learning isn't necessarily wasted just because your interests change.

However, this doesn't mean you should constantly start over.

There is a difference between changing direction after gaining experience and abandoning a path every time something new catches your attention.

The first can be an informed decision. The second can prevent you from getting far enough to make an informed decision at all.

Instead of trying to identify the perfect career path before you have enough experience, perhaps the better approach is to choose one direction and give yourself time to explore it properly.

Build projects. Solve problems. Read documentation. Experience the frustrating parts, not just the exciting ones.

Pay attention to the work itself.

You might discover that you enjoy it. You might discover that you prefer another area. Either way, you'll be making your next decision with more information than you had before.

Maybe progress is learning to stay curious without constantly starting over.

I don't think the solution to indecisiveness is to stop exploring.

Curiosity is one of the things that makes technology interesting. There will always be something new to discover, and I don't want to lose that excitement.

But I also don't want every new discovery to make me doubt the progress I've already made.

Perhaps the goal is to learn how to be curious without feeling obligated to pursue everything.

I can save an interesting AI project for later without abandoning the backend project I'm working on. I can admire someone's progress in cybersecurity without deciding that I should immediately become a cybersecurity engineer.

I can acknowledge that another path might be interesting without assuming that my current path is wrong.

Most importantly, I can accept that I don't yet know exactly where my journey will lead.

Being a beginner means there is a lot I haven't experienced. It doesn't mean I'm already behind.

I don't need to learn every technology. I need to learn enough to build something meaningful, understand what I'm doing, and keep growing from there.

And perhaps the most important thing is this: I don't have to make the perfect decision today. I just need to make a reasonable decision, give it a genuine effort, and learn from the experience.

There will always be another path to consider.

The question is whether I will spend my time constantly looking for a better direction or give myself the opportunity to discover what I can accomplish in the direction I'm already taking.

For now, I'm learning that it's okay not to have everything figured out.

I'm still learning. I'm still exploring. And I'm trying to remember that progress doesn't require me to know every possible destination before I take the next step.

A question for other beginners in tech:

Have you ever found yourself questioning your learning path after discovering another area of technology? How do you balance exploring new interests with staying consistent enough to develop your skills?

I'd genuinely like to hear how other people are navigating this.

Top comments (1)

Collapse
 
christopher_jakob_acda8fa profile image
Christopher Jakob •

"You start measuring your progress against things you haven't done." That line is the whole trap. Your subconscious decides what you notice through a filter called the RAS, and it surfaces whatever it's been fed. Scroll enough first-job announcements and AI agent demos and it gets very good at spotting everyone's progress but yours, while the weeks you spent finally understanding databases go invisible. So the doubt about backend usually isn't about backend. It's the filter running on old data.

Two things help. Commit to one path for a set window, say 90 days, and park the shiny videos until it's over. And feed the filter new data on purpose: at the end of each day, write down one thing you understand now that you didn't last week. Outside code, give a genuine compliment to a stranger. When that is easy, add a bit of conversation. Does not matter how it lands. The action is the win. That's how you show yourself you don't need certainty before you move.

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