What I'll be Looking at in 2019, and So Should You
Let’s take a look at what we’ll need to impress future employers and to stay up to date with technology going forward in 2019 and beyond.
For me this will always be at the core of any good engineer, especially if they run up and down the full stack. Knowing the language intimately and understanding it’s nuances aren’t the only things you should know well, but also having a good understanding of patterns from a development and architectural perspective will help you consolidate on your next position. Furthermore demonstrating that you’re a good problem solver will subdue your critics as well as give you plenty of
credit with your peers, coworkers and future employers (both in the interview and job phases)
Tooling can be a double edged sword, hard to learn and somewhat tedious but necessary for the build phase, development and production. Currently Webpack and Parcel lead the pack, so you should definitely know how they work under the hood from both a syntactical and conceptual perspective. Also you should acquaint yourself with Rollup because many concepts where brought over from this project to others like
tree shaking. Historically Node’s module system
CommonJS and then
Browserify gave rise modern build systems.
Understanding some of the older tooling libraries such as
Gulp will also help, because you never know when you will run into them in your next gig - i’m sure many employers have older build and tooling systems and are looking to modernize and rewrite. Of course knowing the NPM ecosystem, SEMVER and publishing goes without saying.
Over 50% of UI developers don’t test their code. Testing can be tedious business and often confusing with a lot of cognitive overload, but that shouldn’t deter you from focusing. You should know how to test your code at the fundamental levels as well as know about Jest, Jasmine, Karma, Mocha, Chai, Tape just to name a few.
This year React will be releasing many new features into the ecosystem which change the way we might write components. You need to know about these changes and how the impact they cause:
- Context API
- React Hooks
- New Lifecycle methods
- StrictMode Component
- Concurrent Model
- Async Rendering Mode
Understanding how component hierarchies are built and the flow of data in different stacks is important. Moreover keep an eye out for web components as we see the the web moving towards that direction with React, Vue, Angular.
Node.js is very important and often overlooked by developers who use third party tools like Express, Mongoose and NPM for the MERN, MEAN stack. Learning and knowing about the fundamentals of Node, like writing and API with routes from scratch or creating a CLI without
Yargs will give you a much better understanding of the back-end. I’m not saying don’t look at Express or Hapi, but it will be fruitful to look at Node from the ground up, after all it provides us with a stable API with tons of goodness out of the box.
Learn the fundamental Node.js API’s and try to use what you have out of the box as opposed to bloating your front-end with numerous unnecessary libraries.
Performant apps are the apps of today and the future, this is a great topic for discussion whether with your peers or in an interview. In 2019 be ready for the following where performance is concerned.
- Tree Shaking
- Lazy Loading
- Code Splitting
- Caching using Service Workers
- PRPL Pattern
2018 saw a huge rise in the GraphQL community, with many developers and companies at the cutting edge adopting early. Going into 2019 understanding GraphQL and what problems it solves will be one of the most important trends. GraphQL has alot of hype around it now, but will it take over and replace RESTFUL APIs - I don’t think so, at least not for the foreseeable future. Understanding REST, it’s standards and best practices will still be the dominant force in the market.
Redux is still heavily used throughout the market and industry, but we see hints of GraphQL and Apollo replacing Redux for the first time. I feel job seekers are still looking for the holy trinity in Node, React and Redux.
The Angular and TypeScript community remains strong especially in the enterprise where you see a lot of backend developers migrate or at least start working on front-end applications. Angular will continue to use
RXJS for it’s state management and store.
noSQL communites are thriving as well as managed infrastructure like AWS and friends. Learning
SQL will definitely add value, and understanding how to scale a backend architecture by not querying the
same database over and over will give others confidence in your architectural prowess.
You should be able to put together a basic
CRUD application from the backend to wiring up the front-end with relative ease
Also you should know these modules and alternate static typing libraries, just to name a few.
Here are some other trends that we have been hearing about throughout 2018 and some that are newer which you would want to stay abreast of.
- HTTP2 / HTTP3
- Containers. Docker, AWS
- Web Assembly
- Progressive Web Apps
- Server Side Components
I feel i am missing a couple of minor things here and there, will revisit this and review one more time at a later stage.