Skip to content

Commit 902f5fb

Browse files
committed
Codex Plan Update
1 parent da55e86 commit 902f5fb

12 files changed

Lines changed: 1512 additions & 937 deletions

01_ROADMAP.md

Lines changed: 166 additions & 176 deletions
Original file line numberDiff line numberDiff line change
@@ -1,203 +1,193 @@
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) citeturn0search12turn0search19
55-
- Python tutorial for reinforcement (esp. functions, modules) citeturn0search1
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).
1+
# 01 - Roadmap: Zero Experience -> Python SME (Enterprise Automation and Dashboards)
2+
Home: [README](./README.md)
753

76-
Core:
77-
- `venv` + `pip` + dependency pinning citeturn0search5turn0search9
78-
- `pyproject.toml` as the single config hub citeturn2search1
79-
- Lint/format: Ruff + Black citeturn0search2
80-
- Tests: pytest citeturn2search2
81-
- Logging: Python logging module
4+
## Who this is for
5+
- You have zero coding, scripting, or programming experience.
6+
- You need practical outcomes in an enterprise operations environment.
7+
- You learn best by doing real work, not passive studying.
8+
9+
## What you will build
10+
- Reliable Python automations for files, Excel, SQL, and monitoring data.
11+
- Repeatable ETL workflows using MSSQL as a reporting backbone.
12+
- SolarWinds Orion and DPA data ingestion jobs.
13+
- Browser-based dashboards for non-technical stakeholders.
8214

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
15+
## Prerequisites
16+
- Windows 11 machine.
17+
- Permission to install Python and VS Code.
18+
- Access path for MSSQL credentials (non-SSO SQL auth is supported in this plan).
19+
- Read-only API access to Orion and DPA to start.
9120

92-
Guide: **[09_QUALITY_TOOLING.md](./09_QUALITY_TOOLING.md)** + **[02_GLOSSARY.md](./02_GLOSSARY.md)**
21+
## Program overview (8-10 hrs/week default)
22+
- Phase 0 (Week 1): environment setup and first script.
23+
- Phase 1 (Weeks 2-6): Python foundations.
24+
- Phase 2 (Weeks 7-10): quality tooling and team-ready workflow.
25+
- Phase 3 (Weeks 11-16): file and Excel automation.
26+
- Phase 4 (Weeks 17-22): SQL-first ETL pipelines.
27+
- Phase 5 (Weeks 23-28): Orion and DPA integration.
28+
- Phase 6 (Weeks 29-38): dashboard delivery for browser users.
29+
- Phase 7 (Weeks 39+): release process, governance, and handoff maturity.
9330

94-
---
31+
## Step-by-step lab pack
9532

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)
33+
### Phase 0 - Setup (Week 1)
34+
Weekly outcome:
35+
- Local Python environment works reliably.
11336

114-
Guide: **[05_AUTOMATION_FILES_EXCEL.md](./05_AUTOMATION_FILES_EXCEL.md)**
115-
116-
---
37+
Minimum deliverables:
38+
- `python --version` works.
39+
- `.venv` created and activated.
40+
- First script runs.
41+
- First test passes.
11742

118-
# Phase 4 — SQL integration (Weeks 17–22)
119-
**Goal:** Build “data pipelines” rather than “one-off reports”.
43+
Done means done:
44+
- You can repeat setup in a fresh folder without guessing.
12045

121-
Tools:
122-
- SQL basics: SELECT/JOIN/GROUP BY
123-
- Python DB access (pyodbc and/or SQLAlchemy)
124-
- Migrations concept (optional early, important later)
46+
Fail/recover guidance:
47+
- If activation fails, use the troubleshooting section in [03_SETUP_WINDOWS11.md](./03_SETUP_WINDOWS11.md).
12548

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)
49+
### Phase 1 - Foundations (Weeks 2-6)
50+
Weekly outcomes:
51+
- Week 2: variables, types, conditionals.
52+
- Week 3: loops and collections.
53+
- Week 4: functions and modular thinking.
54+
- Week 5: file IO and paths.
55+
- Week 6: debugging and code reading.
13056

131-
Guide: **[06_SQL.md](./06_SQL.md)**
132-
133-
---
57+
Minimum deliverables:
58+
- 15 micro-scripts.
59+
- One debugging diary file.
13460

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
61+
Done means done:
62+
- You can explain each script out loud in plain language.
14363

144-
References:
145-
- Orion SDK repo citeturn0search23
146-
- orionsdk-python client citeturn0search3
64+
Fail/recover guidance:
65+
- If stuck, reduce problem size and rebuild with toy data.
14766

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
67+
### Phase 2 - Quality and workflow (Weeks 7-10)
68+
Weekly outcomes:
69+
- toolchain setup, formatting, linting, tests, logging.
15270

153-
Guide: **[07_SOLARWINDS_ORION.md](./07_SOLARWINDS_ORION.md)**
71+
Minimum deliverables:
72+
- reusable project template with `pyproject.toml`, tests, logging, and README.
15473

155-
---
74+
Done means done:
75+
- Any teammate can run your tool using documented steps.
15676

157-
# Phase 6 — Web GUIs / Dashboards (Weeks 29–38)
158-
**Goal:** Put your reports behind a usable internal UI.
77+
Fail/recover guidance:
78+
- If tooling feels heavy, keep features tiny and run checks per feature.
15979

160-
Recommended order for beginners:
161-
1. **Streamlit** (fastest to working dashboards) citeturn1search0turn1search14
162-
2. **Dash** (more “app-like” dashboards; strong data grids) citeturn1search1
163-
3. **FastAPI** (when you need a real backend API) citeturn1search2
80+
### Phase 3 - Files and Excel automation (Weeks 11-16)
81+
Weekly outcomes:
82+
- robust ingestion of multiple spreadsheets with validation.
16483

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)
84+
Minimum deliverables:
85+
- Capstone A baseline complete.
86+
87+
Done means done:
88+
- malformed inputs are rejected safely with clear logs.
89+
90+
Fail/recover guidance:
91+
- Start with a 2-file sample dataset and scale gradually.
92+
93+
### Phase 4 - SQL ETL (Weeks 17-22)
94+
Weekly outcomes:
95+
- clean table design and idempotent pipeline loads.
96+
97+
Minimum deliverables:
98+
- staging and reporting tables + ETL job + daily summary query.
99+
100+
Done means done:
101+
- rerunning ETL does not duplicate records.
102+
103+
Fail/recover guidance:
104+
- freeze schema changes until test dataset passes end-to-end.
105+
106+
### Phase 5 - Orion and DPA integration (Weeks 23-28)
107+
Weekly outcomes:
108+
- read-only ingestion from Orion and DPA into cache tables.
109+
110+
Minimum deliverables:
111+
- one daily ingestion job from each source.
170112

171-
Guide: **[08_DASHBOARDS.md](./08_DASHBOARDS.md)**
113+
Done means done:
114+
- data contract documented, ingestion stable, errors logged.
172115

173-
---
116+
Fail/recover guidance:
117+
- enforce read-only endpoints first and short polling windows.
174118

175-
# Phase 7 — Shipping: CI/CD + Packaging + Governance (Weeks 39+)
176-
**Goal:** Make your work easy to run, update, audit, and hand off.
119+
### Phase 6 - Dashboard delivery (Weeks 29-38)
120+
Weekly outcomes:
121+
- browser-consumable dashboard with filters and exports.
177122

178-
You will learn (plain-English definitions in glossary):
179-
- CI/CD (automate test/build/release) citeturn1search3turn1search10
180-
- PyPI and “internal package indexes” citeturn2search0turn2search7
181-
- Packaging and distribution options citeturn2search3
123+
Minimum deliverables:
124+
- working dashboard with data freshness indicator.
182125

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
126+
Done means done:
127+
- non-technical user can answer core ops questions without SQL access.
187128

188-
Guide: **[11_CHECKLISTS.md](./11_CHECKLISTS.md)** + **[02_GLOSSARY.md](./02_GLOSSARY.md)**
129+
Fail/recover guidance:
130+
- fallback to SQL-only cache mode when source APIs are slow.
189131

190-
---
132+
### Phase 7 - Shipping and governance (Weeks 39+)
133+
Weekly outcomes:
134+
- release process, support runbook, handoff standards.
191135

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
136+
Minimum deliverables:
137+
- release checklist and operational runbook.
202138

203-
Next: **[03_SETUP_WINDOWS11.md](./03_SETUP_WINDOWS11.md)**
139+
Done means done:
140+
- another engineer can operate and troubleshoot your tools.
141+
142+
Fail/recover guidance:
143+
- capture every incident and convert it into checklist updates.
144+
145+
## Milestone gates
146+
- Gate A: setup + first script + first passing test.
147+
- Gate B: Capstone A supports safe reruns and rejects.
148+
- Gate C: SQL ETL is idempotent and logged.
149+
- Gate D: Orion/DPA ingestion proof into MSSQL cache.
150+
- Gate E: browser dashboard available to stakeholders.
151+
152+
## If you fall behind (catch-up plan)
153+
1. Keep only one active project at a time.
154+
2. Finish minimum deliverables before adding features.
155+
3. Switch to 45-minute sessions with explicit goals.
156+
4. Use Hybrid mode until momentum returns.
157+
158+
## Learning-style options (Play/Build/Dissect/Teach-back)
159+
- Play: tweak example scripts and observe behavior changes.
160+
- Build: implement full milestone checklists exactly.
161+
- Dissect: read unfamiliar scripts and annotate line-by-line intent.
162+
- Teach-back: explain one concept weekly to another person or a written journal.
163+
164+
## Expected output
165+
- A complete progression from beginner to enterprise-capable Python practitioner.
166+
- A portfolio of capstones tied to your real data systems.
167+
168+
## Break/fix drills
169+
- Break path assumptions by renaming input folders.
170+
- Break schema assumptions by removing required columns.
171+
- Break API assumptions by forcing timeout values.
172+
173+
## Troubleshooting
174+
- If learning stalls: reduce scope, keep daily continuity, and ship smaller increments.
175+
- If project complexity spikes: return to the previous gate and stabilize.
176+
177+
## Mastery check
178+
You are ready to advance when you can:
179+
- describe your current phase deliverable in one sentence,
180+
- run it end-to-end,
181+
- explain where it fails and how to recover.
182+
183+
## Primary Sources
184+
- [Python Tutorial](https://docs.python.org/3/tutorial/)
185+
- [Automate the Boring Stuff](https://automatetheboringstuff.com/3e/)
186+
- [pytest getting started](https://docs.pytest.org/en/stable/getting-started.html)
187+
188+
## Optional Resources
189+
- [Exercism Python](https://exercism.org/tracks/python)
190+
- [Real Python](https://realpython.com/tutorials/python/)
191+
192+
## Next
193+
Go to [03_SETUP_WINDOWS11.md](./03_SETUP_WINDOWS11.md).

0 commit comments

Comments
 (0)