Front end developers are some of the most in-demand roles, and for good reason.
Front-end developers have to bring a range of talent to the table, from a knack for technical detail to a broad understanding of user experience and design. Simply glancing at a portfolio isn't going to cut it for a key front-end developer hire — you have to evaluate both their technical skill and their ability to communicate well with different stakeholders, from designers to your executive team.
To fully explore what makes an effective front-end engineer, we brought together 5 different front-end experts and leaders to share their insights into the role.
Rafael Youakeem, Technical Lead at Instabox - 8 Steps
Rafael Youakeem is the Technical Lead at Swedish Logistics firm, Instabox. With 12 years experience in software engineering, Rafael has taken on many roles in his career. Starting his career in his native Egypt where he headed up front end development at Inktank Communications, Rafael moved to Sweden in February 2019 to join H&M as a consultant before joining Instabox.
Over the course of his career, Rafael has worked with, managed and mentored many front-end engineers. Through this, Rafael has developed 8 core skills and competencies that he believes makes a good front-end engineer:
Get the Fundamentals down
Have A Good Eye for Details
Have a Good Understanding of SEO
Understand Software Engineering Concepts
Below we dive into these core competencies and bring in the insights of other technical leaders.
1 - Get The Fundamentals Down
The first point on Rafael's list is a solid understanding of all the tools that a front-end engineer works with. Many of these core principles and fundamentals are not just important to front-end development languages but other languages and frameworks as well.
You don’t need to be an expert in everything, but you should at least have an understanding of the fundamentals.
“If I’m relying on just one framework to do the job for me, I might get stuck if I come to a problem with that framework. It’s like driving a car and only knowing how to steer. What do you do when you need to change gears?”
Rafael advises getting to know the different language features and quirks, like coercion, closures and how events are handled, to give you a more well-rounded understanding and access to more tools when a problem needs solving.
Johan Lejdung, CTO at ChainTraced - Curiosity is Key
Having that drive to learn new skills across the full spectrum of front-end development is important and has been a common point raised by all the tech leaders we spoke to. For Johan Lejdung, CTO & Co-founder at ChainTraced, curiosity is key.
“You need curiosity. A will to improve. A drive to teach and develop.”
A certified tech geek, Johan has spent the vast majority of his life programming. Starting development at the age of 18, Johan completed his Bachelors degree in computer science whilst doing consultancy work as a fullstack developer. Johan then joined Storytel, where he took on a lot of their technical interviewing, lead development teams and even helped out recruiting new talent. In April of this year, Johan joined ChainTraced where he is building up the tech team and working on modernizing traceability and quality assurance of supply chains..
“If you are the kind of person who is comfortable teaching you will learn so much from teaching. And so I think those are really good core values that I've always looked for when trying to find, you know, the little extra.”
2 - Have A Good Eye for Detail
The next point is around having a strong eye for detail. Having an idea of the basic design concepts like consistency, proximity, hierarchy and ratios will help you produce better quality software and move products along faster.
“Well designed software and products create trust. If we’re not diving into the little details, then the end product will be poor.”
Marc Asher - Develop A Logical Mindset
Taking it one step further than simply having a good eye for detail, it pays for a front-end developer to have a logical and detail driven mindset.
Marc Asher, Founder at fit-count, believes this logical mindset is the difference between a regular front-end developer and a good one.
“You need the ability to break down tasks into smaller ones but still be able to think about the larger picture. You can be very clever and you can work in your own little silo but you need to understand the business requirements, and to be able to ask questions so you are able to have a rounded view of what you're trying to achieve.”
3 - Have A Good Understanding of SEO
For many businesses and products, their website and online presence are integral to their business strategy. For those thinking about their inbound traffic and searchability, a front-end engineer who is well versed in Search Engine Optimisation is worth their weight in gold.
“We need to understand SEO practices - especially On Page age SEO. Almost all of our business cases will require optimisation for consumer facing applications.”
Having this skill and understanding in your toolkit will have you winning allies across the different departments of any business, but, as Rafael mentions, you don’t need to be an SEO expert.
“SEO is a massive topic. From keyword research, to content and backlinking. We just need to know about on-page SEO and how we can make our products easy for search engines to read and index.”
4 - Empathy
A key skill for most roles, empathy for a front-end engineer is about understanding the end-user and designing a product that they find value in. For Rafael, this can be taken one step further.
“We have so many different users, so the builds should reflect that with assistive technology. As a developer, you need to always have your mind on the accessibility of your product.”
In some countries, accessibility is enforced so front-end developers need to know about these standards. In other countries, where strong internet may be not so common, different considerations are needed.
“We take good, cheap internet for granted and it’s not always the case. You should always have in your mind, when developing, the bandwidth you’re asking for. Massive images is just one example. This is especially important for international clients.”
Dilip Shukla - Understand Who is Using Your Product
Dilip Shukla, Front End Lead at ComeOn!, puts emphasis on understanding the end-user of the product.
Starting as a front-end developer himself, Dilip entered the career with significant managerial experience. This led him to his current opportunity where he is leading the front-end development at ComeOn! Who operate a number of websites across the UK and various other markets.
“If you designing the front-end for a Game and all your users are Gamers, then you’ll be designing something different than if you were designing the front-end for a government information website. You need to consider the end user, the kinds of hardware and bandwidth and also the demographics.”
5 - Understand Software Engineering Concepts
Although front-end engineers don’t usually work with complex computational problems, Rafael believes a good front-end engineer should atleast have a basic understanding of software engineering principles like algorithms and data structures.
“We don’t need to know how to implement every algorithm out there, but we need to know they exist so that when we face a problem we can find out what to do next. It’ll help us provide more value”
6 - Flexibility
“We should be flexible and, based on the situation, we should look into which tools or which framework will be better. If we just stuck to one solution, let’s say React, then there might be a problem React doesn’t solve. So being open to the range of solutions available will make you a better front-end engineer.”
Tomas Sjösten - Keep Yourself Up to Date
Staying curious and up to date with the constant change and evolution of the languages and frameworks is incredibly important.
For Tomas Sjösten, Product Manager at Muddest and Project Manager at Lärarförsäkringar who has a keen eye for structuring development and product teams, self-development is one of the most important attributes a front-end developer can have.
“It's crucial to stay up to date for the engineers themselves to be attractive to the job market and also in order to improve the systems that he or she is currently working on.”
Echoing the sentiments of Rafael, Tomas recognises the fact that you don’t need to be expert in everything, just have a base understanding of what's out there. That’s why he always likes to set aside several hours a week to problem solve, to find new solutions and try out new options.
“Try new things, try anything. Even if the problem you’re trying to solve is how you can automate your time report or automate a coffee machine. It’s about staying curious.”
7 - Be Focused
The wide range of solutions and options available to a front-end engineer is undoubtedly a positive thing, but breadth isn’t always the best approach. Like most roles, having a good balance of horizontal and vertical knowledge is a must. Being a ‘T’ shaped professional, where you have lots of broad knowledge and depth in a few topics, is something Rafael recommends.
“As the saying goes: jack of all trades master of none. I prefer to master something big, and then have an understanding of everything else in your field. For example, it might be a certain framework - but you have a branch within the funding. You might then branch off into data visualisation, animation, server render and a lot more.”
8 - Communication
The final point of Rafael’s is communication. A key skill for almost any professional role, communication for front-end engineers is especially important when you consider the number of people involved in the lifecycle of a product. Not only will strong communication skills help you in your own team, but it will help manage external stakeholders.
Note: We should also add that Frontend is a linking point between business, design, and tech and that’s why communication is key.
“Sometimes you can have up to 10 stakeholders in the software development lifecycle. Having good communication and talking with all the different stakeholders is essential to building a quality product.”