My Journey of Becoming a Software Engineer

09 April, 2020

My Journey of Becoming a Software Engineer

I am Azimjon Pulatov, a 21-year-old Software Engineer from Tashkent, Uzbekistan, currently living in Warsaw, Poland. I want to briefly tell you about the little life journey I took to become a software engineer.

2020, February in Old Town, Warsaw

Let's start at the very beginning, the old days when the cost of using the internet was really expensive. Not that long ago as you might be thinking, it was just in 2014.

I talked my family into getting a home internet for a month. I planned to get enough resources for learning something useful, basically English. We subscribed to a plan called "Night Racer" from Uzonline (local internet provider), with unlimited internet (with 2Mb/s speed 😅) between 12 am - 9 am.

After the third night of sitting in front of a computer downloading youtube playlists like a robot, I thought maybe it could be automated, it wasn't hard to find tools for that.

Nice! So now I can sleep while my computer does everything for me.

I was still not satisfied, I had to go to school at 7 am, so there was still 2 hours of internet time being wasted. What can we do? I can't miss school to turn off the computer at 9 am. So I learned how to turn off a computer automatically. Here it comes, my first script I wrote to make a computer do stuff for me:

shutdown -s -t 32400

This script turned off the computer after 9 hours. It thrilled me. I made a computer do that?! Fantastic!

This is how my love for programming ignited.

A month of hard work paid off. I had enough learning resources for almost a year. One of them was Harvard's CS50. It's the best online course for learning computer science and the art of programming. The professor of the course, David Malan is one of the people who made a huge impact in my life. Later, I took CS75 and CS76 as well.

Then I had a bigger question: How do I become a software engineer?

Scene from "Monsters University"
Go to university.

That's what my parents and everyone else said.

So I went to university. The end of the story, thanks for reading.




WARNING: If you are currently enrolled in CS/SWE at a university I don't recommend reading the rest of the story.



After graduating from high school, I applied to Inha University in Tashkent. Luckily I found myself on the top of the accepted students' list. But it didn't mean much, I had to pay the same amount of tuition fee, I spent all the money I earnt during high school for a semester of studying at the university.

The freshman year curriculum at the university was exactly what I learned in CS50, but with a less motivated professor who said he can't get outside the curriculum university provided when I proposed that we could learn about bits & binaries with a lightbulbs game on that lesson.

After knowing there's not much to learn from the freshman curriculum, I started attending sophomore and junior courses I liked, mainly Linux, Databases and Application programming with Java. Of course, I wasn't getting any credits for that. I was only a guest student.

That's one of the reasons I decided to drop out. Before I did, I got a nice job offer at the data center located in the university, they offered a part-time job with a salary enough to pay the tuition fee. I rejected it.

Dropped out, no job nor experience. Now what?!

While I was attending Harvard's CS50 course, I felt like a Harvard student to some extend. And among Harvard students, there's a good saying:

We don't look for an opportunity, we create opportunities.

I and my fellow friends formed up a group and called it "Spider". Why spider? Because spiders make web, and we made websites, for big and small businesses.

Spider Team, Inital Members

It was going great. Until we got a project to build a fully functional, real-time auction in two weeks. Sleepless nights, gumma (Uzbek hotdog alternative) and coding without planning made those days so special. We successfully finished and launched it in time, put it in the hands of the customer.

I realized I needed to start working on bigger projects and mentors to become a better programmer. I applied to New Max Technologies a company behind Express24, MyTaxi, and Workly. I was matched to Workly and joined the team as a junior backend developer.

Working at Workly felt totally different than in Spider. Things I coded in rush was now not an option. I tasted the joy of code reviews, stand up meetings, backlog grooming which makes an engineer better at writing better quality code and at communication, planning.

Unfortunately, my time at Workly was only 3 months, but with the right skills and referrals from Workly, I got an offer from Super Dispatch in a week.

With the right mentoring and challenging tasks, I grew the most in Super Dispatch. Realized that the most important part of being a developer is to enjoy what you are doing.

. . .

To conclude, above I brought examples of my turning points of becoming and growing as a developer. I hope you find it inspiring if you are just starting your journey of becoming a software engineer. Good Luck.