Skip to content

Red, Green, Fluent

Day 22. Week 5. Test-driven development, in theory, is a topic you could spend a career going deep on. We got a morning.


A Morning With TDD

That's the tension with a lot of these lecture days — the topic has an entire professional culture behind it, and you get a compressed version: here's the concept, here's the syntax, now make it pass. Test-driven development is like that. There's a whole philosophy under the hood — write the test first, watch it fail, write the minimum code to make it pass, refactor, repeat — and we touched maybe the surface of it.

But I think that was actually enough for where I am right now. I didn't need to become a TDD purist today. I needed to understand what a test is, why you'd write one before the code it's testing, and how that loop fits into an actual professional workflow instead of feeling like busywork tacked onto the real assignment. I got that. I got it working. That's a win for a single morning.


Pair Programming, Finally

The afternoon was the better half of the day. We did pair programming for the first time, and I got paired with a younger classmate I don't normally get much time with — different team, different orbit in the cohort.

It was a relief just to be out of lecture format. Working a problem out loud with another person, talking through the logic in real time instead of absorbing it silently off a slide, is a different kind of learning. And after we finished the problem, we actually got a few minutes to just talk — not about code, just about who he is, what he's doing here. Small thing, but it mattered. I rarely get that with people outside my immediate team, and the cohort feels a little more like a cohort when that happens.


The Briefing That Didn't Land

Then there was the afternoon briefing, which was billed as being about consulting and turned out to be about historical team dynamics. The presenter clearly loved the material — you could tell she'd gone deep on it — but I sat there not entirely sure what I was supposed to walk away with. Not every session is going to land for every person, and this one just wasn't mine.


The Fluency Is Coming

The thing I keep noticing, more each week, is that I can't track my inputs anymore. Early on, learning to code felt like learning a language the way you track a foreign language at the very beginning — you can count it. This lecture, that video, this line of code, that one exercise. Every exposure was distinct enough to log.

I'm past that now. I've typed too much Python and JavaScript, read too much of both, debugged too much of my own broken logic across algorithms and my own projects, to separate any one exposure from the pile. It's not a list of inputs anymore. It's become the water I'm swimming in.

That's not mastery. I want to be clear about that — I still get bracket errors, I still hit walls on problems I should be able to see through immediately. But it's fluency, or the early edge of it. The friction is dropping. I'm looking things up less. I recognize more shapes before I've fully read them. And when I do hit something unfamiliar, I recover faster than I did a month ago.

Not a spectacular day. But a real one. Testing got introduced, pair programming got its first real rep, and somewhere underneath all of it, the language is quietly becoming less foreign. Just got to keep going.