datastream/learning-goal.md
2026-09-02 21:48:27 +08:00

67 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Learning Goal: Data Analysis Foundations
## My Learning Goal
Within 2 months, get the lay of the land of NLP and data analysis techniques, and rebuild a working mathematical understanding of basic statistical analysis.
## Why It Matters
I often struggle with information overload and figuring out what's important. I want to be able to take a jumble of data and extract the vital things without getting lost — to orient myself to concrete facts.
## My If-Then Plans
- If I reach for a library to solve a problem I actually want to learn, then I will not use the library — I will crack open a new crate and write it myself, using the library's source code as reference if needed.
## My First Step
Download some textbooks, do Wikipedia dives, take notes, and pull out a spreadsheet to work through basic statistics.
---
# Learning Goal: PostgreSQL Fluency
## My Learning Goal
Within 6 months, develop fluency with SQL and PostgreSQL — being able to construct complex expressions freely because I understand what they mean and how they work, not just looking them up.
## Why It Matters
Right now I can build a database but struggle to extract specific subsets of information. With this fluency I'd be able to get at key information easily — which connects directly to the broader goal of not getting lost in data.
## My If-Then Plans
- If I get stuck on an SQL expression, then I will work through specific examples from the dataset manually — in a spreadsheet if needed — to figure out what the query actually needs to do.
- If I feel lost and don't have enough of a map to know what to ask, then I will play with the data manually, doing the operations step by step, to figure out what has to happen to get from a lot of data down to the specific data I need.
## My First Step
Use the real database work already in front of me as the practice ground — every time I hit a wall, work through it manually before reaching for an answer.
---
# Learning Goal: Profiling, Performance, and Testing
## My Learning Goal
Within 23 months, learn the profiling tools in the Rust ecosystem. Within 6 months to a year, develop good profiling technique — making it a natural, habitual part of how I work, not something bolted on after the fact.
## Why It Matters
I'm doing non-traditional DB design with event sourcing and writing my own algorithms for big data work. I need to know if things are actually fast, and whether improvements actually improve them — not just feel like it.
## My If-Then Plans
- Even if my code feels fast enough, I will still create profiling loops throughout to understand how long things are actually taking and establish a baseline.
- If I find myself blindly trying techniques to increase speed, I will instead write profiling code first to find the real bottlenecks — so I know where to focus and when I've actually improved things.
## My First Step
Learn the Rust profiling ecosystem — find the tools, get one set up in the current project, and create a first profiling loop.
---
# Learning Goal: Rust Type System
## My Goal
Within 36 months, be able to design traits, type structures, and trait bounds independently — without needing LLM assistance to construct them. When I can look at a data relationship, translate it into types and bounds myself, and work through the design to completion, I'll know I'm there.
## Why It Matters
The same way I can follow pointers and imagine data structures spatially, I want that fluency with types — not memorizing rules, but being able to see the shape of a problem and express it.
## My Self-Check
If I can't sketch the whole structure in an editor without leaning on example code, I haven't internalized it yet.
## My If-Then Plans
- If I get stuck and start losing motivation, then I will open my journal and work through it in writing.
- If I reach for example code before I can sketch something myself, then I will close it and try to sketch it in an editor first.
## My First Step
Keep working on the data collection and analysis project — writing as much of the code manually as possible, without LLM assistance from the start.