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. 

A Quick Note on Customer Service

It was a wild one at work last night. You might think that working in a busy traditional pub, it’s always pretty wild, but there’s a difference between wild and busy: no true synonyms in the English language ‘innit.

I’ve never seen anything quite like it over the four years I’ve worked in the hospitality sector. The customer in question had been asked to leave several times on account of the fact that she and her partner had repeatedly fallen asleep at the back table. It was around the fourth time of waking them up, when they finally roused themselves sufficiently to move, that she came up to the bar to register an offical compaint about the abuse she had received, apparently from us bar staff, by waking her from her ill-located slumber.

I’m not quite sure how, but the situation escalated rather quickly from there. The woman began to swear at my colleague and my colleague, much to my shock and awe, replied in turn. Invective flew, procreation was demanded to occur elsewhere, and speculation was made as to the sexual activity and proclivity of both parties. Some of it was even aimed at me (from the customer, I must add, not my colleague.) I was, to put it mildly, a little taken aback by the situation, on this previously quiet Monday night.

It ended with the customer leaving as requested, and my colleague and I continuing with our evening undisturbed, but the whole affair had got me thinking about the nature of customer service. I simply could not bring myself to talk to anyone like that, sober or drunk, although I’m by no means a prude and I use a healthy about F#s etc. now and then. I absolutely couldn’t talk like that in a customer service role – I’d fire myself! But my colleague did have a point – she shouldn’t have to deal with that kind of behaviour at work, and I don’t honestly think she should be called upon to act any differently, just for the sake of good customer service, when someone was being so rude to her.

It reminded me of the chapter on ‘Cheerfulness’ in Tiffany Watt-Smith’s The Book of Human Emotions. She writes about the creation of cheerfulness as an emotion and identifies it as the product of studies conducted into workplace productivity in the latter half of the twentieth century. Positive, enthusiastic, cheerful people, who always keep a smile on their face, no matter what, make great employees.

In the now increasingly enlightened days of mental health awareness, people are realising that constant positivity is actually rather a lot to ask of people, and in some cases could even be classed as discriminatory. By all means, some people with certain personalities will fit into some industries better than others, but I hope that the days of asking for a cookie-cut of the cheerful employee are numbered. I don’t know about you, but I prefer people to be honest, upfront, and truthful with me about what they think and feel, becuase ultimately that’s the only way we can build strong and stable relationships in work and life, which for me, is so much more meaningful than a bitten tongue and a strained, begrudged smile.