How to succeed as a Frontend Engineer in the Software Industry
Technical and non-technical tips based on my experiences so far
Published: July 29, 2021
•
Updated: September 15, 2023
A few months ago, during a frontend interview, I was asked what I needed to succeed in the role. It was shocking because I hadn't thought about this before. Just regular days going to the office, doing my best, and learning new concepts. Considering there are a lot of resources out there, my personal take can help someone out there to draft a path for themselves.
I gave a satisfactory answer during the interview, but felt the need to share too. Currently, I have been in the industry for about 5 years (updated), and can speak based on that.
Technical Skills
Be a good engineer
There are a lot of technical skills in today's world, and there are different guides to learning Frontend Engineering like this (created by Ire Aderinokun). There are also roadmaps you can check to ensure you are on track with picking up technologies and stay up to date, 2023 Frontend roadmap.
I assume you have decided to become a Frontend Engineer, you will need to prioritize learning the latest technologies (when necessary) and keeping up to date. However, a short list I recommend is:
- Basics of programming
- Design principles: This involves user interface and user experience laws
- Technologies (programming language nuances, libraries, frameworks, etc.)
- Accessibility
- Performance
- Responsive Design
- Browser Compatibility
- Security
- Version Control (CI/CD)
- Testing
- Software Architecture and Design
However, you need to actually put in the work to learn these skills. And not just learn, but practice practice practice. I remember how difficult it was for me to learn JavaScript when I started, but applying the concepts constantly helped me. So try not to be discouraged during your learning journey. Everyone started from somewhere. Do not be afraid to check the documentation of libraries, that's usually the best way to see what's new and working.
I believe in learning passively too. Sometimes, you can pick up new lessons by randomly checking out articles online, seeing tweets, or LinkedIn posts. Try not to isolate yourself while learning to only the resources directly in front of you. You never know when you might need this to come up. I did this for a while between 2019 and late 2020 and it helped me to keep up with happenings in the ecosystem.
Challenge yourself constantly to pick up new skill sets. This could be by looking for tutorials specifically, reading documentation. There was a time when I used job assessments to practice new technologies that I had picked up from reading articles. This helped me try out a lot of ideas that I had learned so they stuck better.
Portfolio
A portfolio gives you an online digital footprint where anyone can read your story for themselves. I gave a talk about this recently, check out the slides. You choose what you want to be on display, but as an Engineer, it should contain your projects at least. Remember that everyone will see your portfolio, both technical and non-technical people. So make the content as concise and basic as possible.
If it seems difficult to build one, make it one page with a list of links maybe. You can also take advantage of templates online for your first version. This can be built on as you advance in your career. For example, my portfolio was built with Gatsby JS initially, but when I got comfortable with Next JS, I migrated the first version over to Next JS and bought a custom domain name to use.
Everyone has a story, why not tell yours yourself.
Resume
Have a resume and keep it up to date. I found this resource of templates on Resume.io that can be useful in formatting yours. I particularly like the "London" option because it's similar to how mine looks.
Non-technical Skills
Communication
To thrive in today's engineering world, you need to be able to communicate with your teammates (whether technical or non-technical), management, and users. This skill can be both oral and written; Oral, because you could give presentations and need to contribute to meetings and planning, interface with clients, then written because you need to document your work: research findings, processes, software documentation, etc. It can be tempting to use buzz words, but remember that the goal is to be understood.
Continuous learning
Things change a lot so Frontend Engineers need to keep up with trends to avoid being obsolete. However, there is pressure from fear of missing out (FOMO). So I recommend some balance as you learn. Ensure you find ways to put what you learn into practice, and share this knowledge to get better insights.
Empathy
This skill is important because it shines as we work with people, either in a senior or junior role. We are human, and mistakes happen. A lot of Engineers have horrid stories of mistakes that they have made in their careers, and it's great to extend that understanding and grace to others. Empathy also shines as we build robust products because putting yourself in a user's shoes, can be the difference between building an accessible product and a difficult one.
Attention to details
This stands out as a great skill because we work with User interfaces, and little mistakes can cause ripples. Details can also pass on to the user's end, and will account for different possibilities. This can shine when implementing user interface designs, little animations, responsive design, accessibility, and browser compatibility issues. For example, I like to write tests on job assessments to show that I can go the extra mile to deliver production grade work.
Community
As a self-taught Engineer, I really appreciate this because I was taught by the community through free courses, articles, newsletters, conferences. Most of the libraries I use were also created and maintained by the community (open source). By giving back, we create a cycle that can sustain our industry for many more years. Sharing of information also creates a healthy ecosystem that attracts the best minds to solve problems and proffer better solutions to existing problems. So try to contribute if you can through articles, open source, and volunteering.
Feedback
This is one of my favorites because as Engineers, we get feedback regularly on our work. This could be during code reviews, performance reviews, or random people that read our posts. It's always good to keep an open mind because this makes you a better colleague. This will also make people eager to approach you to learn and bounce ideas off you.
Relationships
Try to build meaningful relationships with people. It helps to have people speaking up for you and your work. Aside from that, it helps to interact better with your teammates to collaborate better. Personally, this is important to me because I work better with people that I can relate with.
Personal Branding
Finally, put yourself and your work out there. So people can find you if you are open to opportunities or just for random offers. You never can tell where it will lead. Most of the opportunities I have gotten came through social media.
Give Back
You can write on websites like Medium, Dev.to, HackerNoon to share what you know. Offer to mentor and help others too. This can help you grow and learn new things by teaching. I have many stories in my personal Online notes and Medium.
Final thoughts
Just like every other thing, your journey will be different from the next person's. So do not be too hard on yourself at any stage of your growth. The things within our control should be the focus.
I wish you the best. Feel free to reach out if you need anything or have questions to ask me.
Contact
Are you ready to work with me?
I'm actively open to new opportunities and requests.
If you have a question, or just want to say hi, I'll try my best to get back to you.