I have a certain period of time between now and my next job and I am mostly going to spend that time trying to learn a bunch of different things. In this article, I would like to outline those things and then as each part of the goal is achieved I would like to post another proof of work article or a tweetstorm about the learnings.
So what are the things I want to improve upon
Second programming language:
My primary programming language is Python and it has been for quite some time now, I mostly work in Machine learning and the field is spread with tools that are more python oriented and I have been doing this for the past 3 years learning frameworks to navigate the space.
My secondary programming language used to be C but it has been a while since I programmed anything in C and web development a field closer to my job never uses C (unless for developing libraries — which is not my interest) So I must learn some new language.
At my previous workplace, they were using rust for most of the backend work and I was persuaded by the group to learn rust, But my daily activities kind of kept me away from the learning. So as a first step my aim is to learn Rust and become slightly proficient in it so as work on it from a web development perspective. In my previous attempt at #100DaysOfCode I tried learning the basics and now is the time to do something more useful.
In my new job as an ML engineer, I would be working with cloud technologies like Docker and Kubernetes on a day to day basis, but I don't feel very confident in both of these technologies and mostly use references. I want to do a deep dive into these technologies and understand them better.
Apart from this I also want to get better at deploying and understanding the concepts and differences of why some things are done in a certain way
Solidity and Web 3.0
As a person who likes to understand new technologies, the web 3.0 wagon is something very new and very confusing. To remove this confusion I have done a basic search and would like to learn more about programming in web 3.0.
This is primarily for a hobby purpose and I don't expect to switch careers but having a deeper understanding of building a smart contract, NFT etc helps in having fruitful discussions. As something that is touted to replace the current internet, it is important to invest some time to learn about the why, how and what of the upcoming technology.
Databases and usage
I didn't have a very conventional entry into the field of data science or computer science. I got in the door through ad hoc learning and this meant not really learning about the basics in a detailed manner. So, to compensate for not knowing the details of databases I would like to dive deep into the types of databases, their use cases where to apply what database and how to perform a data modelling task so that I can understand data flow and architecture designs
Read a technical book
In the recent past, I have read more non-fiction than fiction. But I have never read a technical book from cover to cover and made notes of what is required and what is not and how to consume that knowledge. However, I am in that time in my career where books seem to have better content for problems that I face compared to other forms (blogs, youtube, courses etc).
To continue progressing in my career there are certain books that can help in understanding the problems that I face, my goal is to read one of those books and condense them into consumable nuggets that I can reflect back and reuse in my life whenever need be.
Hopefully, I can achieve at least 2 of the above-mentioned goals in the hiatus period.