As a web developer, one must commit to continual learning as the ecosystem is constantly changing. Below is a rough outline of concepts and technologies that I hope to delve into this year in my commitment to bettering my craft.
Front End
On the Front End, I've often relied on AngularJS to add user interaction, communicate with Back End APIs and so on. However, AngularJS has since entered LTS until 2020 so it is time to move on to greener pastures; VueJS is my current JavaScript library that I am learning this year.
- CSS Grid and doing more with Flexbox
- Using fetch() and/or axios for frontend XHR requests.
- Pick up more of the JavaScript Fronted frameworks
- WebPack
- Most of my interaction with WebPack has been though downloading sample projects on Github and tweaking it to my needs.
- I know that Gulp and WebPack can be run along another, but I would like to experiment with replacing Gulp with just WebPack.
- Web Assembly
Back End
My experience includes creating REST APIs based on upon the MVC pattern with Express running on in NodeJS run time. Reverse Proxies powered by NGINX have allowed me to run micro-services on a single server
- Learn more about caching workflows with NGINX , server APIs and so on.
- GraphQL by Facebook is becoming ever more prevalent in the Web Dev scene. At a high level overview, it seems to remove a lot boilerplate that comes with building data from a RESTFUL API
- In December, the new major version of WordPress was released that features a new editor, Gutenberg. I've still relied a bit on Advanced Custom Fields to build out the functionality of my sites, but the small amount that I have used it gives me the impression that it is very powerful.
Dev Ops
This year I hope to gain a better overall standing of what this term really means and the type of work that falls under this terminology. My current understanding is that it work that makes other developers more efficent in their processes. Setting up a continuous build environment with Jenkins for example. Other examples, may include:
- External Monitoring - A heartbeat indicating that the service is still alive.
- Sometimes my NGINX instance crashes and fails to restart. I'd like to be notified when my sites become unreachable.
- Creating a staging/testing environment on self hosted WordPress sites and subsequent workflow
- Deploying App/Sites/Micro-services with Docker
- Log management
- The Elastic Stack software group provides a nice set of tools to consume, transform, ship and visualize the information.Log Management and Visualization
- My motivations for this is that I manage various instances of WordPress, NodeJS apps and other software on the cloud. Whenever something goes wrong I need to hunt down and parse the logs for relevant information. Having a centralized source where I can easy search would be very beneficial to me.
Data Stores
Most of my experience has been with MongoDB. It's a great tool, but I've learned that it's not always the right tool.
- Improving my SQL Queries
- Domain Driven Design
- Making UML Diagrams
- Querying GIS data.
SEO
This year I'd like to continue experimenting with ranking in Google, Bing and DuckDuckGo for my personal sites that I manage.
- JSON-LD Schema Definitions
- Using Google Lighthouse to pinpoint where to make improvements
- Creating Quality Content to rank.
- Configuring Google Analytics to do some more advanced Event Tracking
Design - UI / UX
- Creating Mockups in Adobe XD CC and/or InkScape
- Creating Custom Icons
- Further understanding of Color Theory