By Maria Pashchyna
177 Views

Interview with FreySoft Senior Front-end Developer

The senior front-end developer of the IT outstaffing company FreySoft Anton Zhitchenko spoke about:

  • his way in the development – the first steps in the career and 4-plus year experience in building and maintaining websites;
  • trends in the frontend – how to predict which technologies will be in the hype, current innovations;
  • work in FreySoft – projects, tasks, remote job;
  • trainings – tips for aspiring novice developers, how to maintain a high level of expertise and improve front-end qualifications. 

Tell us a little about yourself. Where did you come from and how did you start your journey as a developer?

I am 23 years old, love science, technology and programming. I come from a small green town called Druzhkovka, which is in the Donetsk region on the territory of Ukraine. 

From early childhood, I’ve often found myself interested in creating something new. Even my favorite toys were the ones connected with ‘making whatever stuff’ tendency – Lego bricks and plasticine 😀. When I was 5 years old, my parents presented me with my first computer and after that I could no longer imagine my life without it. Various digital programs and games involved my interest and attention.

Back in high school, I started to study the basics of programming, and at home I played with the creation of “mods” for my favorite computer games. I was practicing to create my first sites and forums on the previously popular CMS uCoz / WordPress, which further my friends and like-minded people leveraged. 

A more serious approach to becoming a professional developer appeared at the university, where I was studying the disciplines of Computer Science. Meanwhile, I was taking freelance projects as well.

Why did you choose the front-end as the main direction for your occupation?

I have always loved graphics, images, animations. For a while I was thinking of becoming a graphic designer, nevertheless, programming and layout of sites won in this battle 😀. I guess, it’s because as a front-end developer you turn the design into something “living” and interactive, you see the result of your work and enjoy it. 

To add, my group mates and brothers, who already worked in this area and helped to give the right direction in the study of the frontend, also somehow influenced my choice.

What is happening in the front-end segment now?

Imagine, at that very moment one or several new frameworks are being developed and released:) No doubt, the frontend continues to actively proceed and remain in high demand and popularity. The number of its experts is also growing from year to year. 

Based on statistics for the recent 2020, the JavaScript programming language, which is one of the foundations of front-end development, occupies a leading position in the top popular PL. Not to mention, in 2020, JavaScript has been enhanced with the next update to the ECMAScript version – ES2020. What was implemented with Webpack and Babel is now available in JavaScript modules! Among such innovations were operators as Optional Chaining, Nullish Coalescing, BigInt type, Promise.allSettled method and dynamic import.

Furthermore, the Web Assembly language is gaining popularity, allowing you to write more low-level and efficient code for the browser.

It is also worth paying attention to the development of Web Components. They allow you to write custom HTML elements that do not depend on a specific framework. Another good example is the CSS Houdini, a collection of browser API which extends and makes more flexible the CSS system we are used to, and Shadow DOM, which is naturally also component-based. 

The global community strives to make the frontend well maintained, extensible and standardized. More and more projects are using TypeScript, which I believe is becoming the standard in development, especially for large projects.

What technology stack are you using? Which framework do you prefer?

I mostly use React.js as the basis for building UI. I have long been familiar and comfortable with its component approach, plus wide community support. Besides, React.js library is pretty trendy in the market today, it is stable and can be used safely on most projects. Typically, but not necessarily, a React.js is used in conjunction with some kind of global store / state manager of the application. Depending on the requirements and situation, I use either Redux or Mobx – both libraries are great for this role. 

Alt="frontend_code"

To develop mobile applications, I leverage React Native. The platform, as the name implies, allows you to use the React.js library structure with native development.

As a server, I use the Node.js environment, which, if necessary, is well-suited for quickly building a REST architecture.  However, when choosing it, it is worth considering the nuances of this platform. 

On projects, I prefer to write code in TypeScript.

Is it possible to predict which technologies will be in the hype and which will not?

Yes, I think so. If we are talking about the popular triad “React, Angular, Vue”, then you can follow the trend changes on the next resource https://www.npmtrends.com/react-vs-@angular/core-vs-vue

If taking the frontend overall, you can regularly monitor new products and their popularity by referring to the recent statistics and market requirements.

How did you become a FreySoft team member? What stimulated you to choose the company?

While looking for a job, I sent my CV to the companies that I found most suitable for me. FreySoft was one of them. 

The recruitment process included a 2-step interview: the first was with the HR manager and the second one involved a technical examination. After having passed them, I got the positive feedback from FreySoft. 

You have been working at FreySoft for over a year. What projects have you been working on during this time?

In FreySoft, as a front-end developer, I have already managed to work on a pretty good number of projects, from small to huge. There was a time tracking system, an admin panel for a large and popular product company, an online platform for a travel agency, a SaaS cloud platform for creating content with augmented reality, a multifunctional virtual assistant with flexible settings, a large online international money transfer system operating in over 50 countries.

Give an example of the most interesting task and solution to it.

It is difficult to single out one task since there were quite a lot of them. For example, there was a small browser game in JavaScript using Canvas during training. There was also another interesting task, it was laying in building interactive charts on D3.js based on the calculation’s result of the Kohonen maps and other algorithms. Other not less involving tasks were the development of a scalable project architecture, dynamically generated forms and nested modals.

Alt="software-development-code"

Do you like working remotely, or would you prefer to go to the office? Perhaps you are planning to combine these two options.

I’ve almost always worked remotely. So far for myself, I don’t see the advantages of an office over remote work. Maybe I’ll try it when I want changes 🙂

How do you maintain your level of expertise and improve your qualifications?

I like to read trend articles written by tech communities. I often study the code of open source projects and adopt the best practices. Sometimes I write pet-projects in my free time. Such an approach helps keeping the particular level of knowledge, along with learning new staff.

What else would you like to learn in the nearest future? Maybe even not in the field of software, web, mob development.

It’s impossible to know everything in programming. Thus, I would like to further improve my skills and fill in the gaps. 

And outside the scope of development, I would prefer to learn how to cook deliciously and learn German 🙂

Can you give some tips for aspiring novice developers? Perhaps there are some kind of bugs that they can avoid.

  • Do not “wade in” a popular library or framework if you do not have enough knowledge of the basics of the programming language.
  • If it is possible not to “reinvent the wheel”, but to use a proven solution, it is worth studying how it works and using it.
  • Do not despair if something does not work out. In programming, it happens when something won’t work the way you want – no matter you are the junior or the senior expert. In such a case, you just need to accept it.
  • Do constantly grow, but also do not to forget that there is another life outside the code.

What are your plans for the near future?

Nothing extraordinary – planning to finish the renovation in the kitchen, change the decor in the apartment and get a chinchilla 🐹

What else do you want to add / tell?

Take care of yourself and your nerves 😀