A Journey into Data Science from Scratch
Introduction
It’s a rare opportunity that our company has a fairly complete machine learning and data analytics team, along with relatively comprehensive resources and pipelines. I want to seize this chance to learn data science along the way, and if I run into anything I don’t understand, I can ask my colleagues directly. Data science is a broad field, and I don’t have a clear direction yet, so I’ll just learn as I go and see what sparks fly—time to embrace the slashie life!
Plan
- Piece back together the missing puzzles from college statistics (2 weeks)
- Distributions and various hypothesis testing methods
- R: Learn it along the way while reviewing
- Review linear algebra (3 weeks)
- Totally forgot everything
- Review Andrew Ng’s Machine Learning course (1 week)
- When I took this course, it used Octave, but the concepts should still carry over
- Coursera’s Deep Learning Specialization (6 weeks)
- Finish reading the data science books I bought earlier (3 weeks)
- Follow along with fast.ai while diving into research papers
- Previously finished parts 1 through 4, but completely forgot it all.
- Data Engineering
- Airflow
- Kafka
- Personally really want to learn these two
This should easily take about 100 days. I might also look for some courses related to data analytics, since right now the list leans heavily toward machine learning and deep learning. In any case, I’m documenting what’s on my mind here so I don’t forget.
Goals
The main goal is to see what interesting things can happen at the intersection of front-end development and data science—integrating with ml.js or tensorflow.js sounds like a lot of fun.
Additionally, I have a few personal ideas that require support from data science, so I want to take advantage of having more free time now to build up my knowledge in this area. Back when I studied this before, my notes were scattered all over the place and are almost impossible to find now, and I’ve forgotten most of it anyway. This time, I’ll document everything properly on my blog.
Related Posts
- When a Measure Becomes a Target: From the Window Tax to Pull Request Counts I once wrote a script to tally how many PRs I contributed in a quarter, how many reviews I left, and how many tickets I closed, hoping to use numbers to prove my output to my manager. My manager simply remarked that performance isn't just about output. Years later, I finally understood—when a measure becomes a target, it ceases to be a good measure. From the British window tax and the Hanoi rat bounty to evaluating developers by PR counts today, the underlying mechanism is exactly the same.
- Using Cloudflare Images for Image Storage and Transformation Putting an image on a webpage is the simplest task in frontend development. But doing it properly—including resizing, generating multiple formats, and withstanding heavy traffic—is actually an entire end-to-end solution. Eventually, I offloaded everything to Cloudflare Images, keeping only a single original image.
- Stop Using AWS Access Keys Access Keys are an easily overlooked security risk in AWS. By pairing OIDC with IAM Roles, GitHub Actions can securely operate AWS resources without storing any secrets.
- Database Primary Keys: AUTO_INCREMENT, UUID, and UUIDv7 Backend developers often face the choice of primary keys: should you use auto-increment or UUID? What about collisions? How does UUIDv7 compare to created_at + index in performance? Here are the design decisions and benchmark results from testing 20 million rows.