Tools First: What 50 Years of Coding Taught Me About Teaching
Why I invest weeks on terminal and Git before writing a line of syntax
You might wonder why I spend the first weeks of my coding courses on tools instead of diving into code. Students sometimes get impatient. They signed up to learn JavaScript or Python, not to configure their terminal.
Here’s the honest answer: I’ve been a developer for almost fifty years, and I’ve watched one pattern hold true across every technological shift I’ve witnessed.
Developers who invest in their tools consistently outperform those who don’t.
This isn’t something I read in a teaching book. It’s what I’ve observed firsthand—starting with UNIX terminals and vi in the 1980s, through the birth of the web in the early 90s, and into today’s world of AI-assisted coding.
What professionals actually do
If you want to understand what matters to working developers, look at what they do—not what they’re told to do.
What they build for themselves:
- Dotfiles repositories (personal configuration files, version-controlled)
- CLI utilities and shell scripts to automate repetitive tasks
- Editor plugins and extensions
- Custom workflows before they write a line of “real” code
What they write about:
- Blog posts about terminal setups and editor configurations
- Tutorials on Git workflows and automation
- Deep dives into tools they’ve mastered
What goes viral on social media:
- A post about a useful VS Code extension gets more engagement than most feature announcements
- “How I set up my terminal” posts draw crowds
- Screenshots of well-organized editor layouts
What they get promoted for:
- Improving team workflows and developer experience
- Building internal tools that make everyone more productive
- Not just shipping features, but making the process of shipping features better
First day at a new job:
- Hours configuring their development environment
- Setting up editor, terminal, and Git settings before writing product code
- Getting their tools right first
The pattern is consistent. Tools matter.
The pattern that holds
Tools change constantly. In my career, I’ve gone from punch cards to terminals to GUIs to the web to mobile to cloud to AI. The specific technologies are unrecognizable from one decade to the next.
But the developers who thrived through each transition shared one trait: they took their tools seriously. They didn’t just use their editor—they learned it deeply. They didn’t just run commands—they understood their environment.
Good tools endure. When I teach students how to cd in the terminal, I’m not teaching something trendy—it’s a command I’ve used for 45 years. Unix persists because it solves real problems. The developer who mastered the command line in the 1980s brought that same fluency to every system since.
The hardware changed. The fundamentals didn’t.
Why this matters now more than ever
With AI-assisted coding tools like GitHub Copilot and Claude, some people assume tool knowledge matters less. AI will write the code, right?
I’d argue the opposite. AI amplifies your capabilities—but only if you have capabilities to amplify.
A developer who understands Git can use AI to generate complex commit workflows. A developer who doesn’t understand Git will generate commits that break the team’s repository. AI doesn’t know if you’re doing something dangerous. It just does what you ask.
The developers who will thrive with AI are the ones who understand the environment where that AI-generated code has to live. They know what questions to ask. They can evaluate whether the output makes sense. They catch the subtle mistakes.
Tool fluency isn’t becoming obsolete. It’s becoming the differentiator.
What this means for teaching
Learning tools first isn’t a detour from “real programming.” It’s learning to think like a developer from day one.
When students understand their editor, their terminal, their version control system—when they’re fluent in the environment where they work—the actual coding becomes easier. They’re not fighting their tools while trying to learn syntax. They’re not losing work because they didn’t understand Git. They’re not confused about where their files are.
They’re working the way professionals work.
I’m not teaching this way because a curriculum guide suggested it. I’m teaching this way because I’ve watched careers unfold over decades, and I know what actually matters.
The time invested in tools pays dividends in everything built afterward.
Cynthia Teeters teaches web development and JavaScript at Raritan Valley Community College, where she’s been helping students become developers—not just coders—for over a decade.