<img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?tid=2613694256380&amp;pd[em]=<hashed_email_address>&amp;noscript=1">
Get Started

Undoing and Redoing

Stefanie Ward, Aug, 11 2016 | 1 min read

  

Before I learned to code, I learned to knit. The two activities have a lot in common. Knitting has a limited number of stitches; coding, a limited number of commands. With these limited blocks, people build massive projects with a dizzying array of possibilities. Both start with easy projects that are easy indeed and progress into more complex projects that discourage the beginner. And both are remarkably easy to ruin late in the game.

As a beginning knitter, I would respond to any bad mistake by destroying the project and starting over. If I dropped a stitch in a way that could unravel three feet of scarf, then unravel three feet of scarf I would, right then and there. If it wasn’t perfect from the beginning, it wasn’t worth saving. By the time I moved beyond scarves, I stopped making mistakes on that scale, and I accepted the smaller irregularities without ever considering whether they could be fixed.

The first time I taught a knitting class, this method fell apart (worse than any of my scarves!)

My students, a handful of eager middle schoolers, didn’t have the time to redo three feet of scarf every time they made a crucial mistake. They only had the time to undo down to the mistake itself and start from there. It was left to me, the experienced (if not expert) knitter to try to salvage the rest. Now, knitting is pretty unforgiving on this front. It’s very difficult to recover from a hole unless you 1) unravel past the hole, 2) unravel to an even, exact line of stitches, 3) distinguish those loops from the loops holding them in place, and 4) keep your clean row from falling apart while you 5) gently nudge the knitting needle back in place. Oh, and even if you do all these things perfectly, you’ll usually twist a few stitches in putting them back on, leaving a subtle scar in the fabric.

It would have been so much easier to start over.

But after a few times salvaging my students’ projects, I noticed something.

I could now tell the difference between the loops that were stitches to put back in place and the loops that should be left alone.

I could now recognize a dropped stitch before it became a hole later on, and I could usually fix it before it became a problem.

I could even tell by the angle of the loops whether they were twisted or straight.

I learned so much more by fixing mistakes than by getting it right the first time.

You’ll see where I’m going here. We’ve gotten into the frustrating stage of coding where simply starting over isn’t a great solution, but fixing mistakes can lead to worse mistakes, and ends up in scary, ugly places. But even now, I’m understanding more and more by fixing mistakes than I would ever understand by getting it all right on the first try. I look forward to the day when I recognize the pattern of a rails app as intimately as I recognize a stocking stitch.

You might also like ...

8 Tips to Reading Documentation: A Newbie’s Guide

Have you ever been on the verge of tearing your hair out trying to figure out why a line of code is failing? It’s time to turn to doc...

Michele Barard   |   2 min read

Read More

Announcing Hartford as next TTS campus, launching early 2019!

Tech Talent South is coming to Connecticut to provide residents with the skills needed to fill in-demand, high-tech jobs that employe...

Meagan Michal   |   1 min read

Read More

Excited For This New Journey

Excited For This New Journey

Robert Cunningham   |   1 min read

Read More