Those who are just preparing to become a front-end developer or are already Junior or Middle specialists often start to wonder what to do next, what to learn, and how to grow to a Senior position from the current level. The transition to a new level is not limited to fundamental knowledge of JavaScript/TypeScript or learning a new framework, but involves more global supervision of the process, which means new tasks, more communication, and the ability to solve more complex problems. Growing in breadth plays an important role – studying the ecosystem in which you work, getting to know automation tools, and immersing yourself in related technologies.
In this article, I will tell you what, in my opinion, every front-end developer who aspires to new career heights needs and share the materials that helped me.
In the comments, you can also write what materials, tools, and practices you use for your career growth – I’d love to read about your experience.
CI/CD pipelines
All the projects I’ve worked on and continue to work on have had pipelines to automate various processes: from code linting and tests to deploying to different environments and releases. Automated processes have become an integral part of development and a certain guarantee that the code that goes into production will work as it should. In many projects, DevOps or System Engineer is responsible for setting up CI/CD and pipelines, but I’ve had situations where the project structure has changed and some of the processes need to be redone. It also happened that DevOps set up the entire infrastructure, and developers themselves had to build pipelines for the required repository on its basis. Any experienced engineer should understand how to build pipelines on a project and be able to adapt them to their tasks, usually during the setup of new repositories.
You can read more about pipelines here:
Cloud infrastructure
As time goes on, applications become more complex, while more and more companies want to make their infrastructure simpler but scalable, with additional services for storing passwords, handling events, notifications, etc. Companies like Google, Amazon, and Microsoft have taken care of this and created their own platforms to support any type of application.
And every experienced front-end developer should be able to work with cloud-based platforms and understand how the back-end of their project works in integration with cloud providers. It is not necessary to learn everything. You can take as a basis, for example. AWS, and the rest of the platforms will be more or less similar. To practice, you can create a free account and write a small full-stack application, integrating as many services from a particular cloud provider as possible.
This experience will help you understand how large applications work from the inside, help you better understand the functioning of your project, and probably make you think about possible improvements to existing applications. The picture of the interaction between the server, client, and various additional services will be clearer, and this is one of the first steps towards understanding and building an architecture.
Keep in mind that for developers, Google, Amazon, and Microsoft provide certifications of various levels that you may want to take. I studied and got certified in AWS myself, so I’ll share some useful materials on it:
English language
That’s right. You’ve probably heard many times about the importance of English, and you may be fluent in it. But it’s really necessary, especially as your competence level grows, because then the developer has more responsibility and has to solve more and more high-level tasks. Accordingly, there is more communication with the business and teams, and professional English is vital.
The most effective way to improve your English is to attend Speaking clubs, perhaps even with the support of your company, or to have individual lessons with a native speaker. The more fluent my English became, the richer my development life became.
My tips on how to improve your English:
- Consume as much English-language content as possible. This will not only help you maintain your language level, but also open up a lot of interesting and useful materials
- Go to speaking clubs. In cities, especially large ones, there are many offline and online ones. And your company may be able to provide compensation for English lessons.
- If you want and have the opportunity, take IELTS. I am preparing for it myself and in recent months have greatly expanded my vocabulary and improved my grammar.
Master design patterns
Design patterns are solutions to common problems in software development. Knowing how to apply them will save time by using well-known practices, standardize code, and increase the scalability and quality of the developed product. I highly recommend a resource for learning patterns like this one, where you can find a description and implementation of patterns in almost any popular programming language.
After getting acquainted with patterns, I really started writing better code, and most importantly, making it more scalable and not getting into a situation where the team needs to rewrite half of the program to implement a certain feature . I continue to study them and repeat them from time to time.
The following materials will come in handy:
Architecture of front-end applications
As a front-end developer grows in position and gains experience, they may be assigned the task of setting up or maintaining a group of repositories related to one or more parts of the project.
An experienced front-end developer should understand the rules by which a front-end application should be built so that it meets the criteria of:
- Easy expansion of the application's functionality
- Easy changes to the existing functionality
- Unified structure of the application
- Fast onboarding of new developers and testers to the project
- Clear, logically separated code
- When writing new functionality, the developer immediately sees where to place it in the file structure
Having considered several approaches, such as Domain-Driven Design, Feature Sliced Design, and others, you will have a variety of choices when supporting and setting up a specific project, which will certainly affect the quality and speed of work and show you as a strong specialist.
The following materials might help you:
Mentor and interviewer skills
Who better to pass on the best practices of writing and organizing application code to junior and intern specialists than confident middle and senior? A proper code review, discussion of tasks, problems, and their solutions will help colleagues solve tasks faster and increase the team’s expertise. Moreover, you can pass on best practices to younger colleagues and thus contribute to the IT community, making it more aware and professional.
With the growth of seniority, a specialist can more often join various initiatives in the company. One of them is the recruitment of new specialists. An experienced developer knows what questions to ask to highlight the candidate’s strengths and weaknesses, and at the same time can organize a process to quickly onboard a new team member into the project.
Here are more tips from me:
- Become a mentor for someone in your company. Find out what the person is striving for, try to help them, and monitor the results.
- Gradually start participating in interviews. You can ask recruiters in your company to do this, ask for advice from those who have already conducted interviews. They will tell you the main points you need to pay attention to.
Conclusion
I have listed all the main skills that I developed as a front-end developer. In conclusion, I would like to emphasize that all the above should be developed directly with professional skills. For example, an experienced frontend developer should know HTML, CSS, JS, what accessibility, optimization, etc. are, follow the industry news, and implement new practices in their life and work.