Breathing Code

Makers Week 1

Naz M
codewhale
6 min readMar 19, 2017

--

Towards the forest II by Edvard Munch (or, pair programming)

Welcome to my blog about learning to code at Makers Academy. If you missed the last post, you can find it here. If you’re hungry for more, here’s the next.

It’s Sunday, it’s late, I’ve had a glass of wine. This is going to be a bit of a ramble.

First Day

After being buttered-up with croissants and muffins, my first day at Makers began.

We met our tutor, Roi. He showed us a bunch of cool ways to improve our developer environments (the way our computers are set up) and explained the roll he’d be taking in our learning. Basically, as little as possible.

He explained how first Googling an issue, searching for a solution, asking other members of the cohort and only then turning to him (with an intelligently thought-out question) will be a much more efficient way of learning in the long-run and give us the tools to troubleshoot effectively once we leave Makers. If we immediately ask for an answer when we hit a wall and simply get it, we’ll become much less independent learners. Makes sense.

He’s also more likely to answer a question with another question. Looking back, I think I only asked one question all week (while coding). I’m sure others on the cohort didn’t ask any.

After Roi, Dana, the chief “joy officer”, spoke to us about mindfulness and the importance of the yoga and meditation sessions that we’d be encouraged to attend over the next 12 weeks. So far meditation has proved a great way to reset my brain at 2pm every day. Often I’ve daydreamed through the mindfulness talk. It’s kind of nice to zone out to, like in Fight Club when he goes to all those therapy groups. No fault of Dana’s, it’s just that I seem to be in the mood to zone out as soon as it hits 2pm.

In the afternoon we had a talk from Sam, the head of education at Makers. I thought he was an awesome speaker. He spoke about Maker’s philosophy towards education, backed up by a ton of psychological research. One of the main points was that there’s no exams at Makers, meaning the point of the course isn’t to pass the course, and we can all get on with trying to learn as much as possible.

This really resonates with me, after completing a degree in which I drifted through most of the lectures, only to cram specific content when exam season came around, then forget it all in the summer.

At the end of the day we were given dozens of pizzas, and I trundled home around 6.30, exhausted, probably as much a consequence of meeting so many new people as the talks.

Great new joke:

  • Knock knock
  • Who’s there?
  • Amish
  • Amish who?
  • You’re not a shoe

Rest of the week

Tuesday through Friday, the first real days of Makers, I pair programmed with a different member of my cohort each day. This is how it’ll be every day, with a different challenge each week. We had the whole week to create a program to manage London’s ‘Boris Bikes’ network of bikes and docking stations.

I was expecting pair programming to be kind of difficult, but it’s gone super smoothly with every partner I’ve had this week (unless I’m just oblivious and they all thought I was a nightmare). I’m totally down with it being the best way to do things, as opposed to programming alone. The fact there’s someone else there means you never get distracted. Additionally, you’re constantly having a dialogue with your partner about the best way of doing things, so every decision is questioned. So each mental step is reasoned, and, as a result, we’re all holding ourselves to a higher standard.

It feels like I’m in a state of flow like 70% of the time. Actually, I have no idea about that figure, but it’s a mighty stimulating way of working. I’m looking forward to seeing how pairing goes with the 19 other personalities on the cohort.

For the sceptics, I’ll link in a paper that shows you get much better quality code with paring, and just as much written. I’ll link it when I’m less tired and have had less wine.

At lunch on Tuesday there was a talk from the CTO of MangaHigh, a medium-sized startup who make a web application aimed at teaching kids maths in the classroom. It was my first exposure to the inner workings of a London tech startup. They were really enthusiastic about TDD and Pair Programming, and explicitly said they were keen to hire from Makers.

They use 39 different types of software.

By Thursday I was starting to get a little bored of eating couscous every day. I also had my first coding dream. I woke up super confused around 3am trying to require a file. Please no more of those thank you.

Friday evening Makers gave us all a few beers, and I cooled off with some of the cohort for a couple of hours. Had a very heated argument about toasters. The article below covers all the key points.

Airport Challenge

Our weekend challenge was to create a programme to control the flow of planes at an airport, the hypothetical user being an air traffic controller.

I happily worked on it through Saturday afternoon, finding I could map the project pretty closely from what I’d learnt Boris Biking all week.

For a while I had an bug which meant I could land a plane at one airport, and when I tried to take it off from another airport it’s status changed to flying, whilst remaining in the same airport.

Also had a thing where I couldn’t work out how to get methods from my weather file to test in my airport file, then discovered I had to make one a module after hours of being stuck. In hindsight, should have looked for alternatives much sooner, rather than playing around with different methods for ages.

We’ve been told the projects aren’t necessarily meant to be finished. Anyway I submitted my pull request (i.e. submitted my work to Makers via Github) this evening only to get a measly 37% test coverage, meaning my RSpec tests only tested ~1/3 of my code. I have no idea why it wasn’t higher. Either the testing software isn’t reading my files correctly or I’ve been doing test-driven development seriously wrong.

In other news

I haven’t been keeping up with articles that much. All my reading time has been spent on my copy of ‘The Well Grounded Rubyist’ and some short stories by Neil Gaiman. I’ve not really had the urge to look at any screens after a day at Makers.

Today is Sunday. I spent the whole morning watching Chef’s Table on Netflix, and the whole afternoon cooking my lunch for the week and then dinner for some friends.

Stuff I learnt:

  • How to pair programme
  • I’m much more comfortable with TDD basics. Starting to get used to the cycle of writing feature tests, then unit tests, then code.
  • How to link different files together using require and require_relative
  • How to use the attr_reader and attr_writer methods
  • Some nifty ways of moving code around in Atom.

Stuff that hasn’t clicked yet:

  • How to play around with classes in PRY. I’m sure its fairly simple but somehow I just haven’t found the time to look up how.
  • How to discern how much of my code is being covered by my tests
  • Using and testing modules

TODAY’S JAM

I meant to see Steve Reich earlier this week but didn’t get round to getting tickets and needed the evenings to chill.

My head feels a little like this sounds:

If you read past the tapir, chances are you read the whole thing. If you enjoyed it, please click the little heart below. It’ll help others find this and enjoy it too.

--

--