The Original Problem
Several years ago, I stood in front of a poster board at the TIE Conference as a presenter (now Compass Partners in Learning and also my current employer) explaining why I’d spent weeks learning JavaScript. The reason was simple: I had a problem that no existing EdTech tool could solve.
I taught remedial reading at an alternative high school where personalized learning was a core initiative. Each of my students needed a customized practice plan based on their reading speed, available time, learning preferences, technology access, peer availability, skill needs, and reading level. Creating these plans took 3-5 days per cycle using paper assessments, discussions, and flow charts. The process worked, but it was time-consuming and difficult for students to complete even with extensive support.
I searched for existing tools that could handle this many variables. Nothing existed. So I learned to code.
The Solution
The tool I built was straightforward by developer standards but transformative for my classroom. It asked students a series of questions, processed their responses through if-then logic I’d mapped out, and generated a personalized reading practice plan. What took days on paper now took minutes on screen.
The 9-step process I outlined in that poster session became a template I’d use repeatedly: identify the problem, search for existing solutions, select a programming language, find resources, learn and practice, plan the components, build and test each piece, assemble and share, then refine and reflect.
Looking back, my code was clunky. I used far more if-then statements than necessary before realizing I could conceptualize the problem as a sorting mechanism. I posted the finished product to GitHub anyway, both to make it accessible and to preserve the learning process.
What Has Changed
The landscape for teacher-coders has shifted significantly since that conference presentation. The barriers to entry have lowered while the reasons to code have multiplied.
- AI-assisted coding tools have transformed what’s possible for beginners. Services like GitHub Copilot, ChatGPT, and Claude can now help teachers write simple programs, debug errors, and understand code structure without the steep learning curve I faced. A teacher can describe what they need in plain language and receive working code with explanations. This doesn’t eliminate the need to understand basic programming concepts, but it dramatically reduces the time from idea to functional tool.
- The gaps in EdTech have grown alongside the tools available. While we have more sophisticated platforms than ever, they still can’t address the specific needs of individual classrooms. A physics teacher might need a custom simulation that behaves differently than existing options. An English teacher might want a tool that tracks student progress through choice reading in a particular way. These gaps persist because EdTech companies build for broad markets, not individual contexts.
- The cost of commercial solutions has increased. School budgets face constant pressure while EdTech subscription costs climb. A teacher who can build a simple attendance tracker, assignment randomizer, or progress dashboard saves their school money and gains exactly the functionality they need without compromise.
Why Teachers Should Still Code
The original reasons I advocated for teacher coding remain valid, but several have become more urgent:
- Customization and control. Learning management systems and classroom websites still benefit from teachers who understand HTML, CSS, and basic JavaScript. The ability to customize these environments creates better user experiences for students.
- Problem-solving mindset. Planning code structure, working through logic, and thinking about user interface develops analytical skills applicable far beyond programming. These same practices improve how we design learning experiences.
- Student preparation. Teachers who code can better prepare students who code. Early exposure builds confidence and demystifies what many perceive as an intimidating skill.
- Professional opportunities. Coding experience opens doors to curriculum development roles, instructional design positions, and freelance work. EdTech companies increasingly value educators with technical skills.
- Time savings at scale. A few hours invested in building a tool can save hundreds of hours over time. Automated grading, custom student grouping, or progress tracking built to your exact specifications pays dividends throughout a school year and across multiple years.
Getting Started Now
The resources available to beginning teacher-coders have improved dramatically. FreeCodeCamp and W3Schools remain excellent starting points, now supplemented by AI assistants that can explain concepts, generate examples, and troubleshoot errors in real time.
The key difference between then and now: you don’t need to become an expert to create useful tools. AI assistance means you can focus on clearly defining what you need while getting help with implementation details. The core skill isn’t memorizing syntax but rather understanding logic, planning structure, and testing thoroughly.
Start with something simple that solves a real problem in your classroom. Maybe you need a random group generator with specific constraints. Perhaps you want to create custom flashcards that behave differently than existing apps. Or you might need a way for students to track their progress through choice-based learning that reflects your specific approach.
Break the project into smaller pieces. Build one component at a time. Test frequently. Ask AI tools for help when you get stuck. Share your work with other teachers who might benefit.
The Broader Picture
The poster session I presented years ago argued that basic coding should be considered a fundamental skill for 21st-century educators, similar to recording a video or creating a slide presentation. That argument has only strengthened.
We operate in an era where technology mediates much of education, yet many teachers feel constrained by the tools provided to them. Learning to code is learning to create rather than merely consume educational technology. It’s taking an active role in shaping the digital learning environments our students inhabit.
The gaps in EdTech exist because every classroom is unique. Commercial tools serve broad needs reasonably well but rarely meet specific contexts perfectly. Teachers who can code fill these gaps for themselves and their students, creating tools that work precisely as needed.
This doesn’t mean every teacher needs to become a software developer. But every teacher should understand enough about how digital tools work to modify them, combine them in novel ways, or build simple solutions when nothing else fits. With AI assistance lowering the barrier to entry, that capability is more accessible than ever.
The reading tool I built years ago still works. Students can still use it to generate personalized practice plans. But more importantly, building that tool taught me to see problems differently, to recognize when a technical solution might save time and improve outcomes, and to believe I could create that solution myself.
That’s the real reason all teachers should code. Not because we all need to become programmers, but because understanding how to create technology gives us agency in educational spaces increasingly defined by it.


Leave a comment