As a frontend developer, it’s easy to get overwhelmed with the dizzying number of frameworks and libraries available. We work towards improving our skills, but knowing what to learn next is difficult; especially when you are just starting out. This article will help you make an informed decision about what to learn next as a front-end developer.
The great thing about development is that it’s always evolving, which gives developers a variety of study and career opportunities. An important thing to remember is that there is no right or wrong framework, library or language. Some front-end developers might recommend specific tools, but the framework or language you choose to work with should be one you love. You should choose something you enjoy, which compliments your workflow and which ultimately could land you your dream job.
Clients generally aren’t interested in how it’s built, as long as it works. You don’t buy a pair of jeans and think about how they were woven, you just wear them. There are however some exceptions to this rule. Working in a tech hub, your clients or employers might require you to use very specific frameworks.
With this in mind, let’s look at some tips and tricks on how you can improve skills and grow your career as a front-end dev.
Start by asking yourself where you want to be in five years time. Without a sense of direction there is no way you can accurately decide on a skill to learn. The type of framework or skill very much depends on the type of career you want to lead:
1. A dev-ops role:
In this case you should be learning about both front- and back-end technologies. Get an overview of the tech involved on a server level so you have the knowledge to effectively make technical decisions. This could also translate to any team leader role, being knowledgeable allows your team to look to you for guidance. This also very much depends on where you live as each industry in each County could vary. This sort of role requires you to be very knowledgeable, so a lot of reading and experience is required to get to the required level of expertise.
A big part of dev-ops also revolves around automating processes and ensuring your team has a well-rounded workflow. As a result this could be seen as a leadership roll and you will often be tasked with making difficult tech decisions.
Frameworks or technologies could include: PHP, Java or .net technologies, knowledge about system architecture, SQL or MySQL, AngularJS, React, Node.js, server technologies like Apache or IIS, UX tools like Adobe XD, unit testing tools like Qunit or Mocha, knowledge about how DNS works. It all depends on what interests you, but learn as much as you can.
2. Full-stack developer:
There is a lot of contention around what it means to be a full-stack developer. From experience, a full-stack developer would in his/her arsenal have: An understanding of design, a back-end language and a front-end framework (with architectural experience being beneficial).
Pick a back-end language like PHP, .NET or Node.js and get really good at it - it's the perfect skill to add to your front-end arsenal. For added efficiency, learn some design or UX theory. This will enable you to roll out a project by yourself from start to finish and make informed design and tech decisions about building good products.
Frameworks or technologies could include: PHP, .NET, Ruby, Java or Python for backend. For UX and UI,: Bootstrap, Adobe XD, Photoshop.
3. App developer:
This is without a doubt one of the faster growing industries in the world, whether you are building native or progressive web apps. There is a lot of opportunity in the app industry and many frameworks to choose from and this is especially true in developing countries.
Frameworks or technologies could include: Ionic, AngularJS, CSS and HTML with Adobe Phonegap, Apple’s Swift.
4. API developer:
With the advent of microservices there is a growing need for really good API developers. You would be responsible for building new APIs or maintaining existing ones. APIs often plug into other microservices; so you would be required to have a good understanding of how other APIs can be utilised and plugged into.
Frameworks or technologies could include: Node.js, .NET, C#, Postman
5. Be better in a specific role:
If you want to just be a better front-end developer, then make sure you know your basics very well. Simply knowing CSS and HTML isn’t always enough, you need to know it intimately. Then learn Javascript and only then move on to frameworks. Not many people are exceptionally good at doing front-end (especially when it comes to creating good user experiences with well-built user interfaces). The web isn't going anywhere soon so it's worth investing the time to become the best in your industry.
Although the front-end industry is often abuzz with frameworks like AngularJS, this does not necessarily mean that they have been fully adopted in your country. Many countries with young dev industries don't use React in production, as an example. This is especially true in South Africa where many large corporations still have flat or coded HTML and CSS sites applications. This works in your advantage as it means you do not necessarily have to rush learning a new framework. There is more than enough time to get to know a framework you love really well.
6. Enjoy what you do
The most important lesson we can take from this is to just enjoy yourself. If you have a passion for front-end development then you won’t have a problem learning something new. Just take your time, soak it in and remember that you don’t have to learn all the languages in existence in a single day.
Top comments (11)
As a still learning front-end dev I really enjoyed this post. I especially enjoyed some of the example paths you gave, since I personally haven't given enough thought to what position I would want in five years (I may be leaning towards full-stack). But they were all great to giving a good jumping-off point for what to explore next!
Full stack and anything not-front end is where the work gets fun for me. The languages, technology, documentation, and overall experience is better -- if you are academic in your work the various non-prototypical languages are enlightening.
Front end work is like icing on a cake. Some like the sugar, but most people scrape it off and don't care. Full stack and architecture roles care about the cake ingredients, the oven, who is cooking. Front end is all about slathering everyone else's work with some bright sugar coating.
I like your analogy.
Personally I am a front-end fanboy; I think this is partly because of my design background.
Glad you found it helpful Max!
Depends what you goal is.
As you wrote, you could get some special front-end skills or you could go into other directions.
I always try the abstraction ladder.
First you learn some tech and sell yourself as pro in that tech, for example JavaScript or Angular or Node.js.
Then you do some work and learn that people want front-end or back-end pros, so you stop selling yourself as JS or React dev and start to advertise your services as front- or back-end development.
Now you did some work as a front-end developer with different tech stacks and find that people pay more for mobile than for desktop, so you start to focus more on mobile and sell yourself as mobile developer.
Point is, every of these steps makes you more valuable AND people stop asking too much questions about the tech you use. Maybe you use Xamarin or Ionic to get your clients apps done and into the stores, but nobody really cares anymore, they just pay you for the app.
The trick is to find out what the next step is :D
When I wrote this article I knew a lot less than what I do now (so I apologize for this being a repost from my blog). Now I am personally very much focused on getting really good at Node as there is quite a demand for Node developers in my country.
I very much approached my career in the same way you describe here: I learned what was hot at the time and then I try and apply it to a project for the experience.
I also think that these days, we are spoiled for choice when it comes to how we solve a problem - in fact I believe that the tech shouldn't even matter. Some employers might have very specific requirements but when it comes down to it, no one but you and your team has a stake in what it's built on.
As a Senior Front End Developer I must say it's really common to see People that Just learn one framework and some html/css. In the path of being pure front end/ui engineer it's really important to know the basics as you said, that Will set you free, giving you the chance to switch frameworks according to client's needs. Just remember you must ask yourself wich is the right framework for this specific "problem", it's well supported and it has a nice documentation?
You're right in terms of using the right tool for the right problem, and unfortunately you can't do that when you only know a single framework. But with that said, if I look at the industry in my country, there is often a need for guys that know single frameworks or libraries really well as apposed to being a jack of all trades.
I should say that React Native is a great option as an app framework.
Definitely!
Thanks 👍 for your article, i am a front end developer too and I support your article 💯