Work@Clearmove

How to become a successful Full-Stack Engineer

 

Web and software development requires specialists in front-end and back-end. The former builds the visible parts of websites whereas the latter creates “under the hood” parts of websites, those that users don’t interact with directly. If a developer can do both he is usually called a full-stack developer or engineer.

Full-stack engineers can tackle projects that involve both databases and user-facing websites. Additionally, they are able to work with clients during the planning phase of projects. Therefore a usual full-stack developer is familiar with:

  1. HTML, CSS, JavaScript
  2. One or more back end languages (Ruby, PHP, Python, etc)
  3. Some might have a bit of management, visual design, web design, or user experience skills to complete their “stack”  


How to become a successful full-stack developer 

 

It is obvious that you need to learn a lot and work hard if you want to become great at something. Development is not an exception in this case. But what else can be recommended to those who are on their way? We’ve asked some people for their recommendations. 

 

Maxym Dudkin, VP of Engineering

Perseverance, dedication, and meticulousness will help, as well as the ability to look deeply and understand not only how to do it, but also why it is done so. You need to try and practice, not to be afraid, but be courageous and confident. Knock on all doors and study a lot, this is enough for a good start. 

 

Viktor Loktionov, Senior Software Engineer 

I’d say that you need to have a really good fundamental background (personally I received it at University, Automation and Computing faculty), to read many articles and listen to lots of news,  “to be in the know”. Once you do, you will understand why this or that decision is taken. Later you will be the one to make correct decisions. 

Also, I’d recommend doing some pet projects using any technology that you heard or saw but don’t understand yet. It’s better to try something and do it incorrectly at the beginning than not doing it at all.

 

Vitalii Yehorov, VP of Engineering Operations 

It is a complex path. Therefore you need to be highly motivated and do a lot of iterations as you will need a lot of will to make a full app. Because that is what a full-stack developer does, builds backend (BE) and then frontend (FE) for the created backend. There are a lot of different technologies for BE/FE out there, to make this path shorter I would advise using a single programming language for BE and FE, this will simplify the learning curve as everything you will get to know about this programming language can be applied to both BE and FE.  

At Clearmove we are using React Native and React Native Web for FE which makes every developer, not just a full-stack, but full + native stack developer. This is because we can do BE, FE, and mobile apps. For the BE we are using NestJS +GraphQL which is gaining popularity each day.

So my advice would be to use modern, well supported and documented technologies and after that just practice. And don’t be afraid to try this stack on your pet projects.


If you are a newcomer 

 

So you know nothing about development and decided to learn full-stack from zero. First of all – congratulations, you are on the right track. Today’s IT companies value full-stackers way more than usual “backs” or “fronts” because the full stack development model allows companies to save time and money. Moreover, it will allow you to have a feeling of ownership because you’ll be able to implement something completely by yourself without the help of another developer. We wrote about the advantages of full-stack development in this article.

At Clearmove we are on the right track too and have a full-stack model with a mono repository (both front and end are written in one language) with the latest technologies (React, React Native, React Native Web, NestJS, RxJS). Our developers are competent in both sides of the software. We asked them to share some ideas on where to get knowledge from if you are a complete beginner.

 

Andrii Ivaniv, Senior Software Engineer 

I would recommend reading bestsellers about programming basics. Regarding courses: AcadeMind has several good options. For example “Javascript algorithms”, “Javascript data structures”, etc. 

Also, everyone admires and recommends Maximilian Schwarzmüller, he is a really awesome instructor so I’d recommend him and his courses as well. 

I can also recommend some Russian language content to watch and read. To understand how things are going in the IT industry you can watch the “Senior Software Vlogger” channel on YouTube.

For general development and searching for new directions to grow, I would recommend the IT Boroda YouTube channel (a lot of interviews with interesting people) or some videos of People Pro (especially the videos with a guy from Group IB about cybersecurity).

 

Maksym Dudkin, VP of Engineering

There is a great free youtube course from IT Kamasutra but it is for Russian speakers. One great book I can recommend is Design Patterns: Elements of Reusable Object-Oriented Software. 

 

Vitalii Yehorov, VP of Engineering Operations 

Youtube Channels:

  1. Can it be done in React Native?
  2. Catalin Miron 
  3. Academind  

And, of course, all courses of Maximilian Schwarznuller.

 

Viktor Loktionov, Senior Software Engineer 

Here are several books to recommend:

  1. Eloquent JavaScript
  2. Clean Code: A Handbook of Agile Software Craftsmanship 
  3. Clean Architecture: A Craftsman’s Guide to Software Structure and Design

A good source of knowledge is Twitter:

  1. JavaScriptDaily 
  2. Webstandards_ru 

It’s good if you, as a beginner, will read articles like “Top 10 JS features you should know”.

Podcasts are the greatest source of knowledge. I receive nearly 85% of news through podcasts, they are convenient when you are on the way somewhere. Here are some I recommend in order of importance:

  1. Radio-T – an observational-entertaining podcast about technology and news in the IT world.  
  2. UnderJS – a cool technical podcast. Lots of interesting topics are raised. 
  3. Front-end youth – 4 youngsters are discussing the news of JS world
  4. “Make it nice for me”/Sdelay mne krasivo –  news, reviews, podcasts, etc. 
  5. Web-standards
  6. Submarine 
  7. “DevZen Podcast”
  8. “SDCast”
  9. “DOU Podcast”

Conclusion 

Becoming a full-stack developer is challenging but totally doable. It’s great if you can be supported by smart mentors in a successful company like Clearmove. If you want to become one of us and solve complex tasks as a full-stack developer, apply today. 

 

Apply here!