We're back with the second part of our "meet the Primotly team" series in which we introduce you to the behind-the-scenes of working in IT. You recently met Jakub Wachol, who talked about the back-end developer's role. And since we started with the part of projects that is invisible to the user, it's time to move on to the other side, the front end. Jakub Celewicz told us about the challenges, career path, necessary competencies, and technologies a front-end developer uses.
Our interviews with experts are created to give you an idea of the specifics of working in different areas of IT. For those looking for a job related to software and digital product development, it can be a great way to get to know our work culture and Primotly team members better. It’s a dose of inspiration or a spark that will push novice programmers toward a specific career path in line with their interests and competencies. If you feel like we're a good fit for each other, be sure to take a look at our Careers tab, see current job opportunities, or simply send us your CV so we can get to know each other better!
JAKUB CELEWICZ - a web developer with 6+ years of experience in creating web apps for international clients. Fan of simplicity in design and code. Previously worked as a freelancer creating websites for US and Polish companies.
Front-end developer: how to get started?
How do you explain what a front-end developer does to someone outside the IT world?
The front-end developer deals with the entire user interface. In short, it is mainly about the presentation of data. But this is only part of a larger picture. Such data must later be sent back to the server. So you could say that a front-end developer takes care of the whole process of handling user requests. My role is to make the interface intuitive, repeatable, and in accordance with design principles (e.g. 10 Heuristic Principles). On top of that, there are also elements of UX, UI, and Accessibility. All of this has evolved a lot over the past few years, also in terms of standards regulated by law. The front end is thus not only related to the programming itself but also to usability at the interface-code edge.
What are the challenges of working as a front-end developer today?
I think it's worth starting with how the approach to web development has changed over the years. When I started doing this as a hobby 15 years ago, one would come to a client with a design that looked like some advertising flyer that could be published on the Internet. The websites of those days were very original, each one was different and unique. At the same time, the design was not adapted to any standards. Everyone did it the way they wanted the site to stand out. With the growing popularity of smartphones came the requirements for adaptation to different devices and screens. It can be said that the technological evolution made the work of a front-end developer start to look completely different. A website today must not only look great but also work perfectly on different types of devices. We cannot allow a situation where something works on a computer, but not on a smartphone. Today a front-end developer designs interfaces from ready-made components. We have a mock-up, and information about functionality and data flow. My job is to bring it all together so that the site works on computers, tablets, and smartphones.
Why did you decide to become a front-end developer?
I have always wanted to create visual content. Turning code into a graphical representation is very satisfying for me, but I have to admit that when I started creating websites, I didn't think about becoming a programmer. However, from the beginning, I was interested in interfaces, interactivity, and designing graphics in a manageable way. In the beginning, I customized existing CMS for projects. For several years I specialized in MODX and completed dozens of projects as a freelancer. In 2010, however, a revolution appeared - page generators. In a way, they took away the work of webmasters. I thought that creating such a service from scratch was a great idea and that's when I took up serious programming.
What do you like most about your job?
The greatest benefit of this job is the lack of boredom. Every day looks different. There are new challenges all the time. There are no repetitive tasks and routines. Technologically, some things may be similar, but each project offers something new and fresh in practice. I also get a lot of joy from the creation itself. I have a real impact on how something works and looks. It excites me to participate in the creation of a piece of work. And finally - I have the opportunity to grow. Programming allows you to create processes and automate certain things. And since technology accompanies us today in almost every area of life, the space for learning and gaining new competencies is actually unlimited.
What is the biggest challenge in the work of a front-end developer?
These endless innovations also have their negative side. Sometimes it's hard to keep up with the changing technologies. One day you think you have mastered something, and suddenly a new library appears and you have to learn things all over again. So it is difficult to talk about stability in this profession. The application development process combined with the back end can also be overwhelming at times. A day would have to be twice as long for you to have knowledge of all the issues that arise in a project. You have to accept that you can't control everything, which is why the point of contact between DevOps, back end, fron end, and design is so important.
What do you think characterizes a good front-end developer?
As I said before, the most important thing is to get satisfaction from this work. You won't be a good front-end developer if you force yourself to do it or do it just for the money. The most important thing is that trigger - the desire to create something visual. For me, this is the absolute foundation of this profession. A good front-end developer wants to solve problems and find solutions. If you often ask yourself how something works and what's behind some mechanism, and then dabble in the topic until you don't find the answer, then the front end is something for you.
Where to get knowledge about front end?
Where to get knowledge about front-end development?
When I started 15 years ago, there was no such access to educational video materials. Today, I believe it is the best way for novice programmers to gain knowledge. Udemy offers a lot of great courses. I recommend tailoring them to your knowledge level and not starting with knowledge for more advanced developers. When looking for courses, you should be guided by recommendations - a large number of positive reviews and high ratings are the best indicators of quality. It is important to remember that just going through the course is not enough. I encourage you to experiment and do things your own way. It is worth using the knowledge gained for your own projects. In this way, you can learn how to solve problems, which allows you to progress quickly. The second source of knowledge I also recommend Facebook groups (many courses offer access to their own "classes" where "students" meet). They allow you to interact with people, and this is very important when you work in front of a computer all day.
Front end: useful tools and knowledge sources:
Material UI - a comprehensive suite of UI tools to help you ship new features faster.
JavaScript Weekly - a newsletter of JavaScript articles, news and cool projects.
Frontend Weekly - A curation of useful content related to JavaScript and front-end development.
How does the perspective change when a novice programmer who only knows the courses ends up on the team as a junior front-end developer?
Getting a job on real projects by someone who has self-studied at home from courses is already a big success. When you work with a team you can see the whole process, flow, and complexity of operations. Elements such as version control, and build/test pipelines appear. When working with projects, it is very important to learn how to read the documentation; you need to be able to find, understand and apply certain rules. Seniors need to create tasks tailored to the competencies of juniors. Let them build from simple components to which more experienced people will add logic and data flow. Under such conditions, the junior can progress very quickly. The role of seniors is extremely important when it comes to transferring knowledge. Not everyone can do it. On the other hand, juniors should not get frustrated at repeated code reviews. Sometimes things can go wrong, but rewriting code from scratch is not the end of the world. It's not a failure, it's a chance to grow and gain new valuable knowledge.
Front-end developer's technology stack
What technologies do you use most often in your work?
The basic technology stack for the front end is React. It is currently the most supported and popular library. In my previous job, I had more to do with Vue.js, where there was less code writing, but with React you definitely have more control over the code. I've always been interested in the back end as well. I think full-stack competencies help you look at a project more comprehensively. NestJS is a great back-end framework because it extracts the best from the Angular approach (loosely coupled, testable, great architecture). The decorators, the classes, the way it's written, and the arrangement of tools make it easy to find your way around.
What do you think might change in the world of the front end in the coming years?
I think the biggest revolution is about to happen in the way applications and pages are built. HTML and CSS are a requirement of browsers. The enormous freedom of doing design with these languages can generate various problems. Different people may achieve certain effects in different ways – one will use tables, another flex, and someone else grid. It is much better than in the past but this freedom is, in a way, a curse. And this is where the novelty of the Google-developed Flutter framework and the new Dart programming language comes in. The way code is written using these technologies guarantees the correctness and compatibility of interfaces on different devices (including even screens in cars). The interface, the way it works, the speed, and the refreshing are immediately consistent with the system for which the resulting code is produced. 90% of the code is identical for each target platform. From a programmer's point of view, it's incredible how many problems this solves. The growing popularity of Flutter and Dart can already be seen in the startup world.
Career path and job market
What does the job market for front-end developers look like today?
Demand for software developers is huge today, and it is no different for front-end developers. I myself get more than a dozen job offers a week. The opportunities are really wide due to the diversity of projects and technologies. You need to ask yourself in what direction you want to develop. If you work in React, it will be difficult for you to jump to a project with Angular overnight. It requires at least a year of work with a new library. So front-end developers choose their specialties - React, Angular, Vue.js, Flutter, etc. For employers, the most important thing is an experience in the chosen stack. Each framework has its pros and cons. It's worth taking a close look at them and choosing what suits you best in terms of further development and the projects that excite you the most.
Working at Primotly
And what made you decide to work at Primotly?
I had a few months of experience with NestJS and wanted to further develop my competence in this direction. Primotly was looking for a front-end developer, and knowledge of NestJS was supposed to be an extra asset of a potential candidate for this position. I was convinced by the opportunity to use JavaScript on the back end. While working here I feel that I am improving my skills all the time. My main project here has allowed me to evolve from a typical front-end developer into a full-stack developer.