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.
So it all starts for real on Monday. It’s been two months of anticipation, during which I wrote an application, had two interviews (one phone, one reality), and pre-coursed for 4 weeks.
I kind of feel like I’ve got some kind of a grounding in coding, although there’s also this faint whiff that I might just be winging everything. But that’s been around since I started my degree. It’s cool. I’m excited.
Here’s what I’ve been up to in the last fortnight.
Ruby Kickstart
In contrast to the where my last post left off, the final third of Ruby Kickstart on hashes, blocks and procs was actually bloody hard and took up my whole weekend. Almost every one of the 17 challenges took over 45 mins to do, and I often had to peek at the solutions when I hit a wall.
The belief that I’d picked the hardest of the three tutorials kept me from getting too down about it all, as did a steely determination to stay in a good frame of mind.
Brain-ache == learning.
The student directory
For week 3’s challenge, Makers asked us to build a directory to store the information for the students at “Villains Academy”. It was focused on drilling the basic Ruby concepts and practices that I’d become familiar with over the past few weeks.
The point was to introduce us to the process of creating a project from scratch.
Allow us to digress from writing files for a second. As a developer, you need to be able to solve unknown problems on a daily basis, read and understand code written by other people, learn new languages and methods, etc.
Don't worry about how exactly to do it: it's easy to look up. Overall, strive to understand things conceptually and learn how to find answers instead of memorising them.
The whole experience was fairly straightforward, with chunks of challenges which asked us to implement additional features to the directory and refactor our code.
A couple of challenges proved pretty tricky, such as sorting the Villains Academy students by cohort and adding in more information about each student (birthday, height, country etc.), but after Kickstart it felt pretty manageable.
🔥 Scotland 🔥
Yeah I know it wasn’t the most sensible decision but I went on a trip to Glasgow last weekend to hang out with some pals. Figured it was the last chance I’d get to have one of my mini-adventures for a while.
Lots of walking, eating, climbing, drinking, and ping-pong and not-a-lot of coding went down. Riding the ping-pong wave, we watched perhaps the worst film I’ve ever seen.
One evening, while we were having a kickabout, there was this fire in a scrapyard that covered the whole city in smoke. Lit-up by the sunset, it was pretty beautiful to watch from the lookout behind the university (before the smell of burning rubber and the cold got to us). Later on there was black ash falling from the sky.
Week 4
For the final week we were challenged to draft a CV on Github and to give test-driven development (TDD) and pair-programming a whirl with another member of the March cohort.
Here’s my CV, for the voyeurs and employers.
TDD is a programming practice meant to improve code quality and program design, Makers say they’re “hardcore advocates”. At first it’s weird. You write your tests before you write your code.
The idea is to write a test in RSpec (a Ruby code testing tool) that asks what you expect your code to do. Then you write the simplest code you can think of to make the test pass (which may, initially, be the wrong code), then refactor.
You repeat the process for the next thing you want your program to do, gradually adding abilities to your code.
I did my first bit of TDD by doing my first bit of pair programming with the first person I’ve contacted from the March cohort.
We worked on a simple kata via screenhero, going through the TDD methodology and talking about each line of code we wrote. It went pretty smoothly, despite not meeting face to face.
The rest of the week I spent my time leafing through my copy of “The Well-Grounded Rubyist” and fighting in some Codewars. I also did the Codecademy course on Git, which only took about 45 mins and did a good job of reinforcing my version control basics.
I fear this may be the chillest I’ll be until June.
On Monday, we dine in hell!
In other news
I still can’t decide how paranoid I am about internet security. On one hand I have nothing to hide and am lazy, on the other it is kind of dumb having the same 1 password for everything and no passcode for my phone — It’s pretty clear how easy it would be to hack someone just by getting into their email, resetting passwords and so on (especially after watching Hunted).
So this afternoon’s procrastination was spent implementing most of the tips from the below article. I used the Lastpass to manage my shiny new passwords, all of which are now meaningless alphanumeric strings.
And this was a brilliantly written and inspiring article by someone who’s managed to thrive in the lands between tech and art. A great insight into unconventional career paths and the bullshit women have to put up with just to be taken seriously by certain men.
Also, hacking knitting machines.
Stuff I learnt:
- How to create a project from scratch
- How to load and save files from a Ruby program
- How to use the
yield
keyword - TDD with RSpec basics
- I’m now more comfortable time-travelling on Git
Stuff that hasn’t clicked yet:
- Still not quite at home with classes (and using
.self
) - The spaceship operator
<=>
- Recursion
TODAY’S JAM
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.