A Roadmap for the Future
The capacity to learn is a gift; The ability to learn is a skill; The willingness to learn is a choice.
- Brian Herbert
This quote is a great kick-off into laying out my plan to transition in a machine learning role for work.
I have always wanted to get into ML and data science and I first ventured into the space while I was studying at Sacramento State.
At the time, I was taking 18 units (5-6 classes) and I was trying to keep up with the workload and sigmoid activation functions/etc. were out of my wheelhouse.
Now that I have graduated and have a stable job (California Department of Transportation), I feel that I have the bandwidth to really dig into machine learning and deep learning.
Background && Inspiration
I have always wanted to be a Software Engineer. This has led me to kind of bounce around and learn a plethora of software tools and languages.
The languages I am most comfortable with are ranked:
- Python
- JavaScript
- C / C++
- Go
- Rust
C, Go, and Rust are on the list because I had phases of trying to become proficient in each of these languages, but in the course of learning I struggled with memory management, pointers, and lower-level concepts.
The struggle of learning these concepts and the inspiration for projects/ideas would clash until eventually; the desire to create something would win and I would be prototyping with Python again.
The allure of the efficiency of Rust, C, and Go bled into how I thought about my productivity, computing, and my habits.
I threw myself into the "productivity" community with my friend Dante, and learned the methodology of keeping organized, and being efficient:
- Terminal editing via Neovim and the Vim editing style.
- Linux, bash/zsh
- Obsidian for personal notes.
- PARA organization structure and creating a "Second Brain"
Daniel Bourke's Roadmap
My roadmap is largely inspired by Daniel Bourke's roadmap that he goes over on his YouTube channel.
An overview of his roadmap is:
- Build in Public / Learn the Concepts
- Projects
- apply ML to areas of interest
- Proactively start working the job you don't have
- engage companies with your ML solutions
- Share your learning journey, attract job opportunities
- blogs, social media, YouTube, conferences, etc.
- Projects
- Polish
- make a good ML resume.
- focus on creating write-ups and projects to showcase your work.
- Practice
- learn and study how to prepare for ML interviews.
- demonstrate your problem-solving skills for interviews.
Learning the Concepts
My strategy for this area is to take the Complete AI & DS Bootcamp that is offered on Zero2Mastery.
This course starts from the beginner level and builds into building, fine-tuning, and deploying ML and deep learning models.
I have worked through a bunch of courses that cover areas like Pandas, Numpy, Jupyterbooks, and MatplotLib. The top courses that come to mind:
- DataCamp's Data Scientist Career Track
- FreeCodeCamp's Pandas Tutorial
- and a couple of others.
At the time I started those courses I felt that I did not have a purpose of learning those things; I had started those courses just for the sake of starting something new.
I am almost done with the Google Career Certificate: IT Automation with Python course in unison with the AI & DS Bootcamp.
I was lucky to be able to get to take this program for free through Yolo County's Education program.
I want to finish this course to solidify and help me practice using Python, learning regex, testing, and other foundations of the Python programming language.
Build in Public
Lastly, I will be writing more blog posts on this Hashnode blog, and sharing insights and solutions on my social media accounts.
Learning the beginner concepts is key to being able to lay the foundation for problem-solving skills necessary to work as an ML engineer.
Practice with Projects
Learning is not truly solidified until put into practice.
Real practice comes from being able to use the skills you have learned without guard rails and build specific knowledge that outweighs tutorials or LLM advice.
The projects that I am tracking in Things 3, and Obsidian are:
- Converting my ChatGPT youtube summary script to...
- a free website tool that is built with stream-lit
- a custom GPT with fast API back-end that serves the streamlit website.
- Fine-tuning MusicGen to generate sample packs for my good friend, InfamousBeats.
- Learning to write more to this blog.
- Posting on Twitter and LinkedIn about the things that I learn and post guides, tutorials, etc.
- Democratizing my Obsidian notes, and learn the best way to publish them and make them a resource.
I am going to make a dedicated blog series for each of these projects.
Polish Your Resume
My resume needs to be updated to reflect the work that I have done at Caltrans and to add to my ML experience.
The TLDR advice given by Chip Huyen is to:
- demonstrated expertise, not keywords.
- people who get things done.
- unique perspectives.
- creating about impact, not meaningless metrics.
I don't have a lot of hands-on experience or projects involving machine learning, so creating meaningful and impactful projects are my number one priority after learning the fundamentals
There is a lot more to the article than these four points, so I would recommend reading it to learn more.
Practice for Interviews
Studying for interviews is another weak point that I have. The time that I have dedicated to learning data structures and algorithms has not been productive.
I have learned the basic structures (linked lists, trees) and simple algorithms (binary search, etc.) but once I start learning about Big(O) notation and dynamic programming; my brain flatlines.
Summary
I hope this rough roadmap gives you an idea of what I am doing, resources to make a plan for yourself, and how you can apply my history to your future endeavors.
"Machine learning" and "deep learning" are quite the hype words right now but I hope to pursue these skills until I get a job as a Machine Learning Engineer, or be able to work with these skills in my current job.
I am not going to worry about the AI hype dying, or my projects being wiped out by Meta, OpenAI, or whoever.
Executing this roadmap and being accountable is the only thing on my mind; everything else is a distraction.
I am excited to broaden my interests and hobbies with AI and hope that my impact contribute to others.