We are in one of the fastest changing, evolving, most lively communities on earth.
...so, what skills should we be focused on learning now in 2019?
I'll break this into three categories:
I'll keep this short, because in the early days of your journey, the most important thing is to get a positive feedback loop going – changing something and seeing the effects of your changes as soon as possible!
Ultimately, you'll want to learn when to use concepts from both Functional and Object Oriented paradigms.
If you'd like to get going writing professional code quickly, the most straight-forward way is to dive into a framework like React or Vue, since most jobs require knowing one of these top frameworks deeply.
Many people will be upset if I didn't mention Angular, but I don't think it's the best framework to start on. You'll know when you have a big enough project to leverage its "battery's included" philosophy.
It's also important to master your development tools to learn to debug your code and the performance of your application.
More and more companies are adopting TypeScript for better developer experience as well.
Both CSS Grids & Flexbox are essential to layout modern, responsive websites that work on any device.
Tools like Create React App and Parcel are making getting started easier and easier, but if you want to go deeper, learn Webpack to create a custom build pipelines to ship your code in an optimized way.
Having basic design skills can make you a more desirable and well-rounded engineer.
Learning Node.js and how to build APIs in Node can make you more of a full stack engineer.
Better yet, being able to set up and deploy your own apps makes you even more self-sufficient. AWS is currently the most popular platform to deploy apps at scale, but Azure is gaining steam.
One of the most flexible and underused graphics formats is SVG. It's incredible since it scales infinitely, from a mobile device to a billboard.
Want to make sure you're not shipping broken code? Leveraging testing with a popular test runner like Jest can go a long way in preventing broken deploys.
Who hasn't lost code? Well, if you're a git master, you'll never lose your code and will be able to recover from when there are issues merging code. Everyone loves someone who really knows git on their team.
Knowing how to measure time complexity and use the correct algorithms and data structures can lead towards more efficient solutions and better engineering-thinking in general.
I started this website as a place to document everything I learned. You should know that English is not my mother language. Sorry if you found any mistake or unclear meaning.