Software: The Working Toolkit
Software
Data Science
A practical learning map for Python, SQL, R, Git/GitHub, Linux/CLI, and Spark/Big Data.
Data Science, Machine Learning and AI sit on top of a software toolkit.
You do not need to become an expert software engineer in every tool. You do need enough fluency that the tools stop blocking your reasoning.
DATA / AI WORK
│
┌──────────┬──────────┼──────────┬───────────┐
▼ ▼ ▼ ▼ ▼
Python SQL R Git/GitHub Linux/CLI
│ │ │ │ │
└──────────┴──────────┴────┬─────┴───────────┘
▼
Spark / Big Data
TipHow to use this section
Each article is intentionally short. Learn the mental model and vocabulary here, then follow the classified resources for deeper learning and practice.
Learning map
| Area | First objective | Then learn |
|---|---|---|
| Python | Write clear small programs | NumPy, pandas, algorithms |
| SQL | Query relational tables | windows, CTEs, analytical patterns |
| R | Think in vectors/data frames | tidyverse, modeling, Quarto |
| Git | Understand snapshots/branches | collaboration and recovery |
| GitHub | repositories and PRs | Actions, Pages, portfolio |
| Linux/CLI | navigate and compose commands | servers, processes, environments |
| Spark | think distributed | PySpark DataFrames and performance |
Suggested order for a Data Scientist
Python ★
SQL ★
Git/GitHub ★
Linux/CLI ★★
R ★★ ← especially statistics/research-heavy work
Spark ★★★ ← when data/compute becomes distributed
The stars indicate learning order, not importance or difficulty.
One principle
Learn tools by building things with them.
Reading gives vocabulary. Practice creates fluency. Projects reveal what you actually understand.