MY LEARNING PATH FOR 2021

MY LEARNING PATH FOR 2021

I tried writing a year in the review article for my 2020 and I realised there hasn't been many highlights. The world was hard hit with a pandemic and the even tenser #endSars movement in Nigeria, a socio-political upheaval between the youth and government over police brutality and bad governance. While I had a few other personal wins, I believe going through all that alive and with a sane mind - depending on what that is - is the biggest win of all.

Going forward, here are the skills/technologies I'll be exploring in 2021.

BACK TO BASICS: HTML, CSS AND JAVASCRIPT

I am a believer in solid foundations, hence the need for me to continually refresh my knowledge in the basics of web development. Today's trendy frameworks and technology might well phase out tomorrow, but the core always remains. And since I'll be starting at Microverse in January 2021, it makes sense to revisit the core concepts of web development. For CSS, I will be exploring the Flexbox Model, Grid System and CSS animations. For Javascript, I'll be revisiting key es6 concepts like Destructuring, Promises, Spread operator, Arrow function, Modules and Generators.

FRONTEND FRAMEWORKS AND LIBRARIES

  • React/Redux: The Microverse curriculum includes the React framework/library, so I will be doing a lot of that this year. Moreso, it is the most widely used Javascript framework.
  • Bootstrap: This as always been my goto CSS library and with Bootstrap 5 now out for a while, I'll be seeing the new things I didn't really get to explore.
  • Material CSS: After using Material CSS on a project for a client, I think I have fallen in love with it and will definitely explore more of it in 2021.
  • Tailwind CSS: Never used it and know nothing about it, However, its growing popularity is why I want to use it, at least for education purposes.

BACKEND TECHNOLOGIES

  • Ruby/Ruby On Rails: Ruby on Rails will be a big part of my tech stack going forward. I have been using Laravel as my main engineering framework, but Ruby is the official language of the Microverse program.
  • MongoDB: I use MySQL for my database structures when building applications, but having the option to use a NoSQL database shouldn't hurt, and since MongoDB is the market leader in that domain, I'll be exploring it.
  • ElasticSearch: I have never used ElasticSearch, but from what I've read, this technology is like having the power and speed of the google search engine for enterprise-level data storage, retrieval and manipulation. And that explains why I don't just want to explore it but be really proficient with it.

DATA STRUCTURES AND ALGORITHMS

I'm surely going to be spending more hours on mastering and getting comfortable with some core DS and algorithms concepts. While I know about this, I feel I still need to spend more time honing and mastering this pretty well

DESIGN PRINCIPLES

  • Test-Driven Development: Something every developer should be familiar with. An established technique for testing the quality of code in chunks while in development. Helps deliver better and more sustainable software over time. I'll be sticking to and improving on this.
  • Domain-Driven Design: Domain-driven design [DDD] is the practice of architecting your project according to the business or logical domains it touches, following some established rules. I don't really understand this design pattern but I'll be exploring it and hope to better understand and get familiar with it.

ARCHITECTURAL PATTERNS

  • Microservices: I understand the Microservices architecture lets teams build software into smaller parts that each tackle a different problem and let those services interoperate via APIs to solve a larger related business problem. The architecture also helps teams build software with different tech stacks or programming languages depending on what suits each microservice best.
  • Serverless Architecture: Also known as Functions As A Service (FaaS). It allows application logic to be hosted and maintained by a third party cloud provider, eliminating the need for developers to maintain the server software and hardware management.

DEVOPS/DEPLOYMENT

  • Vercel/Netlify: Vercel and Netlify are cloud platforms for static sites and serverless functions or JAM stack applications deployment. Typically, they integrate with a Git repository for automatic deployments upon commits. Makes deployment and maintenance super easy, especially for front end developers.

  • Continuous Integration/Continuous Delivery: For proper continuous development, deployment and updating of live applications.

TECHNICAL WRITING

I opened this blog on Hashnode largely for technical writing. Over the coming months, I'll be sharing the programming concepts and hacks I learn as I progress on this journey.

CONCLUSION

There you have it. The above-mentioned technologies are those I'll look into/relearn in 2021. If you feel I should add to and drop from this, please state which and why in the comments. Also, if there are any of the above concepts you'll like to shed light on, feel free to do so in the comments as well.

Thank you for reading!