According to the British writer and programming architecture specialist - Martin Fowler - ““Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” Today, in a simple and human language we will try to explain what the job of a Frontend Developer consists of.
Rafał Bocheński - one of the Frontend Developers at Comarch - speaks about what it is like to work on this position, what competencies and technological stack are necessary and what his most difficult project has been.
Let's start by defining what Frontend actually means. What is the difference between Frontend and Backend? How can an average computer or smartphone user see this difference?
Frontend is the part of an application responsible for interacting with the user. Backend, on the other hand, is in charge of the logics behind the application. In simpler terms: Frontend is the visual part of the application, while Backend is the code, data processing and everything the user won’t see.
The website interface, the text layout, the menu or the graphics - Frontend is able to show them thanks to the information from Backend. And this is what we eventually get to see on our monitor, smartphone or tablet screen.
And what about the frontend technological stack? Is it changed or updated frequently?
OK, it is now clear what Frontend is. Let's move on to the responsibilities of a Frontend Developer. What does your average work day look like?
A Frontend Developer is responsible for creating the application's graphical interface and connecting it with backend applications. This means that a good Frontend Developer must have the knowledge to connect all parts of the application in order to create a clear and intuitive interface.
Are soft competences important on this position?
In my opinion soft competences are an extremely important and often underestimated skill for this job. As I mentioned before, Frontend combines all parts of applications, which forces the developer to frequently interact not only with his or her own team, but with other teams as well.
What does a Frontent Developer need to know then? Are there any basics you must have to be able to work on this position?
Are there any obstacles on the road to move from junior to senior?
Apart from the knowledge of the above-mentioned technologies, one needs to be creative, imaginative, patient and self-disciplined. If you work hard and try to learn something new every day, the road to become senior should be quite smooth.
In many job offers, the UX/UI knowledge appears as an additional requirement or as a “plus”. Is it something a Frontend Developer should pursue further?
UX/UI is definitely a very useful skill to have when you are a Frontend Developer. I work everyday with specialists in this area, which allows me to better understand the problems they solve. UX/UI gives you additional insight into what a user-friendly application should have and how it should work.
We’ve said many things about the theoretical aspects of this job. Let’s move on to practice: what do you do here at Comarch on daily basis?
At the time being, I am the leader of a team responsible for Frontend in the IoT sector. My duties include creating applications, but also technological supervision over projects arising in my sector. Additionally, I am responsible for coordinating the work and exchanging information between other Frontend Developers.
What’s the most interesting project you’ve ever participated in? Or perhaps you are still waiting for this “unique and special” one?
To be honest, as a developer, you never really know if you’ve already worked on THE most interesting project or not. What I can say, though, is that the projects we are currently working on are very challenging and interesting. Work with physical appliances is extremely demanding, but the final result - seeing the device interact with the app you’ve written - is very rewarding.
What has been the most difficult project you’ve ever worked on?
I think the hardest project is the one that we are still developing, which is the IoT platform. In simple terms it is an application which allows to monitor and manage IoT devices. Perhaps it doesn’t seem that, but it is a very complex issue which requires us to combine knowledge and work of a great many people.