|
| 1 | +# 01 — Roadmap: Zero → Python SME (Automation + Dashboards + Excel/SQL/SolarWinds) |
| 2 | + |
| 3 | +Generated: **Monday, February 16, 2026, 2:11 PM (America/Detroit)** |
| 4 | + |
| 5 | +## What “Python SME” means (concrete outcomes) |
| 6 | +By the end, you can: |
| 7 | +- Build **reliable automation tools** that run unattended (scheduled tasks) and are safe to rerun. |
| 8 | +- Build **repeatable reporting pipelines**: Excel → transform → SQL → dashboard/report. |
| 9 | +- Integrate with **SolarWinds Orion** via API (read metrics, alerts; write/ack where permitted). |
| 10 | +- Ship **internal web GUIs / dashboards** for non-technical teammates. |
| 11 | +- Use modern team standards: **virtual environments, dependency pinning, formatting, linting, tests, logging, packaging**. |
| 12 | +- Teach others: docs, examples, code reviews, patterns, “pitfall” guidance. |
| 13 | + |
| 14 | +## The optimal learning order (why this order) |
| 15 | +1. **Foundations**: logic + reading code + debugging (otherwise everything else is random memorization). |
| 16 | +2. **Professional workflow**: venv/pip, git, lint/format, tests, logging (so you don’t build fragile scripts). |
| 17 | +3. **Data + IO**: files + Excel (fastest path to real business value). |
| 18 | +4. **SQL**: data persistence + reporting pipeline. |
| 19 | +5. **SolarWinds**: apply APIs + query language + auth + data modeling. |
| 20 | +6. **Dashboards**: UI + data access patterns + caching + security basics. |
| 21 | +7. **CI/CD + packaging**: how you ship repeatably (even if corporate is locked down, you will understand it). |
| 22 | + |
| 23 | +## Time model (flexible) |
| 24 | +- Baseline: **6–8 hours/week** |
| 25 | +- Typical: **9–12 months** to “team-trusted SME” if you consistently ship small tools. |
| 26 | +- Faster path: 10–12 hours/week + weekly capstone increments. |
| 27 | + |
| 28 | +You progress by **deliverables**, not by time spent. |
| 29 | + |
| 30 | +--- |
| 31 | + |
| 32 | +# Phase 0 — Setup (Week 1) |
| 33 | +**Goal:** Your environment is predictable and professional. |
| 34 | + |
| 35 | +Do: **[03_SETUP_WINDOWS11.md](./03_SETUP_WINDOWS11.md)** (exact steps) |
| 36 | + |
| 37 | +Deliverables: |
| 38 | +- A folder called `python_sme/` with: |
| 39 | + - `templates/` (project template) |
| 40 | + - `notes/` (your learning notes) |
| 41 | + - `projects/` (each project gets its own folder) |
| 42 | +- You can: |
| 43 | + - create a venv |
| 44 | + - install packages with pip |
| 45 | + - run a script |
| 46 | + - run tests |
| 47 | + |
| 48 | +--- |
| 49 | + |
| 50 | +# Phase 1 — Foundations (Weeks 2–6) |
| 51 | +**Goal:** You can read and write basic programs without copying blindly. |
| 52 | + |
| 53 | +Study backbone: |
| 54 | +- **Automate the Boring Stuff (3rd ed)** (Ch. 1–11) citeturn0search12turn0search19 |
| 55 | +- Python tutorial for reinforcement (esp. functions, modules) citeturn0search1 |
| 56 | + |
| 57 | +What you must master: |
| 58 | +- Types: int/float/str/bool/None |
| 59 | +- Data structures: list/dict/set/tuple |
| 60 | +- Control: if/elif/else, for/while, break/continue |
| 61 | +- Functions: parameters, return values, “small composable functions” |
| 62 | +- Debugging: reading tracebacks, printing, using VS Code debugger |
| 63 | +- Files: read/write text safely (encoding), paths, directories |
| 64 | + |
| 65 | +Deliverables: |
| 66 | +- 12–20 “micro scripts” (each 30–120 lines) that do one thing well |
| 67 | +- A personal “pitfalls” note (truthiness, mutability, off-by-one) |
| 68 | + |
| 69 | +Guide: **[04_FOUNDATIONS.md](./04_FOUNDATIONS.md)** |
| 70 | + |
| 71 | +--- |
| 72 | + |
| 73 | +# Phase 2 — Professional workflow (Weeks 7–10) |
| 74 | +**Goal:** Your code is usable by others (consistent, tested, logged). |
| 75 | + |
| 76 | +Core: |
| 77 | +- `venv` + `pip` + dependency pinning citeturn0search5turn0search9 |
| 78 | +- `pyproject.toml` as the single config hub citeturn2search1 |
| 79 | +- Lint/format: Ruff + Black citeturn0search2 |
| 80 | +- Tests: pytest citeturn2search2 |
| 81 | +- Logging: Python logging module |
| 82 | + |
| 83 | +Deliverables: |
| 84 | +- A reusable **tool template**: |
| 85 | + - `src/` layout |
| 86 | + - CLI entrypoint |
| 87 | + - config loading |
| 88 | + - structured logging |
| 89 | + - tests |
| 90 | + - lint/format scripts |
| 91 | + |
| 92 | +Guide: **[09_QUALITY_TOOLING.md](./09_QUALITY_TOOLING.md)** + **[02_GLOSSARY.md](./02_GLOSSARY.md)** |
| 93 | + |
| 94 | +--- |
| 95 | + |
| 96 | +# Phase 3 — Files + Excel reporting (Weeks 11–16) |
| 97 | +**Goal:** Immediate business value: repeatable reporting from spreadsheets. |
| 98 | + |
| 99 | +Tools: |
| 100 | +- `pathlib`, `csv`, `json` |
| 101 | +- `openpyxl` (Excel) and optionally `pandas` (transformations) |
| 102 | + |
| 103 | +Capstone Project A: **Excel Merger + Validator + Report** |
| 104 | +- Input: folder of Excel files |
| 105 | +- Output: `Master_Report.xlsx` + `Master_Report.csv` |
| 106 | +- Features: |
| 107 | + - schema validation (required columns) |
| 108 | + - normalization (header mismatches) |
| 109 | + - highlight “Critical” rows |
| 110 | + - separate “Critical” tab |
| 111 | + - logs + error summary |
| 112 | + - safe reruns (versioned output) |
| 113 | + |
| 114 | +Guide: **[05_AUTOMATION_FILES_EXCEL.md](./05_AUTOMATION_FILES_EXCEL.md)** |
| 115 | + |
| 116 | +--- |
| 117 | + |
| 118 | +# Phase 4 — SQL integration (Weeks 17–22) |
| 119 | +**Goal:** Build “data pipelines” rather than “one-off reports”. |
| 120 | + |
| 121 | +Tools: |
| 122 | +- SQL basics: SELECT/JOIN/GROUP BY |
| 123 | +- Python DB access (pyodbc and/or SQLAlchemy) |
| 124 | +- Migrations concept (optional early, important later) |
| 125 | + |
| 126 | +Capstone Project B: **Ingest + Transform + Load** |
| 127 | +- Read Excel/CSV → validate → write to SQL staging → promote to reporting table |
| 128 | +- Idempotency key (reruns don’t duplicate) |
| 129 | +- Reject file output (bad rows) |
| 130 | + |
| 131 | +Guide: **[06_SQL.md](./06_SQL.md)** |
| 132 | + |
| 133 | +--- |
| 134 | + |
| 135 | +# Phase 5 — SolarWinds Orion integration (Weeks 23–28) |
| 136 | +**Goal:** Automate monitoring/reporting workflows using Orion data. |
| 137 | + |
| 138 | +You will learn: |
| 139 | +- Orion platform API basics (SWIS, SWQL concepts) |
| 140 | +- Read nodes/interfaces/alerts/events |
| 141 | +- Produce “daily health” reports |
| 142 | +- (If allowed) acknowledge/annotate alerts |
| 143 | + |
| 144 | +References: |
| 145 | +- Orion SDK repo citeturn0search23 |
| 146 | +- orionsdk-python client citeturn0search3 |
| 147 | + |
| 148 | +Capstone Project C: **SolarWinds Daily Ops Report** |
| 149 | +- Pull top alerts, down interfaces, capacity metrics |
| 150 | +- Output: Excel + HTML dashboard page |
| 151 | +- Optional: push summary to email/Teams webhook |
| 152 | + |
| 153 | +Guide: **[07_SOLARWINDS_ORION.md](./07_SOLARWINDS_ORION.md)** |
| 154 | + |
| 155 | +--- |
| 156 | + |
| 157 | +# Phase 6 — Web GUIs / Dashboards (Weeks 29–38) |
| 158 | +**Goal:** Put your reports behind a usable internal UI. |
| 159 | + |
| 160 | +Recommended order for beginners: |
| 161 | +1. **Streamlit** (fastest to working dashboards) citeturn1search0turn1search14 |
| 162 | +2. **Dash** (more “app-like” dashboards; strong data grids) citeturn1search1 |
| 163 | +3. **FastAPI** (when you need a real backend API) citeturn1search2 |
| 164 | + |
| 165 | +Capstone Project D: **Ops Dashboard** |
| 166 | +- Tabs: Excel reports, SQL summaries, SolarWinds health |
| 167 | +- Filters: customer/site, date range, severity |
| 168 | +- Caching to avoid hammering SolarWinds/SQL |
| 169 | +- Auth strategy appropriate for your environment (documented) |
| 170 | + |
| 171 | +Guide: **[08_DASHBOARDS.md](./08_DASHBOARDS.md)** |
| 172 | + |
| 173 | +--- |
| 174 | + |
| 175 | +# Phase 7 — Shipping: CI/CD + Packaging + Governance (Weeks 39+) |
| 176 | +**Goal:** Make your work easy to run, update, audit, and hand off. |
| 177 | + |
| 178 | +You will learn (plain-English definitions in glossary): |
| 179 | +- CI/CD (automate test/build/release) citeturn1search3turn1search10 |
| 180 | +- PyPI and “internal package indexes” citeturn2search0turn2search7 |
| 181 | +- Packaging and distribution options citeturn2search3 |
| 182 | + |
| 183 | +Deliverables: |
| 184 | +- A “release checklist” |
| 185 | +- A “deployment modes” guide: zip deploy vs wheel vs internal index |
| 186 | +- A “security baseline”: secrets, least privilege, dependency hygiene |
| 187 | + |
| 188 | +Guide: **[11_CHECKLISTS.md](./11_CHECKLISTS.md)** + **[02_GLOSSARY.md](./02_GLOSSARY.md)** |
| 189 | + |
| 190 | +--- |
| 191 | + |
| 192 | +# How you will be evaluated (by your team) |
| 193 | +You become the SME when you can consistently: |
| 194 | +- take ambiguous automation/reporting requests |
| 195 | +- clarify requirements |
| 196 | +- deliver tools with: |
| 197 | + - good defaults |
| 198 | + - safe behavior |
| 199 | + - logs + tests |
| 200 | + - docs |
| 201 | + - predictable deploy/run steps |
| 202 | + |
| 203 | +Next: **[03_SETUP_WINDOWS11.md](./03_SETUP_WINDOWS11.md)** |
0 commit comments