Nikita Kazakov
Nikita Kazakov
4 min read


After switching from petroleum engineering to software development, I have folks ask whether they should do the same.

Like my own journey — they either feel dead in their current career or their industry crashed. Here’s what I tell them.

It’s not for everyone

Software development is not for everyone. I don’t say this with a sense of elitism.

Take my example — I switched over from Petroleum Engineering. For some folks, Petroleum Engineering is a fantastic field and they find satisfaction and passion in. It’s their vocation and their day to day work matters to them.

That wasn’t the case for me.

The same thing goes for any vocation — including software development. It’s not for everyone.

Some folks can’t imagine sitting in front of a screen for long hours. Others don’t want to build products or problem solve through writing code.

So how do you know if there’s a chance it might be right for you?

I looked back to the traits that helped me persevere through programming and made questions that give insight into those traits.

Ask yourself

If you answer yes to a few of these questions then software development might be right for you.

  • Does building things turn you on? They could be mechanical things or things on the computer.
  • Does the act of building something yourself give you satisfaction?
  • If there’s a problem that YOU want to solve, do you enjoy the act of solving it?
  • Do you like using technology?
  • Can you sit in front of a screen for hours?
  • Do you see yourself as a manager or do you see yourself as a builder? (you’ll mostly be building things as a software developer)

It’s not wrong if none of the above interest you.

However, let’s say you answered positively to some of these questions and want to move forward.

Do a trial run

If you still want to move forward, the next step is to try programming for a week or two. Find a programming course or book goes over the basics of the language you’re interested in. Look for courses and books that have good reviews and are geared for beginners.

I chose Ruby, but it’s not the only language out there.

Here’s what I did when starting out with Ruby.

I read Chris Pine’s — Learn to Program and worked along with the exercises right until chapter 10 (it got complicated afterwards). I then switched to Launch School’s — Introduction to Programming with Ruby. I made a video detailing what I did to learn Ruby.

That was just a starting point for me.

The point is to work along with the book or course that you’re doing and run exercises on your machine. You don’t learn programming by reading. You must immerse yourself and DO the work.

Do this for two weeks and ponder on the following questions and notice how you feel when you answer them.

  • Am I excited about the concept of programming and do I ponder on how it could be extended beyond the course I’m doing?
  • When you were programming, did you sometimes lose track of time? Did you have moments where a few hours went by but you were so immersed in learning that it felt like only an hour passed? This means you were in a flow state.
  • Did you find yourself looking for books or blogs posts in your free time on programming / software development?
  • If you could pick between two jobs right now: The first one is in your current industry and another one in software development — Which one would you choose? Or would you choose neither because both industries don’t feel right?

If you answered positively to some of the questions above — software development might be right for you.

Don’t let me stop you. I’m sharing what I noticed in myself and these questions helped uncover traits that helped me get through the hard times while I was learning software development.

Here’s how I encountered a few of those traits in my own life.

Traits from my own life

I got my first computer in 1997. After trying to make it faster, I got into building computers in my youth.

Writing simple HTML pages, messing around with Photoshop, and building maps for Duke Nukem 3D drew me in.

It wasn’t all serious stuff.

When I worked as a product manager, I realized that managing teams wasn’t enough. I had to be involved in building the product but I didn’t know how to do that. That’s why I switched careers.

Sitting in front of a screen wasn’t an issue. Hours would fly by.

Over the years I found myself reading articles about web technologies in my free time. That was a sign that maybe I could thrive in software.

It’s a hard journey

In my own self-study, there were many times I was stuck and made zero progress for hours and sometimes days.

I’d encounter an error message that took hours to figure out. When I did figure it out — it was a simple one line change. That is incredibly frustrating to a beginner.

Had I not had an intrinsic interest in computers and an open curiosity to problem solving — I would have given up.

Even with those traits, I still had moments where I questioned if switching careers was a mistake.

Yes, the potential income of a software developer is high. Yes, you can work remotely. Yet, those two things are not enough to get through the hard times.

Listening to the stories of others

I encourage you to listen to the stories of how other people broke into software development. Freecodecamp has a fantastic podcast where they interview people from all walks of life.

I listened to a lot of these stories on my drive to the office. Their stories resonated with me and gave me hope.

Now you have a better idea whether software development is something you’d want to pursue.