Being A Better Coder With Serhii Rubets

Written by serhiirubets | Published 2022/08/25
Tech Story Tags: writing-prompts | noonies2022 | noonies-2022 | best-practices | software-development | developmentfromscratch | how-to-be-better-engineer | javascript

TLDRSerhii Rubets has been nominated for the 2022 Noonies Award. He is a Fullstack JS engineer from Ukraine with about 7 years of experience. His work is relative to maritime service, which helps governments from different countries to find drug dealers or traffickers. He believes Javascript is the most exciting technology of the present, because it is an easy-to-learn language, that is used everywhere: web, mobile, online games, smart houses, androids, and many more. Rubets: "I’m self-taught and almost every free time I try to learn something new for me"via the TL;DR App

Hey Hackers!

I’m Serhii Rubets and I’m the Senior Fullstack JS Engineer. I am glad to announce that I have been nominated for the 2022 Noonies Award.

A huge thanks to the HackerNoon community and staff for considering me worthy of this opportunity. I’ve been nominated in the following categories and if you like my writing, please do check out these award pages and vote for me:

  1. BEST-PRACTICES: SOLID
  2. BEST-PRACTICES: GRASP

As a tech writer, I believe that the most exciting technology of the present is Javascript because it’s an easy-to-learn language, that is used everywhere: web, mobile, online games, smart houses, androids, and many more.

Javascript combines different paradigms, like OOP, and functional programming, with Javascript you can use many different approaches, like inheritance and composition, which about you can read here. Learn more about my thoughts and opinions on Javascript and my journey in the tech industry via the interview below.

1. Tell us about your journey. What do you do and what do you love about it?

I’m a Fullstack JS engineer from Ukraine with about 7 years of experience. I graduated from the police university, so I became Sofware Engineer after some period of government work (that I hated).

I’m self-taught, during my government work, in the evening, and on the weekends, I learned different technologies and tools, like HTML, CSS, JS, SQL, jQuery, and others. After 1 year of my self-education, I found my first IT job.

After becoming an IT specialist, my life changed before and after. It’s a really amazing experience, to do what you love, to have a good community, to enjoy your life.

Since that day, I have never stopped learning, and almost every free time I try to learn something new for me.

2. Tell us more about your work. What do you make/write/manage/build?

I worked for different companies and did different things. Currently, my work is relative to maritime service. Using this service, you can predict any risk activity, you can see the current position of your shipments, what countries they passed, and the place and date when they will arrive. Of course, it is just a small example, of what this service can do.

We have many teams, and I’m in the Fullstack JS team. We create SPA using modern technologies such as react, typescript, apollo, graphql, and nodejs. We use different DB, mongo, redis, and elastic searches. Unit tests and e2e tests are important things for us.

This service helps governments from different countries to find drug dealers or traffickers. I enjoy working here because this application makes the world better and improves people's life.

3. How did you start writing? What made you choose HackerNoon for publishing your work?

After some time working as a software engineer, I saw how much other people, like me, my friends also wanted to become IT specialists, so, after 2 years of my experience as an IT engineer, I decided to help them.

Why? Because I was at their place. Before IT, I worked at a really bad job. I had a bad life. Today, I can understand their pain, I know how better and faster they could switch their terrible work for new, nice, and cool, ones because I did it, and they could do it. I can share my experience and it helps many of them.

I participated as a mentor in different online/offline schools and I had many positive feedbacks from them. Also, I started to make video lessons and I noticed that these things make me happy because I got many reviews, and “thank you” letters, with my help, people could find their first IT job, they are happy, and I’m happy to.

I know that not all people like watching courses, and videos, they don’t waste much time on it, so I decided to try writing articles, about concrete topics, that will take a really small amount of time but will be useful for people.

I also sometimes read articles on different services and hackernoon is one of them. So, I decided, that I can try to write something here and I started.

4. What excites you in tech? Tell us about your favorite technology and why you are passionate about it.

A good question, I started from the front-end world, HTML, CSS, and JS, and now I continue to do it, but with using new modern tools like React, and Angular on the front-end part and also node.js for the backend.

Since I moved to TS my life, the code was better. Of course, TS has disadvantages and we shouldn’t trust it 100%, but using this tool like eslint is a good option.

I tried to work with Nest.js and for me, it looks like a really good tool for the backend, it seems it uses (like Angular also) some similar concepts that are in Java Spring or C# ASP.net.

I learned a little bit about C# ASP.net and if we speak about web development it’s really common that I did with node.js.

So, after some years of experience, I think that it’s more important what you are doing for business, for people and technology is just a tool. You can use the latest, modern technology, but the product might be bad, so people, don’t care what you used for creating a bad product.

But, if we speak about technology, and if I have a chance to work with any tools, I would prefer Nest.js for the backend and Angular for the frontend. Why? Nest.js is a great framework, that gives good things from the box: TS, architecture, DI, and other.

Angular is almost the same, but for the front-end world. And you may ask, why not React? It’s more popular. My answer is yes, you’re correct, but with React I was working last 5 years maybe, so for me, it will be interesting to work with Angular.

If we take not JS I think I would like to work with C# because it has strong type checking, this language is a general purpose, like JS, has a good community and good libraries.

Maybe it is a good idea to work a little bit in game development, with Unity, but for now, I don’t have time to try it.

But for sure each technology could be good and bad, depending on what you are using it. So first we should understand what we are building and after that use one or another language.

5. What were some of the challenges you faced being a tech writer and how did you overcome them?

At this moment I have 2 problems, one of them is English. Yes, I work with guys from another country and we use English, but speak about daily things in English and create English articles, using correct grammar it’s different, it’s harder. I use grammarly application and it helps me to make my sentences better, I hope 😀

Another problem - is choosing the topics. Nowadays we have tons of information about everything, especially relative to web development, react, and front-end. I should take some interesting topic for people, but what and how? We have a lot of articles about React, about Angular… If I take some topic, why my topic will be better than others?

I’m not sure that I found a good solution, but now I’m using the next strategies:

  1. I’m trying to find more rare but important topics, that not such popular as should be, especially in the JS world, like GRASP or SOLID.
  2. Also, I think that people would be interested in some topics, from real life and how I handled them, for example, Throttling vs Debouncing using examples from real life, from my projects.

6. What are you learning/reading currently? Any recommendations for our readers?

If we speak about people, who have not graduated from a great IT university, like me, there are many good places, where you can get knowledge about react, java, python. You can learn them in a really small period of time and find your first IT job. One of the sources I highly recommend: is Udemy.

But if we speak about me, I can see for this moment 2 different paths, that I’m working on:

  1. Fundamentals.

I noticed that I have fundamental gaps. For example, during some work with coordinates, I saw that I had some small problems with geometry. Working on another task I saw I have a few mathematical gaps.

Speaking about fundamentals I should also say about some basics of computer science and hardware, like processors, RAM, working with different data structures, algorithms distributed systems, networks, and security.

Yes, I didn’t learn it before I got my first IT job and I think it could be a really big discussion about whether should we start from these basics or we can start from high-level items like JS, react and only after them we can fill that gaps like I’m doing now, but let’s discuss this question in another article. I have what I have 😀

It’s my way and now I’m on a way to fill my gaps.

  1. How to be a better engineer.

I think to achieve it we should learn from general purpose books, that are not relative to the specific language.

There are so much great books that I can recommend, like all books from uncle Bob: refactoring, clean code, clean architecture, and others.

Books about GoF, GRASP, enterprise patterns, and books about how to be a better developer like The Pragmatic Programmer, Rework, the Miracle Morning, and Atomic Habits.

Please, don’t forget about soft skills books about how to make life better, and how to achieve your goals.

And for sure, there are a lot of online resources, one of them I mentioned is Udemy, but there are more other good resources: Coursera, eggheads, Pluralsight, freecodecamp, and online/offline conferences, mentors, and coaches.

7. What is your biggest achievement so far?

I have 2 biggest achievements for me:

  1. The first one is becoming an IT engineer, after spending years on a really bad job, that I hated, with bad conditions and a really small salary. This step totally changed my life and I did it almost myself, watching courses, youtube, read books.
  2. The other one is losing 25kg extra weight during 6 months.

I also have many more achievements, by for me they are not such big as previous two.

8. If we gave you 10 million dollars to invest in something today, what would you invest in and why?

I’m sure that knowledge is one of the important things, investments should be. Another one is health.

If I have this amount of money I will create my own educational platform, with many different courses, with different learning paths, because I can see that many popular platforms do not cover all needed topics that might be interesting for me and for people like me, without IT university degree.

It will be online and offline school or university. I will find the best teachers, with a huge amount of practice. I will try to help all people to become IT engineer from scratch who want it and people, who are already here, but have a knowlages gap in different topics.

9. What advice would you give to someone just starting in this field?

If you decided to be in this field, you can be sure that you can achieve it, like me, even if you didn’t graduate from a technical university or you are bad with mathematics. My secret was that I really enjoyed doing it.

I remember my first steps in HTML, CSS. Yes, it’s not hard, like C++, but when I created my first pages, when I saw the result of my job, I really inspired, I wanted to do it more and more, to make it better and better.

That’s why I didn’t stop when I had problems. I enjoyed my learning journey, even that time, when it was hard.

Another recommendation that I can give you if you have money, find a mentor. If I had a mentor, I would spend time at least 2 times faster, than I did. I read the books that were modern but gave old practices. I learned not important information, that is used really rarely or doesn’t use in practice at all.

If I had a mentor, he can create a correct learning path for me and help with all problems, that I had.

10. What’s the best advice you’ve ever received?

It’s an interesting question, to be honest, and I had so much advice, that I hadn’t used that time, but used later 😀

One of them I think that we should do that we really like, we should communicate with people we like, don’t spend time on unimportant things. We should improve ourselves, do better life, improve our health, and our knowledge and for sure help other people if we can.


About HackerNoon’s 2022 Noonie Awards

The annual Noonie Awards celebrate the best and brightest of the tech industry, bringing together all who are making the Internet and the world of tech what it is today. Please be sure to check out our award categories, nominate, and vote for the people and companies who you think are making the biggest impact on the tech industry today.

The 2022 Noonies are sponsored by: BingX, and .tech domains. Thank you so much to these sponsors who are helping us celebrate the accomplishments of all our nominees.


Written by serhiirubets | I'm a Fullstack JS engineer with 10 years of experience. Also, I'm a mentor, teacher, and author of front-end courses.
Published by HackerNoon on 2022/08/25