Find your Path in tech
Find your Path in tech
All of us want to discover our true self – find the place we belong to, the work we’d be passionate about. To do that you’ll most probably have to try a number of options, knock on lots of doors, get obsessed with different ideas, take risks – trying to experience as many things as possible. Finally you’ll stop, listen hard to the voice of reason, and make your choice (God knows if it’ll be the right one). Maybe pretty soon you’ll have to start from scratch. Maybe not. But one way or another, that’s how you learn what life truly is.
After finishing high school I entered the School of Telecommunications and Measurements. My choice was pretty natural, as network technologies and cellular networks in particular were quickly developing back then, and I really wanted to be a part of that. So I was: after graduation I worked as an LOS engineer for one of the biggest mobile network operators in the country. But when my contract was over, I realized that cellular networks were taking a backseat to a new rising giant — Tech. That’s when I realized I had to move on and try myself in this field.
So I took a deep breath and started a new job search. Having a degree in engineering, I had pretty good chances to get hired. Sure, my knowledge wasn’t what I wanted it to be, but I had some expertise in working with different operating systems, and knew the principles of network engineering and network protocols functioning. Besides – I had basic programming skills and was pretty savvy with hardware. But as I was running out of money at that time, I had to act fast. And that’s why I decided to try myself in software testing — it was more likely I’d find a job in this field than as a junior developer, at least at that time of my life. I had five interviews before I got an offer: to become a quality assurance engineer at Plarium, a MMORTS game development company with millions of players worldwide.
For about four years I worked at Plarium, where I was engaged in software testing and maintenance for both existing and brand new game dev projects, on different platforms and engines, including Unity. While I was a member of the Plarium crew I learned a lot and from the best, meeting many interesting professionals. The projects I worked on included Stormfall, Total Domination, TD: Reborn, to name just the highlights. I enjoyed it. But at some point I realized I was burning out, seeing no more opportunities for growth and development. So it was time for my Plarium story to end, and in that end for a new beginning to emerge.
I started a new job search. It wasn’t to take long, though: right after the second interview I got a job offer from another game dev company — Ubisoft. To be honest, it was during that time that I started thinking of switching my career and having a shot at software development. To be clear, I was actually pretty excited about working for a company whose games I’de been playing since I was a kid, and I accepted the offer happily. And though the idea of switching careers (not just companies) was still there, I decided to give it some time to mature.
Those 9 months I worked on PC games for Ubisoft were filled with events: I took part in creating Watch Dogs 2, met real game dev ninjas, gained new expertise, made a few friends and got disillusioned with big names.
After a few months I realized I didn’t belong anymore. It wasn’t only about the team and what I was doing, but also about the industry in general. Creating games is really cool, but I didn’t feel fully engaged in the creation process. I could have tried to apply for a trainee developer position — there were plenty open at that time – but I did not yet really have the required skills, and so I decided to work til the contract ended and leave right after the launch of the game.
That’s how I found myself at a crossroads once again. I knew I could make progress in programming if I tried really hard, and become a junior developer after leaving Ubisoft. It was clear to me that I’d have to reconsider my lifestyle, master time-management skills and learn to sort out my priorities. Looking ahead, I can tell you that all these things were really tough for me, though sometimes I thought I was doing pretty well.
Every end is a new beginning.
It all started with an HTML, CSS and JS course at Codecademy. But, frankly speaking, I wouldn’t recommend this course to anybody above about five years old. But then, at the same time, I myself felt like a five-year-old when I looked at the requirements for junior developer positions.
I had to keep learning, but I was drowning in an ocean of information on the Internet. Finally, I pulled myself together and picked a few online courses to get down with the basics quickly – along with a few books to add more profound learning, and some Internet resources to stay tuned in with the latest news from the technology world.
After I’d mapped out a learning plan, I signed up for GitHub and Stackoverflow accounts. For the Git, I’d like to recommend the very good online course at Codeschool, as well as the books Up and go with Git and Github by Ray Villalobos and Pro Git by Scott Chacon and Ben Straub.
One small but crucial thing I gleaned along the way: I think it’s really difficult to overestimate the importance of a solid understanding of networking protocols, such as TCP/IP, HTTP/HTTPS/HTTP2, SSH, FTP. Knowing the ways of the command line is also pretty important.
There is also one special book I’d like to recommend to everyone who’d like to immerse themselves in the mysterious world of computer technologies and find out how computers work under the hood: Code: The Hidden Language of Computer Hardware and Software by Charles Petzold.
The better you understand how things work at the lower level, the more confident you’ll be.
If you decide to become a specialist in any kind of tech, you’ve got to be down for a challenge. Sometimes you’ll think you can’t take it any longer, want to stop trying. But be strong and persistent, do not give up!
Some time ago, I asked a friend of mine, a newbie developer back then, what it was like to be learning programming. His answer was “No life, buddy” — and that turned out to be so true. Having a full-time job, he would come home right after work and start coding. I think it’s a perfect example of aspiration and commitment. The guy became a full-fledged junior developer in six months. It didn’t happen so quick in my case, but at least I had someone to look up to.
At times I felt on edge. There was too little time and too much information that seemed impossible to grasp, not to mention various unforeseen difficulties which would pop up from time to time. The chances seemed entirely against me; I didn’t feel I was making any progress at all. I procrastinated a lot and even started thinking of giving it all up. Fortunately, I had enough persistence not to give into that temptation.
Be persistent; don’t give up.
I needed to come up with an efficient and well-organized schedule where I could fit in my studying, full-time job, and everything else. I had a nine-to-six workday with an hour for lunch – which I turned into an hour for studying. I would treat myself to a short break after work finished, then spend the rest of my time before going to bed on studying. I spared Friday evenings, though, to have a couple of beers and just relax.
On average, I spent at least 20–30 hours a week studying. I tried to log time and mark topics I was getting into; I decided to use mind maps for this. But they grew very rapidly and became inefficient, and I had to stop using them. However, this technique might turn out to be useful for someone else, so it’s worth noting.
Here is the technology stack I was focusing on:
You might say it’s just the tip of the iceberg, and you’d be right. But it’s rather difficult to come up with a really comprehensive list. I realized I needed to point out at least the most significant topics, and all the little nuances would then fill themselves in.
Before delving into programming I wanted to cover the essentials of HTML and CSS – such as box model, HTML forms, grid layout, CSS selectors, Flexbox, etc. It was also necessary to learn at least one preprocessor, become familiar with MVC pattern, get a handle on web development tools, and understand how browsers work under the hood.
The more I learned, the more I wanted to take on a new job. However, I was realistic enough to realize it was too early for that. I knew I was still at the very beginning of my way, so I had to be patient and keep on studying. Nevertheless, I prepared my CV and started to look for some job opportunities. I also told all my friends what I’ve been up to lately – in case someone needed a guy with my newly-acquired expertise.
As the time passed, I was getting less engaged in my current job – though I made sure this didn’t influence quality. I was getting more and more detached from all I had been doing those five years. My decision was firm: as soon as my contract expired I would quit and start a new job search. The date of my resignation coincided with the new year, which was pretty symbolic: new year — new life, you know.
There I was, looking for a job again – but I was pretty happy, because I knew what I wanted and I was going to get it sooner or later. The first thing I had to do was to draw some kind of conclusion from what I’d learned and find out how much I was worth on the job market. I updated the list of my skills on LinkedIn and posted that I was looking for a job on all my social media accounts. Then I sent my CV to all the companies I was interested in and which, I thought, could be interested in me.
Hardly had I attended the first interview when an opportunity came up. Talking to my old friends from Zajno design studio, I told them the news and what I was up to. As it turned out, they were working on a new project using the same technology stack I was learning at that time. I wondered if they needed a trainee on their team. They thought it over and decided to hire me, and I’m still thankful for this great opportunity.
Real professionals and trainees, top specialists and newbies, we all learn from each other and help each other here at Zajno.
I’ve been working in Zajno for 6 months already. During this time I’ve taken part both in several noncommercial, internal projects and in some external ones, too. I’m working in an awesome and really friendly team with a dozen cool and pretty bold guys, all eager to learn, ready to experiment, and committed to what they’re doing. They’re people of various talents and different specializations, but they all know what, how, and why they’re doing what they do, and they love it. And so do I. Real professionals and trainees, top specialists and newbies, we all learn from each other and help each other, constantly solving different problems and finding new solutions. Having ups and downs, we hone our skills day after day, becoming better versions of ourselves.
Breaking out of your comfort zone is always painful. But it was exactly what I needed back then, and I am very glad I had the courage to make changes in my professional life. Yes, my learning curve was steep, and the transition from game testing to web development wasn’t that smooth and quick. But I feel how much I’ve grown since making that move, and this motivates me to go even further.
I believe that problems and obstacles only exist in our minds, and we can achieve anything when we want it badly enough. If you’re thinking about making changes in your life, you’ve just got to decide if you really want those changes enough to make them real. If you’re considering jumping into a challenge like this, I hope this account of my experiences can be of some help to you. I hope you’ll do it better than me. Career-switchers sometimes seem to be frowned upon, and sometimes they experience difficulties getting a job – as employers tend to think of them as people who can’t make up their minds. But there are strong arguments you can always put forward — that only by gaining a breadth of experience can you ultimately gather the motivation to build up a true depth of expertise.