About two years ago, I took 2 courses on Edx.org by MIT about Python, and Python for Data Science: I loved it. I started having fun creating my own website in Flask and I keep messing around with Python, for smaller scale projects.
More recently I took up knitting. I followed an online training on a YouTube channel and I slowly learnt the ABCs of knitting. I thought programming and kitting are two activities a world apart, but… are they really?
The more I knit the more I realise that knitting and programming share loads of interesting commonalities, and that I can become a better programmer if I assimilate the principles of knitting.
No Patterns, No Party
The first step to start a knitting project is to find a pattern to follow. As a beginner you won’t likely start by creating your own patterns, unless you want to end up like me with a sweater with a neck opening that could fit two people. In programming it’s important to establish the structure of your code before a single line has been written. It doesn’t need to be a 30 pages plan, but there should be something layed out. As you begin to hone your skills it is better to stand on the shoulders of giants to first learn how experts get things done.
A good tradesman has good tools
Patterns come with very useful instructions, ranging from the weight and quantity of yarn needed to the size and type of needles. You don’t want to get to the hardest bit of a project only to find out you cannot proceed without that particular needle. Odds are you already reached a critical point while developing a functionality, when you realise you need a library that will force you to revisit a lot of your code. Evaluating knitting tools can get you into the habit of asking yourself the right questions before you get stuck in.
Know your pace, Make less mistakes
Knitting when you are tired or unfocused is a recipe for disaster. In my latest project, I was averaging 2 missed stitches per episode of Westworld. When you program while being tired or distracted, the quality of your output is guaranteed to suffer. Knitting teaches you to pace yourself, to recognise a sudden dip in concentration and to slow down to avoid mistakes: a good skill to develop in programming. Some people call it mindfulness: look it up if you are interested.
Fix early, Avoid knitting debt
As a beginner I was making tons of mistakes and… ignoring them. I thought they were too small to matter, to only find out later that the few skipped stitches I had ignored resulted in massive holes that nothing could fix back. Knitting taught me that mistakes cannot be hidden away . They will be in plain sight for anyone to see unless you decide to go back, undo and redo again.