My journey from being a cook to becoming a software engineer.
Tags: lowcode, vue, jsx, javascript
Published: 2023-01-24 07:14:52

A long journey from a cooking education to programming.
Hello, I'm Vitaly and I work as a low code developer.
I want to share the story of my journey from a student to my first job as a developer.

## My first profession, very far from IT

My first job had nothing to do with computer programming.
Growing up in a small town, the concept of a "**programmer**" was a foreign concept, nothing more than a distant myth of people who made "**millions**". But little did I know, my journey to becoming a developer was just beginning.

After finishing high school, I started working in the food industry. I learned a lot and became good at my job, but as time went on, I realized that it wasn't giving me the satisfaction and financial stability that I wanted. The pandemic and other events made the future of the industry uncertain.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z5lullz55wxf0dlg45mx.jpg)

But then, I realized that my true passion was in the world of computer programming. I wanted to make a change, and I decided to take the leap and pursue my passion. **I haven't looked back since.**

## Professional reorientation and training

When I first decided to make the switch to the tech industry, I was a little intimidated. I had never really thought about becoming a software developer before and I wasn't sure if I was ready for the challenge. But, I knew that if I wanted to achieve my goals, I had to take a chance and step out of my comfort zone.
I started my research by looking into different IT professions and the skills required for them. I quickly realized that there were so many options to choose from. But, as I dug deeper, I found myself drawn to the world of **Frontend Development**. It seemed like the perfect place to start because it had a low barrier to entry and didn't require a lot of expensive equipment.

[https://youtu.be/-_X6PhkjpzU](https://youtu.be/-_X6PhkjpzU)

I began by taking **some free online courses** to learn the basics of web development. But, I quickly realized that in order to truly excel, I needed to invest in quality courses. So, I signed up for an online course and dove headfirst into the world of web development.

[https://youtu.be/aoQ6S1a32j8](https://youtu.be/aoQ6S1a32j8)

At first, it was a struggle to understand everything. But, the more I learned, the more I wanted to know. I started with the basics, like **HTML and CSS, and then moved on to JavaScript**. I found myself finishing layout courses and understanding the basics of coding. But, the more I learned, the more I realized just how much there was to know.

[https://youtu.be/r_hYR53r61M](https://youtu.be/r_hYR53r61M)

I started to experiment with jQuery and other frameworks and I was amazed by the capabilities of Javascript. As I continued to hone my skills, I realized **the importance of community** in this field. I joined developers' chats and communities and found them to be invaluable in helping me navigate the often-complex world of programming. I got advice on best practices, learned about new tools and technologies, and found support and camaraderie from my peers.

## Freelance

As I continued to improve my skills in web development, I decided to take the leap and try freelancing. My first gig was a small one, designing an email for a newsletter. But, it required using a table layout, a method that was slightly outdated. But I knew that in order to get the job done and make some money, I had to learn it. So, I dove into tutorials and documentation, and before long, I was able to complete the job to the client's satisfaction and earn my first $20.

However, as with any freelance gig, the competition was fierce and the rates were low. It quickly became clear that freelancing alone wouldn't be enough to make a living as a programmer.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/grqjwy1gjjd5u5yj99p6.gif)

That's when I found an opportunity to join a team at MarsX. They were welcoming and the tasks were clearly defined, making it easy for me to understand what I was working on and why.

As the months went by, **I continued to study and practice programming in my free time**, determined to improve my skills. Thanks to the team's support and my active presence on LinkedIn, I was given the opportunity to try my hand at developing and supporting the company's products. And before I knew it, I was officially a part of the MarsX programming team.

## Low code

From this moment, my work with the code at MarsX began. I was assigned a test task, which was to develop a conditional **IDE** interface similar to Photoshop. It was a workspace with tabs, drop-down lists, and a layout according to a certain design. I completed the task and sent it for verification. Given my experience in performing test tasks for interviews, I had some anxiety in anticipation of the review, but to my surprise, the feedback was positive and I was told that everything was practically as it was necessary, except for minor edits. However, I still didn't fully understand my tasks and what exactly I had to do as a developer at MarsX. But, I was excited when I was assigned my first real project.

The first project was an information portal about films and cinemas. The task was to rewrite the old code of the site to a new one, which still had to be put on the updated proprietary platform **CMS MarsX**. Unlike my previous development works, mainly landing pages, this task was different in that I had to understand the CMS system, the syntax of writing code, the programming of the interactivity of the site, and the most challenging part was to create the site in such a way that it was not static and dynamically changing for the user. This means that all text could be replaced, any image could be loaded without breaking the entire site, the location of blocks on the page, their order, the position of objects relative to each other and much more. At that moment, I imagined that it would be necessary for me not to create a site according to the design, but to create a practically lite version of **CMS Wordpress**, which is used to build and create sites for those who don't want to write code from scratch. The task of rewriting the old code of a website to a new one was quite daunting.

Unlike my previous development works, mainly landing pages, this task differed in that it was necessary to understand the own CMS system, the syntax of writing code, the very programming of the interactivity of the site, and the most surprising and difficult thing - to create the site in such a way that it was not static - and dynamically changing for the user, so that all text can be replaced, any image can be loaded in such a way that it does not break the entire site, the location of blocks on the page, their order, the position of objects relative to each other and much more, at a certain moment. I imagined that it would be necessary for me not to create a site according to the design, but to create a practically lite version of CMS Wordpress, which is used to build and create sites for those who do not want to write code from scratch. The task of rewriting the old code of a website to a new one was quite daunting.

But, it was also an exciting opportunity for me to learn new skills and technologies. 
One of the biggest challenges I faced was my lack of knowledge of the Vue.js framework and JSX. But instead of getting discouraged, I decided to dive into research and learning mode. I scoured the internet for resources, watched countless videos and tutorials, and eventually, I was able to gain a solid understanding of how to use **Vue.js and JSX** to build the new website.

There was one small but… What impressed me from the very beginning, as soon as I started the task, was how easily and simply it was presented to me, as a person who only created one-page sites and did a little programming in JS, I immediately had an undeniable the feeling that I will be able to do it, that there are guys who will prompt and tell me that I will not be alone on this project and that they will not stop cooperating with me after a few stupid questions. During the entire development time, I could ask for any information, ask for advice on solving certain issues, and most importantly, no one was going to do the work for me, so that only I fell behind and did not interfere with the work, but only directed and advised where to study topic, etc. which only contributed to my learning of MarsX.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ul3rvw3bbvbrvuvllqqy.gif)

Thanks to this, after some time, I finished the project in which everything worked as it should, all the bugs and errors were fixed thanks to the coordinated **work with the testers** and the insanely friendly and pleasant atmosphere inside the MarsX team.

So, yeah, it was a long and hard journey to become software developer but I'm pretty happy right now and want to share you some more stories about my new experience on MarsX.