My Makers PreCourse Experience

What I’ve been doing and learning over the last four weeks…

Four weeks have veritably flown by, despite the relative isolation of lockdown. I’ve heard that “time has no meaning anymore” from some of my friends, but I can’t share in their existential dread. I’ve been getting up in the morning, eating meals at regular times, and I left boredom behind at some point in early April. If my university-student-self could see me now, they wouldn’t know where to look. 

Over the last month, I’ve found my purpose in the Makers Academy course, and I’ve thrown myself into the PreCourse with abandon. For those who don’t know, Makers is a 16-week coding bootcamp. Usually, it’s on-site at their offices in London, but due to the current situation, it’s all being conducted remotely. This suits me to a tee; I can learn to code and look after my vegetables!

My vegetable garden at the end of April 2020. Onions, lettuce and spinach growing , and beds prepared for planting in May!

Here’s a quick breakdown of what I’ve been doing:

Week 1 – Set Up | Command Line | Version Control

The first week of the PreCourse was all about learning the basic tools of the Development trade – the terminal, the command line, and Git. Having been lucky enough to be offered the use of a friend’s iMac for the duration of the Makers Course, I did my setup with Prepare to Code. I downloaded iTerm2, Oh My Zsh, and Atom, and got to cd’ing my way around directories and echoing “Hello World!” all over the show. 

I then spent some time learning about Git and Github – here’s mine – before embarking on the clymsteries – a command-line based murder mystery that I found challenging but immensely enjoyable. I also did some Ruby-based exercises with Ruby Kickstart, and practised my branching as I went through the sessions and completed the challenges. This is still ongoing- here’s my ruby-kickstart repo.

Weeks 2 & 3 – Ruby with Mastery Learning

The Mastery Learning programme aims to provide a theoretical and practical knowledge of Ruby. I had a bit of a head start here as I did a coding mentorship when I worked for Cleo AI and learnt some Ruby there. But learning the theory was super useful to be able to contextualise the practical skills I had learnt already. I still don’t think I’d be able to use the phrase “referential transparency” in a sentence (or rather, I could, but I like to avoid words that obfuscate meaning), but I understand the concept. 

Each chapter in the Mastery Learning programme finished with a quiz – a few exercises designed to put knowledge into practice. Lately, I’ve been trying to use Bloom’s taxonomy to contextualise and understand where I am in my learning. I first heard of Bloom’s when I was at university, and I avoided it at that point in favour of a much more intuitive approach to my studies (“I probably know enough”, “I could maybe recall that poem in an exam”).

Now though, I’m more thorough in my approach to learning and have a post-it note on my computer reminding me of the stages. The structure of the Mastery Learning programme was invaluable in helping me to ensure I could actually use the knowledge I’d gained. 

Bloom's Taxonomy - Where am I?:  Remember; Understand; Apply; Analyse; Evaluate; Create.
Bloom is on my iMac.

Week 4 – TDD & Pairing | More Ruby | Github CV

There was lots to do this week, in preparation for starting the course proper next Monday! I began this week with pairing over Fizzbuzz with Rachael Ewins, a friend and fellow Makers Academy student. We did this task twice – the first time our fizzbuzz method took a number as an argument, and the second time we made fizzbuzz an Integer method. We also got some experience of co-authoring commit messages, which I like as a way to ensure that both people get credit for work done when pairing. Here’s our FizBuzz repo

I also worked on the Student Directory, a programme that lists the students enrolled at the Villains Academy. I got a lot of practice writing methods, balancing meeting the requirements of the program with observing the single responsibility principle – a method should do one thing, well. We were also asked to rank up to 6 kyu on Codewars but given that I’d already done this, I spent this time doing katas related to the things I find difficult – working with hashes and recursion (a blog post about that second one to follow!)

Lastly, I made a first draft of my Github CV, in preparation for getting a job at some point within six months after finishing the course. Much of it was left blank, as the skills section awaits the knowledge that I will be gathering over the next twelve weeks. I’m psyched, I have to admit. 

And Onwards…

So that’s what I’ve been up to over the past month – learning the basics of being a developer and getting excited about all the things I’ve yet to learn. Here’s to the next 12 weeks!

A New Blog!

I have started a new blog on Medium! I’m going to use it for posts about software development, but I’ll still be posting here too.

My first article, And That’s Okay, went live last week. My current plan is to do a series of posts about coding, mental health, and meditation, so here’s to some more frequent posting in the coming months.

And That’s Okay

Starting Makers, meditation, and methods in my mind.

On April 14th I started the Makers Academy PreCourse, taking my first steps on my journey to becoming a software developer. The PreCourse introduction material stresses the importance of achieving a balance between work and rest, and the usefulness of three things: sleep, exercise, and meditation/mindfulness. 

This last element is the most interesting to me – it’s one of the things that drew me to Makers in the first place, the focus on improving and maintaining emotional resilience in a corporate environment. Makers offers daily meditation sessions and twice-weekly yoga, run by the Chief Joy Officer, Dana Svoboda (best job title ever, right?) 

As someone who experiences anxiety and who knows firsthand the impact it can have on one’s studies, as soon as I passed my Makers interview, I started looking for ways to become a more mindful person. I was not going to let my anxiety thwart my chance at a new career. 

I had tried Headspace several years before but hadn’t gotten on well with it, so this time I downloaded Calm and started on the How to Meditate series with Jeff Warren. I practice every morning, and it helps me set a mindful tone for the day before I begin my work. 

The lesson I’ve found most useful thus far has been the one on equanimity, the practice of opening oneself up to things going on within and without you, and maintaining an easy-going attitude regardless of the positive or negative stuff that you encounter. 

I’ve found this super-helpful as I’ve been working through the PreCourse material. One thing I’ve noticed about coding thus far is that it generates a lot of feelings; frustration, joy, confusion, anger, anxiety, triumph, curiosity – I could go on. Suffice to say, it gets loud inside my head. If left unacknowledged these feelings can morph themselves into undesirable behaviours, even habits, that might prohibit me from being the best I can be. 

Equanimity has taught me the importance of acknowledging these feelings, of noticing their presence and warding off any unwanted effects with my new favourite three magic words – and that’s okay.

I’ve been using them constantly, whenever I’ve noticed frustration starting to creep in when bug-hunting, or that I’m anxious about today’s quiz and have been avoiding it. Even the positive feelings (though I’ve been trying to move away from judging feelings as bad or good) have been met with a warm, relaxed acknowledgement. 

Even when I’m struggling with equanimity or am unable to maintain an easy-going attitude – that’s okay too. For someone who has spent too much time berating myself for the existence of my anxiety, this practice is revolutionary.

It’s an oversimplification to say that the human brain is like a computer, but regardless, let’s run with that metaphor for a bit, as I’ve been having fun putting equanimity into coding terms. I was noodling around on Atom with Ruby and I made this:

Kinda cool, huh? But not nearly as impressive as my brain. In iTerm2, no matter how many times I run equanimity.rb or how many times I call .equanimity on any instance of Feelings, the code will still run the same way.

But my brain can do some epic stuff – every time I run equanimity, every time I have a feeling and tell myself “and that’s okay” I make it easier to do it next time – I can train my brain, train myself to become more okay with the buzz of feelings that goes on inside my head. I may not be able to change them, but I can go one better – I can be okay with it.