learning-plan.org
Education Data Analyst — Mid-Career Track
Technical & Statistical Depth + Domain Fluency Benchmarks Non-AI-Assisted Verification Standard | 24-Month Framework | NYCPS Focus
Core Principle
Every benchmark in this document must be met without AI assistance. That is the test. You can use AI to learn, to check your work, and to accelerate exploration. You cannot use it to pass a gate. The difference between knowing something and being able to retrieve it via Claude is the difference between a senior analyst and a liability.
How to Use This Plan
This plan is organized into four phases spanning 24 months. Each phase has a gate: a set of non-AI-assisted tasks you must complete before proceeding. The gates are not theoretical—they are the things a hiring manager will ask you to demonstrate in an interview or on a skills assessment. The plan is built around three parallel tracks that develop simultaneously:
- Technical depth: Python, R, SQL, and reproducible research workflow
- Statistical literacy: The ability to select, apply, and explain methods correctly
- Domain fluency: NYCPS-specific knowledge that makes your analysis credible and legible to education stakeholders
Revenue Constraint — Governing Priority as of 2026-03-27
Revenue is the inescapable constraint facilitating everything else. This must be named explicitly in the plan and applied as a filter on every planning decision.
What this means in practice:
- Every week must have at least one task with a plausible revenue path: a client deliverable, a portfolio artifact that supports a job application, a skill that directly increases earning capacity, or a prototype that could become a product or service
- Exploratory work (including prototypes like classroom-manager) is not banned, but it must be budgeted explicitly and must not displace revenue-oriented work by default
- The learning plan’s 24-month arc is correct, but it will not produce income for 12–18 months without deliberate acceleration or parallel income sources
Revenue paths in order of proximity:
- Freelance data analysis or consulting work using current skills (R/Quarto, NYCPS domain fluency, school data) — actionable now
- Portfolio-driven job applications — actionable in 3–6 months with the CCR project as the anchor
- classroom-manager as a product — uncertain timeline; requires technical validation, a customer, and a pricing model before it deserves significant time
Discipline rule: If a deep-work session is being pulled toward something with no near-term revenue path, name it, budget it (maximum 2 hours/week), and return to plan.
Self-Knowledge Evidence — Updated 2026-03-27
- Structured tasks with explicit deadlines work. The R audit was difficult to start but effective once begun. This is the model for all future gate tasks.
- Interesting ideas can override the plan entirely. classroom-manager consumed most of one week’s deep-work time. This is a real execution risk.
- Working with a tutor provides the structure that converts ideas into starts. Without it, starting is the failure mode.
- Deep work is available and real. The quality of focus once engaged is high. The problem is direction, not capacity.
Current Evidence Snapshot — Updated 2026-03-27
Completed This Week
- R audit completed under timed, no-AI conditions (2 hours, with reference documentation only). Results recorded and published at posts/2026_03_20__r_audit/index.qmd.
- classroom-manager multi-agent prototype initiated: a role-based agent system treating teaching as team-shaped work, testing whether agent handoffs can reduce teacher glue work across planning, curriculum, assessment, and communication. Unpublished and exploratory. Revenue path not yet established.
Confirmed Strengths — As of 2026-03-27
- R + Quarto workflow: operational, reproducible, supports rendered analysis posts
- CSV loading and tidyverse inspection: Strong (confirmed under audit)
- Quarto render to HTML with inline R: Strong (confirmed under audit)
- Starting and sustaining structured tasks once begun: strong, given a deadline
- NYCPS domain knowledge: sufficient for analysis work; needs written recall practice for interview readiness
Confirmed Gaps — As of 2026-03-27
- dplyr pipeline fluency: Shaky — takes too long, too many micro-decisions, inconsistent syntax recall
- ggplot2: Shaky — can produce basic output; labels, scales, facets require reference
- Linear regression in R: Gap — lm() not reached in audit; written interpretation of summary() output not practiced
- Statistics writing from memory: Gap — p-value, confidence interval, effect size, regression coefficient interpretation not tested
- SQL under independent recall: not yet audited
- Python under independent recall: not yet audited
- NYCPS domain knowledge from memory (not recognition): not yet tested
Remaining Phase 0 Tasks
Immediate Planning Consequence — Updated
Phase 0 is nearly complete for R and Quarto. The remaining gap is linear regression. SQL, statistics, and domain audits are the next three concrete tasks. Each is short. Phase 0 can close within 1–2 weeks if revenue-oriented work runs in parallel rather than these audits being treated as prerequisites for everything else.
Do not let Phase 0 become a holding pattern. The CCR project and portfolio work can begin in parallel with audit completion.
Phase 0 — Audit Weeks 1–3
Before You Begin
Establish an honest baseline. No learning yet. Just measurement.
The Audit Tasks
Do each of these without AI assistance. Record where you get stuck — that's your Phase 1 curriculum.
Python Audit (2 hours, no AI, no Stack Overflow)
- Load a CSV of NYCPS data into a pandas DataFrame
- Filter rows by a condition, group by a column, compute a mean
- Join two DataFrames on a common key
- Handle a column with mixed types or missing values
- Plot a bar chart with proper axis labels and a title
- Write a function that takes a DataFrame and returns a summary
- Connect to a local PostgreSQL database and run a query
R Audit (2 hours, no AI)
- Load a CSV and inspect its structure using tidyverse
- Write a dplyr pipeline: filter, select, mutate, groupby, summarize
- Produce a ggplot2 bar chart with correct labels
- Run a linear regression, call summary(), and explain each component of the output in writing
- Render a Quarto document with inline R output to HTML
Results — Completed 2026-03-24 14:00-16:00
Difficult to start but productive once begun. Debate over approach added time and complexity beyond what the task required.
| Task | Rating |
|---|---|
| Load a CSV and inspect its structure using tidyverse | Strong |
| Write a dplyr pipeline: filter, select, mutate, groupby, summarize | Shaky |
| Produce a ggplot2 bar chart with correct labels | Shaky |
| Run a linear regression, call summary(), and explain each component of the output in writing | Gap (not reached) |
| Render a Quarto document with inline R output to HTML | Strong |
Remaining: Linear regression task must be completed and appended to the audit post before Phase 0 is closed.
SQL Audit (1 hour, no AI)
- Write a query with a JOIN, a WHERE clause, and a GROUP BY
- Write a subquery
- Explain what an index does and when you'd add one
Statistics Audit (written, 45 minutes)
Answer these in writing, as if explaining to a smart non-statistician:
- What does a p-value actually mean? What does it NOT mean?
- A school's test scores went up 5 points. Is that meaningful? What would you need to know?
- What is the difference between correlation and causation? Give an example from education data.
- What is chronic absenteeism? How is it calculated? Why does the 20% threshold matter?
Domain Audit (written, 30 minutes)
- Name and describe five data systems used in NYCPS
- Explain how a school's Quality Review score is determined
- What is a NYSSIS ID and why does it exist?
- List the demographic subgroups required for ESSA reporting
- What is a D75 school?
Audit Output
After completing the audit, score yourself: Strong / Shaky / Gap for each area. The gaps are your Phase 1 priorities. Be ruthless. Shaky means you needed to think too hard or hedged your answer. Gap means you couldn't do it.
Phase 0 Exit Criteria — Updated 2026-03-27
Phase 0 is complete when all of the following are true:
- You have written Strong / Shaky / Gap ratings for R, Python, SQL, statistics, and domain knowledge
- You have at least one real artifact demonstrating your current R / Quarto workflow ✓ (r_audit post)
- You can name the next one or two weakest areas without hedging ✓ (linear regression, statistics writing)
- Your weekly plan stops trying to advance every area equally
- The linear regression R task is completed and written up
Phase 1 — Foundation Months 1–5
Close the Gaps, Narrow the Stack
Achieve reliable, unassisted competence in a focused core. No new tools. No side projects.
What you are deferring
Emacs configuration, Positron exploration, Django feature development, new Kaggle competitions, gh-pages customization. These are real, useful things. They are Phase 2 and 3. Every hour spent on them in Phase 1 is a debt against your foundation.
Also explicitly deferred: classroom-manager prototype development beyond a bounded 2-hour/week exploration budget. It is a real idea. It is not a revenue source yet. It does not belong in the primary work track until it has a customer, a pricing model, or a direct path to income.
Stack Decision: What You Are Committing To
For Phase 1, your working stack is exactly this, nothing else:
| Benchmark | What you must do without AI assistance | Verification |
| Primary language | Python with pandas, matplotlib, seaborn, SQLAlchemy | Can produce output from scratch |
| Secondary language | R with tidyverse, ggplot2, broom | Can produce output from scratch |
| Reporting | Quarto (parametrized reports, HTML output) | Can render from scratch |
| Database | PostgreSQL via psycopg2 or SQLAlchemy | Can connect, query, load |
| Version control | Git + GitHub (command line, not GUI) | Can commit, branch, push, resolve conflict |
Phase 1 Immediate Priority Order — Updated 2026-03-27
For the next several weeks, prioritize in this order:
- Complete Phase 0 remaining audits: linear regression in R, SQL, statistics, domain — each is short; all should be done within one week
- Begin CCR project in parallel — do not wait for perfect audit completion; the CCR project is the primary portfolio and revenue-path artifact
- Convert current R/Quarto momentum into repeatable, no-AI statistical workflow fluency — practice dplyr and ggplot2 through the CCR analysis work itself, not through drills
- Restore Python and SQL recall through the CCR pipeline — build the Python CCR data pipeline as the Python fluency exercise
Phase 1 Technical Benchmarks
R: Statistical Workflow Fluency
| Benchmark | What you must do without AI assistance | Verification |
| Data wrangling | tidyverse pipeline: filter, mutate, groupby, summarize, pivotlonger/wider | Timed exercise |
| Visualization | ggplot2 chart with correct geom, scales, labels, theme; faceted by a variable | Portfolio artifact |
| Modeling | lm() with multiple predictors; interpret coefficients, R-squared, residuals | Written explanation |
| Reporting | Parametrized Quarto doc with inline R, tables via kableExtra or gt | Published output |
| Reproducibility | renv lockfile, seed-set, no absolute paths in code | Code review |
SQL: Operational Fluency
| Benchmark | What you must do without AI assistance | Verification |
| Joins | Write LEFT, INNER, FULL OUTER, SELF join; explain when each is appropriate | Whiteboard |
| Aggregation | GROUP BY with HAVING; distinguish WHERE vs HAVING | Written exercise |
| Window functions | ROWNUMBER, RANK, LAG, LEAD, running totals with OVER/PARTITION BY | Timed exercise |
| CTEs | Write a multi-step CTE; explain why CTEs improve readability | Code review |
| Subqueries | Correlated subquery; explain when a subquery beats a join | Timed exercise |
| Performance | Explain what EXPLAIN ANALYZE output shows; when to add an index | Verbal/written |
Python: Data Pipeline Fluency
You must be able to build the following pipeline from scratch, in under 90 minutes, without assistance:
| Benchmark | What you must do without AI assistance | Verification |
| Ingest | Load a multi-sheet Excel file or messy CSV, detect encoding, parse dates, coerce types | Timed exercise |
| Clean | Identify and handle nulls, duplicates, outliers, inconsistent categoricals | Code review |
| Transform | Multi-condition filtering, window calculations, reshaping (wide/long) | Timed exercise |
| Aggregate | GroupBy with multiple aggregation functions, custom apply() | Timed exercise |
| Join | Left, inner, and anti-join; diagnose a fan-out; explain when to use each | Whiteboard/verbal |
| Export | Write to CSV, to PostgreSQL table, and to a Quarto-compatible format | Timed exercise |
| Document | Inline comments, docstrings, README describing what the pipeline does | Code review |
Python: Debugging Without Assistance
You must be able to diagnose and fix the following error types by reading the traceback alone:
- KeyError on a DataFrame column (likely a whitespace or case issue)
- MergeError or unexpected row count after a join (likely a duplicate key)
- TypeError from mixed types in a column operation
- SettingWithCopyWarning — explain what it means and fix it correctly
- A PostgreSQL connection timeout or authentication error
Phase 1 Statistics Benchmarks
Statistics is the area where novice analysts most commonly fake competence. These benchmarks are designed to expose that. Each must be demonstrated in writing or verbally without notes.
Core Concepts — Must Explain Correctly to a Non-Statistician
| Benchmark | What you must do without AI assistance | Verification |
| Mean vs. median | When does mean mislead? Give an education data example where median is more honest. | Verbal |
| Standard deviation | Explain what 1 SD means in a distribution of school attendance rates. | Written |
| Confidence interval | What does a 95% CI actually mean? What does it NOT mean? | Written |
| p-value | Explain correctly — most analysts explain this wrong. What is the null hypothesis? What does p < .05 actually say? | Written |
| Effect size | Why is a statistically significant result not necessarily meaningful? Explain Cohen's d with a test score example. | Written |
| Correlation | What is r = .3 between attendance and test scores telling you? What can't you conclude? | Verbal |
| Regression coefficient | In a model predicting graduation rate from attendance and SES, interpret a coefficient of 0.4 on attendance. | Written |
| Confounding | Give two examples from education data where a confound changes the interpretation of a finding. | Written |
Applied Statistics: You Must Be Able to Do These
- Run a simple and multiple OLS regression in both Python (statsmodels) and R (lm()); interpret output identically from both
- Check regression assumptions: linearity, homoscedasticity, normality of residuals, no multicollinearity — and know what to do when each is violated
- Run a chi-square test of independence on categorical education data; interpret the result
- Calculate and interpret Pearson and Spearman correlation; know when to use each
- Distinguish between descriptive, inferential, and predictive analysis — and know which is appropriate for a given stakeholder question
- Recognize when a dataset is too small for the claims being made
Phase 1 Domain Fluency Benchmarks
These are the non-negotiable NYCPS knowledge requirements. If you cannot speak to these without hesitation, you will not be taken seriously in an interview with a district research director.
Data Systems — Know These Cold
| Benchmark | What you must do without AI assistance | Verification |
| ATS | Attendance Tracking System — what it tracks, who enters data, its known reliability issues | Verbal explanation |
| STARS | Student Transcript and Academic Reporting System — Regents records, graduation data, credit accumulation | Verbal explanation |
| NYSSIS ID | Statewide Student Identifier — why it exists, how it differs from OSIS/student ID | Verbal explanation |
| BEDS | Basic Educational Data System — school-level enrollment and staff data for state reporting | Verbal explanation |
| SESIS | Special Education Student Information System — what it contains, why access is restricted | Verbal explanation |
| DOE Data Site | What data is publicly available, what the download formats are, known gotchas | Demonstrated use |
| NYC Open Data | Schools-relevant datasets, how to query via API or direct download | Demonstrated use |
| nycschools package | What it provides, its data currency limits, how to extend it | Demonstrated use |
Accountability & Metrics — Know These Cold
| Benchmark | What you must do without AI assistance | Verification |
| Chronic absenteeism | Federal definition (20% threshold), NYC calculation, why it replaced raw attendance rate, equity implications | Written explanation |
| ESSA subgroups | All required subgroups, minimum n-count for reporting, suppression rules | From memory |
| School Quality Report | What it measures, how scores are calculated, what principals actually do with it | Verbal |
| Regents exams | Which are required for graduation, score thresholds, local diploma vs. Regents diploma distinction | Verbal |
| ELL/MLL classification | NYSITELL, NYSESLAT, reclassification criteria, why this population is analytically tricky | Written |
| SWD subgroup | IEP vs. 504, LRE, why graduation outcomes differ, what the data does/doesn't capture | Written |
| Cohort graduation rate | 4-year vs. 6-year, August graduates, GED vs. diploma, how transfers affect cohort | Verbal |
| Community District vs. Network | How schools are organized administratively; why this matters for aggregation | Verbal |
Political & Organizational Context — This Is What Separates Analysts
A technically correct analysis that ignores organizational reality is useless. You must be able to speak to:
- Why school-level data comparisons are almost always misleading without context (demographics, school type, selection effects)
- The difference in how principals vs. superintendents vs. central office staff use data — and what they distrust
- Why teachers are often skeptical of attendance data and what legitimate complaints they have
- Which metrics are known to be gamed and why — and how to account for that in analysis
- The history of mayoral control and how it shapes DOE data governance
- Charter vs. district data comparisons: what's valid, what's not, why it's politically charged
Phase 1 Gate — You Must Pass All Three Before Phase 2
GATE 1A — TECHNICAL
Complete a data analysis of NYCPS public attendance data from raw download to published Quarto report. No AI assistance. Includes: data cleaning pipeline in Python, summary statistics, one regression, one visualization in both Python and R, written interpretation of findings. Time limit: one full working day.
GATE 1B — STATISTICAL
Write a two-page methodology memo explaining the statistical approach used in your Gate 1A analysis. Justify every choice. Acknowledge every limitation. A statistician should be able to read it and not find errors of interpretation.
GATE 1C — DOMAIN
Produce a one-page data dictionary for the dataset used in Gate 1A. Every field defined. Every known data quality issue noted. Every metric explained in terms a principal could understand. Do this from knowledge, not by copying documentation.
Phase 2 — Statistical Depth Months 6–14
Phase 2 moves from applying methods to understanding when methods break.
Specialization and Portfolio Construction
Develop genuine analytical depth in education data. Publish substantial, reproducible analyses. These are the published analyses that constitute your portfolio. Each must be reproducible, documented, and publicly accessible on GitHub Pages or a Quarto Pub site.
You Must Be Able to Explain and Detect:
- Simpson's Paradox — give an education data example and demonstrate it in data
- Ecological fallacy — why school-level correlations can't be applied to students
- Selection bias — why schools that opted into a program are not comparable to those that didn't
- Regression to the mean — why the lowest-performing schools 'improve' without intervention
- Ceiling and floor effects — why standardized tests compress variance at the extremes
- Multiple comparisons problem — what happens when you test 30 hypotheses at p < .05
The CCR Project + Supporting Technical Depth
One deep project with four outputs. Supporting technical additions on a disciplined schedule.
Phase 2 Technical Additions
Phase 2 reintroduces deferred tools on a disciplined schedule, only after Phase 1 gates are passed.
| Benchmark | What you must do without AI assistance | Verification |
| Month 6–7 | Git workflow: branches, pull requests, meaningful commit messages, .gitignore hygiene | GitHub portfolio |
| Month 7–8 | gh-pages publishing: Quarto site or R Markdown site with multiple reports | Live published site |
| Month 9–10 | Advanced pandas: method chaining, custom aggregations, memory-efficient operations on larger datasets | Timed exercise |
| Month 10–11 | Great Tables (Python) or gt (R): publication-quality tables for principal and superintendent audiences | Portfolio artifact |
| Month 12–14 | Positron + Emacs: configured, productive environment — not a distraction, a tool | Daily use |
WHAT REMAINS DEFERRED IN PHASE 2
Django integration: nobody hiring for education data roles cares about this. Cut it entirely. Geospatial analysis (geopandas, sf): valuable but not core to the CCR project. Reintroduce in Phase 3 if a specific stakeholder question requires it.
Methods to Add in Phase 2
- Logistic regression: predict a binary outcome (e.g., graduated yes/no); interpret log-odds correctly
- Difference-in-differences: conceptual understanding of quasi-experimental design in education policy
- Interrupted time series: before/after analysis of a policy change using longitudinal school data
- Clustering: k-means on school characteristics; interpret and critique the output honestly
- Dashboards: build one interactive dashboard in R Shiny or observable/Quarto; know its limitations
Phase 2 Portfolio: The CCR Project
One project, four published outputs. Each must be reproducible, documented, and publicly accessible on GitHub Pages or Quarto Pub.
OUTPUT 1 — CCR Metric Reconstruction Pipeline
Reproduce the CCR score from publicly available citywide results data using the Appendix A reference tables from the Educator Guide. Document every decision point: how the six scoring categories interact, how the associate degree category overrides others, how the six-category cap works, how suppression rules (n=15 general, n=10 ELL/SWD grad rates, n=5 lowest third citywide) are applied. Deliverable: a Python pipeline that takes school-level input and outputs CCR scores, validated against published values.
OUTPUT 2 — Comparison Group Approximation
You will not have student-level data to run the full value-added model. Be explicit about that. Use publicly available school-level characteristics (ENI, % ELL, % SWD, % by race, prior graduation rates) to build a regression approximating the comparison group methodology. Compare estimates to published comparison group values. The point is not to match perfectly — it is to demonstrate you understand what the model is doing and where your approximation breaks down. Deliverable: a documented regression with honest residual analysis and a clear limitations section.
OUTPUT 3 — Stakeholder Dashboard
A Quarto dashboard or Shiny app for a principal or network data manager. User selects a school and sees: CCR score vs. comparison group estimate; decomposition by the six CCR categories; comparison to borough and citywide averages; racial subgroup breakdowns for CCPCI and PSER where available; year-over-year trend if the data supports it. Deliverable: a live, published, interactive dashboard. Tables via Great Tables (Python) or gt (R) — the people reading this are principals and superintendents; beautiful tables matter. |
OUTPUT 4 — Policy Memo
One page, written for a superintendent or Student Pathways director. What does the CCR metric reward? What does it miss? Where do the incentives diverge from the stated goals of NY State's new graduation standards? What should a school leader attending to the broader rollout understand that the metric does not surface? This output demonstrates judgment, not just technical skill — it is often the one that gets you the interview. |
Metric Variable Name Filtering — Working Reference
When filtering the citywide school quality data for CCR-related metrics, use explicit named patterns rather than a single complex regex. The data's ~1.49M rows span Report Years 2016–2025; CCR metrics appear from 2024 onward.
ccr_patterns = [
r'^ccr_', # CCR score metrics (e.g., ccr_4y_all, ccr_4yr_l3c_hs)
r'^ccpci_', # College and Career Preparatory Course Index
r'^pser_', # Postsecondary Enrollment Rate
r'^coll_pers', # College persistence
]
combined = '|'.join(ccr_patterns)
ccr_data = data[data["Metric Variable Name"].str.contains(combined, regex=True, na=False)]Prefer this over a single clever pattern: it is readable, maintainable, and self-documenting to a reviewer.
Phase 2 Additional Portfolio Ideas
These are the three published analyses that constitute your portfolio. Each must be reproducible, documented, and publicly accessible on GitHub Pages or a Quarto Pub site.
Portfolio Idea — Chronic Absenteeism Analysis
A longitudinal analysis of chronic absenteeism rates across NYC schools, 2018–present (including COVID disruption). Borough/district breakdowns. Demographic subgroup comparisons with appropriate caveats. Regression identifying school-level predictors. Written for a superintendent audience. Methodology appendix written for a research audience. These are two different documents. |
Portfolio Idea — Regents & Graduation
An analysis of cohort graduation rates and Regents passage by school type (district, charter, transfer, D75). Honest about what the data can and cannot show. Includes a clearly stated limitations section. Visualizations appropriate for a policy brief. At least one finding that is counterintuitive or that challenges a common narrative.
Portfolio Idea — Your Choice, Stakeholder-Driven
Pick a question a specific real stakeholder (principal, parent coordinator, network data manager) has actually asked you or that you know they care about. Design the analysis to answer their question, not to demonstrate your techniques. Publish both the analysis and a one-page plain-language summary. This piece demonstrates judgment, not just skill. |
Phase 2 Gate — CCR Project Review
All four CCR project outputs published. Each includes: a reproducible code repository, a rendered Quarto document or live dashboard, a plain-language summary, and a methodology note. Submit to one peer — ideally someone with education research background — for a written critique. Incorporate at least three substantive changes based on that feedback before proceeding to Phase 3. Target: a working version of all four outputs within 8–10 weeks of starting Phase 2.
- Explain how a school's Quality Review score is determined
- What is a NYSSIS ID and why does it exist?
- List the demographic subgroups required for ESSA reporting
- What is a D75 school?
Phase 3 — APPLICATION Months 15–24
Credentialing, Network, and Income
Convert competence into verifiable credentials and market-facing presence.
Credentialing Strategy
Credentials matter in institutional education hiring. Your published portfolio is your primary credential, but it needs to be legible to HR gatekeepers. The following are the minimum threshold:
- GitHub profile with consistent activity, clean repositories, and READMEs that explain what each project does
- A personal site or Quarto Pub profile that presents the portfolio as a coherent body of work, not just a list of files
- At least one piece of work cited or referenced outside your own channels — a blog post by someone else, a conference poster, a mention in a district newsletter
- A one-page technical resume that lists specific tools and specific outputs, not generic skill claims
On Formal Degrees
Many senior analyst postings require an MA or EdD in education research, policy, or a related field. Your NYCPS experience and published portfolio can substitute for this in some organizations — charter networks, ed-tech companies, and nonprofits are more flexible than large districts. If your target is a DOE central office or research role, a graduate credential will likely be required eventually. Don't let this paralyze Phase 3, but plan for it honestly. |
Target Role Profiles
These are the roles you are positioning for. Understanding their differences shapes what you emphasize in your portfolio and how you describe yourself.
| Benchmark | What you must do without AI assistance | Verification |
|---|---|---|
| Data Analyst, Charter Network | Smaller team, broader scope, faster-moving. High value on Python/SQL fluency, dashboard building, quick turnaround. Domain knowledge valued but not assumed. | Most accessible entry point |
| Research Analyst, NYC DOE | Slower hiring, more formal, often requires prior DOE experience or graduate credentials. Values methodological rigor and knowledge of DOE sy | 18–36 month target; credential likely needed |
| Senior Analyst, Education Nonprofit | stems. Policy-facing. Values communication as much as technical skill. Published work is a strong differentiator. Smaller orgs more flexible on credentials. | Strong fit for your profile |
| Data Strategist / Manager | Hybrid technical-leadership role. Requires both technical depth and ability to advise others. Usually requires several years of analyst experience first. | Phase 4 target, not Phase 3 |
| Ed-Tech Company (data/analytics) | Most similar to tech industry norms. Strong Python/SQL emphasis. Domain knowledge a differentiator over generalist candidates. Often remote. | Good fit; portfolio more important than credentials |
Network Strategy
In education data, the field is small enough that network is decisive. The following are not optional:
- Attend at least one NYAS, SREE, or AERA conference in Phase 3 — not to present, to meet people
New York Academy of Sciences Society for Research on Educational Effectiveness American Education Research Association
- Identify 5–8 people doing the work you want to do. Read their published work. Engage with it in writing. Ask a specific, non-generic question.
- Connect with NYCPS data managers and research directors you've interacted with as a teacher. A warm introduction from a former colleague is worth more than 20 cold applications.
- Post about your published work — briefly, specifically, with a link. LinkedIn is not beneath you. One specific post about a finding is better than a profile update.
- The Office of Student Pathways is an explicit target audience for the CCR project. If the dashboard or memo is good, it is a direct conversation starter with the people iterating on the metric.
Phase 3 Gate — Readiness Criteria
GATE 3 — MARKET READINESS
You are ready to apply when: (1) The CCR project is published and has been read and critiqued by at least one person outside your network. (2) You can walk through any output in a 20-minute technical screen without notes. (3) You can answer 'what are the limitations of this analysis?' before the interviewer asks. (4) You have applied for at least 3 positions and completed at least 1 technical screen — even if you are not ready. The screen will tell you more than this document can. |
Appendix: Reference Benchmarks
AI Use Policy for This Plan
This is the working rule: AI is a tutor, not a ghostwriter.
- AI-permitted use: Ask it to explain a concept, check your understanding of a definition, suggest resources, review your written explanation of a method
- AI-permitted use: After you've written code that works, ask it to critique or optimize it
- AI-permitted use: Rubber duck debugging — describe a problem to AI after you've genuinely tried to solve it
- AI-prohibited use: Writing any code that goes into a portfolio piece before you understand it line by line
- AI-prohibited use: Producing any written analysis, methodology note, or data dictionary that you cannot regenerate independently
- AI-prohibited use: Passing any gate described in this document
The Self Deception Risk
The specific failure mode to watch for: you use AI to build something, it works, you feel competent, but you haven't actually learned anything. Six months later you're in an interview and can't explain your own portfolio. This is the most common and most damaging misuse of AI as a learning tool. The antidote is to rebuild things from scratch after AI helps you understand them — not once, but repeatedly.
Recommended Resources (Curated, Not Exhaustive)
Statistics
- OpenIntro Statistics (free) — start here; covers everything in Phase 1 without calculus
https://openintro-ims.netlify.app/ Introudction to Modern Statistscs cloned
- Statistical Rethinking by Richard McElreath — for Phase 2 depth; Bayesian, but the conceptual framework is the value
- Common statistical mistakes in education research — search for work by Andrew Gelman and Kristin Rowan on replication and misuse of p-values in education studies
Python / Data
- Python for Data Analysis by Wes McKinney (pandas author) — the authoritative reference https://wesmckinney.com/book/ cloned
- Kaggle's free pandas course — mechanical but fast for filling gaps
- Mode Analytics SQL tutorial — covers window functions with real examples
R / Visualization
- R for Data Science by Hadley Wickham (free online) — the standard curriculum
- Fundamentals of Data Visualization by Claus Wilke (free online) — the conceptual layer that ggplot2 skills need
- Quarto documentation — read the official docs, not tutorials; the docs are good
Education Data / Domain
NYSED data portal and technical documentation — read the actual methodology notes, not summaries
NYCPS Educator Guide for School Quality Reports, Appendix A — your primary reference for CCR scoring rubric and metric variable name definitions
Urban Institute education data resources — high quality, often city-specific
CREDO studies on charter school performance — read to understand methodological debates in the field, not just findings
NYU Steinhardt and Teachers College working papers — how education researchers in your city frame questions
Monthly Review Checklist
At the end of each month, answer these without AI:
- What can I do now that I could not do 30 days ago? Be specific.
- What did I try to do this month that I could not do? What specifically blocked me?
- Did I use AI as a crutch at any point? Where? What should I do instead?
- Is there something in my stack I am still just pattern-matching without understanding? Name it.
- What is the one technical thing I will master completely in the next 30 days?
The wave favors those who know things deeply, not those who can access things quickly.
Build depth. The tools will keep changing.