Next Steps

30.06.2024

cover

Entering the world of programming is an exciting yet overwhelming journey. Even those who have been in this field for a while occasionally ask themselves, "What’s next?" In the last two years, I’ve heard this more than a few times:

"...I’ve learned various programming languages and technologies, but I don’t know what project to work on next. Or should I switch to a different language or framework?"

If you've ever found yourself in this situation, let's explore what steps we can take to move forward.

These ideas are the author's personal thoughts, and there may be some suggestions that don’t resonate with you.

1. Being Lazy (Strategically)

Lazy image

Yes, you read that right—but you might have misunderstood (in my humble opinion). There are countless problems around us. Sometimes they’re hard to solve or take too much time. The first rule of "strategic laziness" is:

Achieve big results with minimal effort.

Take the time to deeply understand the problems that you and those around you are facing. If those problems can be systematized (many of them can be automated), tackle them before someone else does.

2. Networking

Networking image

Whenever I attend a Job Fair, I try to make as many connections as possible ("Job hunting was just an excuse, I was looking for you among all those people"). I talk to them and learn about the company’s work. This way, you can understand more problems and potential solutions, and by practicing, you gain experience.

It’s not about knowing a lot; it’s about doing more.

3. Think Outside the Box

Think outside the box

80% of the projects I’ve created started because I didn’t know something, but I was curious enough to learn. Not knowing something isn’t a mistake—failing to learn is. Sure, you can build an API or design a frontend, but ask yourself:

  • Can you build a network proxy?
  • Can you create a framework?
  • ...

Don’t just keep doing what you already know. Trying things you don’t know will teach you far more and provide new skills. I've learned a lot from platforms like Webfy, Gylo (coming soon), cVPN (coming soon), and 42. If you’re unsure where to start, try using Build Your Own X to learn step-by-step how to create projects. In short, try what you haven’t done yet...

4. Problem Solving

Problem-solution

Since I started solving problems on Leetcode, I've become more aware of how many problems exist. I’ve learned how to solve them in simpler ways, with less time and fewer resources. As Jahongir once said:

"One Leetcode a day, keeps unemployment away."

5. Try

Trying doesn’t always lead to success. Just yesterday, I accidentally brought down the 42.uz server (with Azimjon, of course). Due to overlooking a small detail, users were temporarily disconnected from the system (some were working at 12-1 AM without sleeping). Only we truly know how it made us feel.

Conclusion

To sum up, follow what you already know. You’ve likely heard most of the advice in this post before, but the real issue isn't that you don't know—it’s that you’re not acting on what you know (in my humble opinion).