It's almost at the end of 2021 and I am left with a decision on what should I be exploring next year.
I have been doing this one-year-exploration-kind-of-thing for the past 3 years. The rule is simple, stick with one area for the rest of the year.
For the past 3 years, I only set 1-2 areas that I want to delve in
— shulhi.eth (@shulhi) November 1, 2021
2019 - Functional programming
2020 - RC
2021 - PETAL stack for @usestencil development
2022 - ? Still undecided because right now I have 3 areas I am interested in๐
This method works wonder for me.
Here are the areas that I've explored for the past 3 years.
- 2019 - Going deeper in functional programming techniques. I learned a lot about Haskell type systems which I may or may not use at work.
- 2020 - Learning about RC hobbies where I built my own RC planes and learned how to fly them. Also got into learning how to fly FPV quads in the same year. Still having fun with this hobby.
- 2021 - Learning how to bootstrap a SaaS product. I built Stencil and will continue working on this project for the years to come. There are still a lot features that I intend to develop in 2022.
- 2022 - Still undecided.
Why am I doing this?
As mentioned in my twitter thread above, I have an issue with having too many interests and they ranged significantly but generally they revolved around tech.
By spending a year learning a specific topic, I get a chance to learn about the topic in depth rather than just scratching the surface. I also found that trying to focus on multiple topics at the same time lead to nowhere usually.
Limitation
Since I have a full time day job and I am also planning to still continue with Stencil development, my hours are certainly limited to weekends and any other free time that I could manage.
Area of Interest
Computer Vision
This has been my interest for a while but I didn't have a proper time to really explore this area. I bought several books from https://www.pyimagesearch.com/ few years ago and really would like to go through them if I decide this should be the area to focus on next year.
Pros
- Since Stencil is image related project, some of these skills might be applicable to implement in Stencil (maybe)
- I also have this idea where I could strap additional processing unit and camera to do image detection on my RC plane. I have an OpenCV AI Kit which is collecting dust at the moment.
Cons
- Realistically, I don't think I could be really good in this area (both ML and CV). It's going to take more than a year to be at a pro level. Not sure if I am motivated enough to sustain this.
- It could be costly to train ML model and I don't have that sort of resources to do this for fun.
Web3
I honestly believe this could be the future and the next big thing. I have around 35% of my net worth invested in crypto since 2015 (not much lol). I'd YOLO 100% if I don't have commitments.
I am really interested in learning smart contracts and the security aspect of it. I had several years of trading experience and market has always piqued my interest.
Pros
- I already know Haskell so Cardano smart contract could be a good start.
- Potential jobs in the future as I've been seeing more jobs related to smart contract development recently.
Cons
- Need to learn Solidity if going with Ethereum smart contract.
- Unsure exactly what to build and I am mostly like to learn by developing a project.
Electronics side project
I have this ambitious project where I want to build a system to stream videos from DJI Air Unit to DJI Goggle through 4G instead of its usual radio signal. I want to fly further (5+KM) without the signal restriction.
Pros
- Got to learn electronics which I have always wanted to explore.
- It's a gateway to robotics and other hardware automations.
- An excuse to learn Rust more.
Cons
- I really have no idea where to start. This is a really daunting project.
- Hardware project usually takes more time than software project and I am not sure if working on weekends are enough to do this especially with a toddler at home. Most of hardware projects require a longer span of focus compared to software project due to its nature.