Hi, Primotly here! And this is the third part of our series of articles in which we present a behind-the-scenes glimpse of working in IT. Today you will meet Maciek. He will tell you about the work of a full-stack developer.
The "Meet the Primotly team" series features interviews with experts working in various areas of web development. This is a great way for beginning developers to find the inspiration or spark to push them toward specific technologies and competencies. For people who are looking for an IT job, this will be a great way to get to know our work culture and Primotly team members better. Two other articles have already been published as part of this series:
Today's guest will talk about a career path that combines both roles.
Maciej Kemnitz has been a member of Primotly for the last 4 years, acting as the company's front-end tech lead. He has over 9 years of experience working with web technologies. He has helped build company websites like znanylekarz.pl ( docplanner.com ) and slowhop.com. He is passionate about the business aspect of web applications.
Can you briefly explain what a full-stack developer does?
A full-stack developer deals with the programming of the whole application. It can be said to be a combination of front-end developer and back-end developer. My duties also include writing things in the database and configuring the environment. However, a full-stack developer does not handle DevOps duties. I have to know the configuration files on the front end and the technologies that support programming in React. DevOps, on the other hand, will be responsible for deploying and uploading data to the server.
In what types of organizations and companies is a full-stack developer best suited?
I think it is impossible to exclude any type of organization here. A full-stack developer is actually able to fit in anywhere. Of course, everything has its pros and cons, and sometimes it works better to separate the roles into front-end developer and back-end developer. I am sure that working with a full-stack developer can definitely save time. One person does the front end and the back end, so the whole process is faster and requires fewer iterations. A full-stack developer can navigate through the entire application. Knowing all the dependencies in the project makes it easier to propose the right solutions. On the other hand, broad knowledge means that a full-stack developer may have less knowledge in very specialized areas.
Why did you decide to be a full-stack developer?
At the beginning of my career, I only did the back end. And one day I was offered to do the front end as well. I thought I would give it a try. It turned out to be quite easy for me to expand my competence.
Is it easy for a back-end developer to learn the front end?
Switching from the back end to the front is not that difficult. It is worse when you have to deal with the opposite situation. Because the back end is a much broader concept. I just started working on tasks as a full-stack developer. I gained knowledge on the fly. As a senior, I didn't have much of a problem with it because I knew the technologies. I just had to learn the front-end framework. It may have gone a little slower in the beginning, but I certainly can't say that it was accompanied by some transitional period of increased learning.
Which is more exciting - the front end or the back end?
What are the benefits of working with a full-stack developer instead of a separate front-end developer and back-end developer?
The first advantage is that there is no need to share resources. One person replaces two. A full-stack developer knows the whole application structure, so it's easier to find bugs. It's also easier to propose business solutions when you see the big picture. When you know what is happening on the front end and on the back end, you can more easily plan the entire path for the digital product. When resources are shared, you can sometimes choose the wrong solutions because one developer knows very little about his colleague's code. Full-stack developer’s work can also take less time because of less communication.
What do you like most about the work of a full-stack developer?
The coolest thing about my job is doing the whole functionality of a website or application. When you work only on the front or back end, there is not so much satisfaction when the project is finished because you only did some part of the whole. The front end and back end are not coded in parallel, so when you only do one of the two, you then have to wait for someone else to do their job to see the end result. As a full-stack developer, I have everything under control, and when I deliver the final product, I know that everything works as it should.
What are the opportunities on the job market today for a full-stack programmer? Are there more or fewer offers when compared to back-end or front-end developers?
What are the characteristics or competencies of a good full-stack developer?
I think a good full-stack developer must have a lot of back-end knowledge. Without this, it will be difficult to progress. The ability to think analytically and logically is also very important. On the other hand, you need to be very familiar with the application architecture and have an aesthetic sense. In short – you need to combine the qualities required on the front end and the back end.
What career path should a novice programmer take to become a good full-stack developer in the future?
As soon as you start working with the code, try to understand the whole application, its functioning, and the flow of information. If you work as a front-end developer, get interested in how the back end works. It is worth noting here that a full-stack developer works best in the web world. So it's worth getting familiar with how HTTP works in the first place. In my opinion, it is better to start with the back end if possible. Once you understand how it works, the front end will go easy for you.
What technologies does someone who wants to become a full-stack developer need to know?
And how does a full-stack developer get along with React and Symfony?
React is one of the most popular front-end libraries nowadays. It has a large community and support, so it's a great choice for a variety of projects. You can easily integrate React with Symfony, which is a major PHP framework. Symfony also has a large community, as well as good documentation, and not so many bugs. It’s a very powerful tool that provides everything you need to do both front end and back end. However, you have to keep in mind that this is where the other technology, PHP, comes in. I think it will be much easier for a full-stack developer to work with React and Node.js.
What goes into your basic technology stack in Primotly?
Where do you get the knowledge that a full-stack developer needs?
What kind of projects do you like the most?
I really like building marketplaces because, on the one hand, there are users, SEO, and nice app design, and on the other hand, there are many algorithmic issues hidden underneath. The invisible back end has to work great for marketplace management to be effective. This combination of knowledge from different worlds is the most interesting thing about it all.
Primotly is a trading name of bPolNet Sp. z o.o.,
ul. Człuchowska 9/6 01-360 Warszawa, Poland