How to boost your engineering career next year and this is 10 Things Front-End Developers Should Learn in 2020
There’s no doubt that front-end development will be one of the hottest disciplines in tech in 2020.
It was previously sufficient for developers in the front-end space to know some HTML, CSS, and maybe jQuery to create interactive websites, but today they’re faced with a broad and constantly changing ecosystem of skills to develop; tools, libraries, and frameworks to master; and a need to constantly invest in personal education.
The last couple of years brought us awesome new libraries and frameworks, like ReactJS, VueJS, and Svelte, utilizing JavaScript to power major web applications.
This piece aims to give you some guidance on what you should focus on in 2020 as a front-end developer to level up your game, whether you’re just starting with programming or already have some experience.
In 2020, we’ll probably see a duel between Facebook’s ReactJS and the community-driven VueJS. React currently has 140,000 stars on GitHub, while Vue has been starred even more — 153,000 stars. Angular, for example, has only 53,000 stars.
The search volume in 2019 for React (blue line), Vue (red line), Angular (yellow line), and Svelte (green line) supports this assumption — with Vue being slightly above React. Angular cannot keep up in terms of search volume, and Svelte plays absolutely no role in this comparison.
So for 2020, front-end developers working with or wanting to work with JavaScript frameworks should focus on React and Vue as their primary choices. Angular is a valid option if you’re working on large enterprise projects.
If you want to learn more about these frameworks, check out these great resources:
Often overlooked but really, really important for developers is the acquisition of soft skills.
While it helps to understand the technical side of things, it’s equally important to know how to communicate in a team. If you’re serious about a career in tech and/or plan to move to a senior position, you should work on the following soft skills:
Always remember: The most important deliverable for a senior developer is more senior developers.
Being able to write clean code is a great skill and is in high demand by many organizations. If you want to step up from a developer position to a senior developer position, you should really learn the concepts of clean code.
Clean code should be elegant and pleasing to read. It should be focused, and you should take care of it. All tests are run in clean code. They shouldn’t contain duplications, and the use of entities, such as classes, methods, and function, should be minimized.
Some things a clean-code developer should do are:
If you want to learn more about clean coding check, out the books and posts from Robert C. Martin.
Git is without doubt, the standard for version control in web development these days. It’s really important for every front-end engineer to know basic Git concepts and workflows to work effectively in teams of all sizes.
Here are some popular Git commands you should know:
git config
git init
git clone
git status
git add
git commit
git push
git pull
git branch
While it’s always good to know these commands for increasing your productivity, front-end engineers should also learn the fundamental concepts behind Git. Here are some resources for you:
Progressive web apps (PWA) will definitely be a thing in 2020. More and more companies are choosing PWAs over native apps to offer rich mobile experiences to their users.
PWAs are reliable (instant loading, work without internet connection), fast (smooth animations, quick responses to user interaction), and engaging (native-app feeling, great user experience).
They make use of service workers for offline functionality and a web-app manifest file for a full-screen experience.
Reasons for building a progressive web app are, for example:
If you want to learn more about PWAs, feel free to check out these additional resources:
One of the hottest topics right now and definitely a thing for you to learn or improve on in 2020 is GraphQL.
While REST has long been consider the de facto standard for designing web APIs by offering great concepts like stateless servers, RESTful APIs are more and more considered inflexible when it comes to keeping up with the rapidly changing clients accessing them.
GraphQL was developed by Facebook to tackle the exact issues developers are facing when dealing with Restful APIs.
With REST APIs, developers would gather data by fetching it from multiple endpoints that have been created with a specific purpose — like, for example, a /users/
endpoint or a /tours//location
endpoint.
Using GraphQL, this would work differently. Developers would send a query to a GraphQL server with their data requirements. The server would then return a JSON object with all the corresponding data.
Another benefit of using GraphQL is it uses a strong type system. Everything on the GraphQL server is defined via a schema using the GraphQL schema definition language (SDL). Once the schema has been created, both front-end and back-end developers can work quite independently from one another because they’re aware of the defined data structure.
If you want to learn more about GraphQL, check out these great resources:
“Getting Started with GraphQL Content API”
“GraphQL: A data query language”
Static site generators combine both the power of server-side rendering (very important for SEO but also initial load time) and single-page applications.
Many projects these days choose a SSG even if they don’t need server-side rendering because solutions like Next or Nuxt come with handy features, such as markdown support, module bundlers, integrated test runners, etc.
If you’re serious about front-end development, you should take a close look into the following projects, and try to get some hands-on experience on them:
These will probably be the hottest ones in 2020, though there are more out there. Check out these resources if you want to learn more about them:
The term JAMstack stands for JavaScript (running on the client — for example, React, Vue, or VanillaJS), API (server-side processes are abstracted and accessed over HTTPS via JavaScript), and markup (templated markup that’s prebuilt at deploy time).
It’s a way of building websites and apps for better performance — lower scaling costs, providing higher security, and offering a better developer experience.
While these terms are nothing new on their own, they all have the same thing in common — they don’t depend on a web server. So a monolithic app that relies on a Ruby or Node.js back end or a site built with a server-side CMS like Drupal or WordPress isn’t built with the JAMstack.
There are some best practices if you want to work with the JAMstack:
Entire project served on a CDN
Because no server is needed, the whole project can be served from a CDN, unlocking speed and performance that can’t be beat.
Everything lives in Git
Everyone should be able to clone the whole project from a Git repo without the need for a database or a complex setup.
Automated builds
You can automated builds perfectly because all of the markup is prebuilt — for example, with webhooks or cloud services.
Atomic deploys
In order to avoid inconsistent states by redeploying hundred or thousands of files in large projects, atomic deploys wait for all files to be uploaded before changes go live.
Instant cache invalidation
When a site goes live, you must make sure your CDN can handle instant cache purges for changes to become visible.
Well known hosts, like Netlify or Zeit, support JAMstack applications, and large corporations use them to deliver great experiences to their users.
It’s definitely something you want to get your head around as a front-end developer in 2020. If you want to learn more about JAMstacks, here are some great resources:
Just like in 2019, Microsoft’s VS Code will be the number one editor for most front-end engineers in 2020.
It offers almost IDE-like features, like code completion and highlighting, and can be extended almost infinitely via its extension marketplace.
The marketplace, in particular, is what makes VS Code so awesome. Here are some great extensions for you as a front-end developer:
These are some pretty cool examples. There’s much more to discover in VS Code, so I encourage you to try out it if you aren’t already using it.
No untested code should find it’s way to production.
While it might seem convenient to not have any tests in your personal projects, it’s mandatory to have them when working in commercial and enterprise environments. So it’s better for any developer to integrate tests in the development workflow whenever possible.
One can differentiate between test cases like:
Unit tests
Testing a single component or function in isolation.
Integration tests
Testing interactions between components.
End-to-end test
Testing full-blown user flows in the browser.
There are more ways of testing, such as manual testing, snapshot testing, etc. If you want to move to a senior developer position or aim for a job with a large corporation that has some development standards, you should try to work on your testing skills.
In this article, I showed you 10 important things front-end developers should try to learn, improve, or master in 2020.
This list isn’t trying to be complete, but I hope it gives you some inspiration for the next year — the choice is all yours!
Please share if you liked it! Thank you.
#JavaScript #FrontEnd #Startup #Technology #Developers