How I switched careers from a surveyor engineer to a software developer

Hello, Ivan🙂 Could you please introduce yourself a bit more?

My name is Ivan, I was born in Khabarovsk, in Russia. I am a 30-year old programmer. I moved to Moscow in 2014 and now I live here. I am currently working as a web front-end developer for a Russian company.


Why did you start programming and who has influenced your IT career the most?

I have always been interested in how technologies are developing in the modern world, watching digital technologies from the outside, quickly entering our lives. I was very keen to understand this. But like many, I did not know how to start. I realized that I was far behind the modern world trends and I wanted to get on track. I have a friend who worked as a programmer. We had a conversation and I told him about my interests. He showed me his work, told me about this web development area, and said that becoming a programmer is not tricky. He helped me find a suitable online programming course.

What did you do for a living before you became a developer?

I worked as a surveyor engineer at the Moscow metro’s construction site in the company engaged in contract work. I was not too fond of the job and work conditions. It was very unpredictable.


How did you get into programming? What motivated you to learn something new?

I started taking an online course, “Web programming from a basic level”. I discovered some websites where I could read the documentation about modern approaches, website creations, and coding. At first, it was HTML and CSS basic stuff. I tried to read the documentation additionally to understand the terminology. I was working on a construction site throughout the day and learning scripts during the evenings. Then I moved to Georgia, where I worked as a trainee in a freelance team and at the same time, was engaged in self-education. I spent 10 months in Georgia and managed to work for a Georgian company. I also watched YouTube channels and interviews with programmers. They talked about their work, experiences, and this motivated me to work even more challenging.


Each step on a career path can bring new expectations and obstacles to overcome. What challenges have you faced?

Since there was a lot of information on the Internet, it was difficult for me to filter it. It was not always clear to me how relevant and up-to-date the material or information was. It took me a lot of time to search for reliable and high-quality sources.

The 6 most common reasons why employees quit their jobs:

  1. a job that’s not fulfilling their desires
  2. they’ve reached their goals and did the best in their current job
  3. they have lost their job or are at risk of being laid off
  4. they are frustrated to see no other meaning in their work or having a job that contradicts their values
  5. they are overworked or close to a burnout
  6. salary


Do you agree with these reasons above? 

Yes, especially this one – frustrated to see no other meaning in their work or having a job that contradicts their values.  Personally, it seemed that my work did not make any sense. It wasn’t just that it was physically demanding, it was mentally a tough match, too. Construction work took a lot of time, solving engineering problems in any weather, leaving no energy for a hobby. I had almost no free time. Also, I did not feel that my work was financially appreciated enough.

It’s never too late to start anew – how would you encourage someone who is afraid to take a step forward?

You can always start learning something new and it will even be useful for one’s development. In general, watching video interviews and stories of experienced programmers about their profession, daily tasks, listening to their impressions of work. This helped me to conclude whether I want to do this or not.


Do I need a certification to get a programming job?

I started taking paid online programming courses. I watched the video tutorial, then did my homework. Homework was checked by a mentor assigned to me. But in the end,  I did not go through with the courses. I ultimately passed only two, and by that time, I was already working as a front-end developer.  I began to look for information in other sources since some courses were not enough. The certificates were not very useful to me, and no one asked me for them when applying for a job. I believe that now there is a lot of information on the internet and there are also some good free programming courses for both beginners and those who want to grow further. But if you have specialized education in programming, then it will be useful. I would say you need to have a portfolio more than certificates.

People tend to believe that to achieve success, you should be crystal clear about your goals and have some long-term career vision. What do you think about it?

Before learning something new, you should decide what you will need to succeed in the new environment. Otherwise, you will not have the motivation and you will quickly get bored.

Another thing that might discourage some of the programmers -wanna-be-s is the claim that besides the time they would also need to invest quite a lot of money into learning. Is that true?

Do you need a lot of financial investments? I think not. The main thing you have to invest – is your time. You need to devote a lot of it and give up your old habits. I would not recommend buying courses or expensive books.  There is a lot of information available. This is enough to graduate to a junior developer position and get a job as an intern. In the company, you will see the whole process from the inside and then decide if your expectations correspond with things/processes you can see in your new job. If everything suits you and you would like to continue, you can read more complex literature or study for advanced training.


So, what about your actual programming job, do you like it? 

I am delighted with my new job.  I was able to meet new exciting people. I looked at how this industry works from the inside. Thanks to my new profession, I can work from home or the office of my choice. I have more time for my hobbies, it is much easier for me to make plans, which was very difficult in my previous job.


Which programming language did you start from as a beginner?  What skills/languages would you like to improve?

I started with HTML and CSS, I created simple static pages. I took PSD from the Internet for free access. Then I started learning JavaScript and the popular JQuery library. I realized that companies need knowledge of modern frameworks and I started learning React.js. To make this happen, I read the React.js documentation like a book, took free legal courses and prepared my portfolio based on this library. Now I am also learning C# and PostgreSQL because I want to understand backend development.
Which programming language should a beginner start with?
You have to decide what you want. Front-end or back-end? Do you want to program outside the web industry? The other path depends on your choice. If you enjoy working with the visual part of the site and graphics more, then you need to start learning HTML, CSS and JavaScript.
If you want to learn how to program complex logic and not necessarily in the web industry, then I would advise you to study server-side languages and high-level languages where there are object-oriented programming approaches such as Java, C #, C, C – here I have given the order in terms of complexity from “ simple ”to more complex high-level languages. But if you are keen to learn some programming language and quickly start writing useful things, then you need to learn Python. It is also suitable for those who want to deal with neural networks or artificial intelligence. Also, the popularity of Node.js is growing now and the use of non-relational databases such as MongoDB. In general, for a future web developer, I would advise you to first learn the server language and then switch to the front-end if one is interested in developing in this direction.
How did you get your first IT job? Feel free to share some of your tips or ideas.
As I said, I worked as an intern for a freelance friend of mine, and then I moved to Georgia.  Thanks to this opportunity, I gained a little experience. But in parallel, I was studying React.js and preparing my portfolio. I worked there for several months. I wanted to work in a tech company and see how these companies operate, so working in a freelance team was not suitable for me. Then I made my resume on LinkedIn and several other job search sites. I posted all the work I had available on GitHub.  A detailed resume helps the employer to have a better understanding of your knowledge too. I also pointed out my motivation, why I like programming and what I do to succeed in this industry. After each interview, I wrote down the questions that they asked me. Preparation is the key.
From your perspective – what are the pros and cons of being a software developer?
The advantages of my work are the ability to work anywhere with only a computer and the Internet, as well as the opportunity to work in the IT industry, which is developing very quickly. If you like digital technologies and IT, then you will be comfortable here. Also, I would include the fact that you do not need to have many connections and acquaintances to become a good programmer. You need to have the knowledge and continuously develop it.
The cons of being a programmer are that you have to force yourself to focus on the task and not be distracted. Your code takes more time to think than to write. For some, this can be difficult in the beginning. You must also understand that this is a sedentary lifestyle. You should occupy yourself with physical activity after work. I think these are all the pros and cons that I noticed.
What would you like to accomplish or learn in the next months/years?
The next step for me is moving from a front-end developer to a full-stack. I want to do backend development. Now, in my free time, I am learning C # and PostgreSQL, and my colleagues are also helping me. In the company where I work, I need to know these technologies to solve current problems. I would also like to learn how to write code in Node.js and Python. I want to learn how to create a website from the first code lines to release to production. I plan to start learning more about the architecture of websites and applications. Within a few months, I want to start taking the first confident steps in back-end development, and in the next few years I want to become a middle full stack developer.
I want to draw a general conclusion and give a couple of tips for people who wish to change their profession and become a programmer:
1) You should have a habit of writing code every day or reading books, articles, and documentation about the technology that interests you
2) First, do a couple of simple tasks, learn the structure of the programming language and understand its basic principles
3) You can find many useful and free courses on the Internet, use them. Repeat the code after the author, and don’t forget to read the documentation
4) Do not try to understand complex things immediately, understanding will come with time. Remember that a considerable period of time can pass from the beginning of your studies to employment in a new specialty. On average, this will take from half a year to one year
5) At the beginning of your programming, create your an account on GitHub. In the future, this will be your portfolio, so save all your work there
6) Write your resume honestly, try to describe your skills in detail. Write what level of knowledge you have in each technology. Feel free to link to your GitHub, use GitHub Pages (free host server)
Thanks for your time!

Hand-picked related articles

Leave Your Job
Product Announcements
Team Techloop

How to Leave Your Job in a Professional Manner

Maybe you’ve been thinking about leaving your current job for a while, maybe your boss or a colleague has annoyed you and convinced you it’s time to pack it in,

Company Benefits
For Companies
Team Techloop

Which Company Benefits Do Developers Expect in 2018?

The world of work is changing at a rapid pace and the smartest companies are continually improving working conditions for their employees. As a developer or other IT professional, you

Subscribe to our blog!

Join thousands of others who get our free weekly newsletter covering tech hiring, development and beyond!

We hate spam too, unsubscribe at any time.

Subscribe to our blog!

Join thousands of others who get our free weekly newsletter covering tech hiring, development and beyond!

We hate spam too, unsubscribe at any time.