Tuesday 14 June 2016

self.interview

Makers Academy is selective. This means you need to be good enough. To get into this coding bootcamp course you need to learn a lot within a fairly short space of time and then prove that you’ve learnt it in an interview. It’s also for the Makers to meet you, get a feel for how you are and how you work and make sure that not only you’re compatible with them, but they’re compatible with you. 

I was no exception here, keep reading for an account of my interview... stop reading for anything else.


I should firstly tell you that I actually rearranged my interview because I was worried that I didn't understand Chapter 10 of the Chris Pines book: Learn to Program. I needn’t have been so concerned (you’re only required to study up to chapter 8!). Looking back on that now I can’t remember why I was worried about a chapter that I wasn’t supposed to have done but there it is. 

It went like this.

WTF.

WTF.

….WTF.

MUM, I CAN’T DO IT.

[3 days of ignoring it]

….oh. I can do it... kinda.



This actually taught me a lesson: Calm Down. I’m going to encounter a lot of situations like there where I can’t immediately see the solution, some times if you’re feeling overwhelmed by something it’s better just to leave it for a little bit, move on to the next thing and revisit it later. Of course I had learnt this before, I suppose I had just forgotten - or maybe my brain wasn’t in student mode

Anyway. Panic over. Problem solved. Next!

While I still wasn't convinced I was 100% ready, it was interview day. Makers Academy is simple enough to find, its on commercial street in Shoreditch. That doesn't mean to say I actually found it easily, living in an age of anxiety I had to follow google maps that took me every-which-way via Manchester, but I arrived on time.




Now I don’t know what you’re expecting when you think of a coding bootcamp - but I was expecting quiet. Quiet and tapping. If everyone is busy coding programs they should probably be silently tapping away at their MacBooks only pausing to frown slightly at their screen and shout in their head “WTF!”.

Well my first impression of the coding bootcamp site was noise. A veritable din. I was not expecting that in the slightest and in all honesty it was quite intimidating! After thinking about it in hindsight it made sense that it was so noisy and I don’t know why it didn't occur to me: almost all the work you’ll do at Makers Academy is done in collaboration with another student coder. It would make sense that they would need to talk and that a room full of people coders working together would be noisy.


Aside from the noise the space is pretty cool, pretty much what you might expect from office space in trendy Shoreditch - exposed brick, wooden floors, unapologetically raw concrete, glass. Hipster. Cool, me and my flat white will fit right in.


My interviewer was Irina. She was nice. A+++ would recommend.

My interview was deceptively simple. It was very informal. Irina wanted to understand what brought me to Makers Academy and why I thought it was the best choice for me. After giving her pretty much the same schpeil that you’ll find in my first blog post we moved on to some simple coding exercises.

By some I mean two. and by simple I mean simple.

The exercises, or Kata, were on Codewars. Codewars is a community-lead coding portal which includes exercises for coders to practise/compete on. It's a great tool for learning to code so if you're thinking about it, check it out! It has lots of social functionality and I expect we’ll be using it a lot. The two exercises I did under Irina’s watchful eye were:

Kata 1
repeat a string a certain number of times
---
add the first element and subtract the second element of each array 
within a 2 dimensional array

Kata 1.
After a brief amount of fumbling about on Irina's MacBook I got to a method that worked. And if it worked then I was satisfied. But oh my god let me show you how I did it:

 def repeat_it(string,n)

   a = ''
  
   n.times { a << string }
  
   a
 
 end

It shows a fair amount of knowledge of how coding can work. First it creates an empty string. Then it appends the contents of string into the empty string however many times the number variable specified. This makes an string made of the required number of copies. It then returns this.

Sounds impressive? Do you know what would have been really impressive?


 def repeat_it(string,n)

  string * n
 
 end

That would have returned exactly the same thing. You can even read it in english.

"String times n"

There was no need to over complicate it though in the heat of the moment this simple solution genuinely did not occur to me.



Kata 2.
I think I did okay here considering my level at the time.

 def number(bus_stops)

 n = 0

 bus_stops.each { |x| n += ( x[0] - x[1] ) }

 n

 end


This function iterates through each array element, first subtracting the second first element from the first zeroth,  then adding this total to the variable n. Thiƒs is probably the best I could have hoped for at the level I was at and I was fairly proud of myself that I was able to do it.

Now (2 weeks into the PreCourse) I would probably do something more like;

 def number(bus_stops)

  bus_stops.inject(0) { |n, (a, s)| n += ( a - s) } 

 end

Just to prove I’ve made progress! 



That was it. That was my interview experience. Fast forward two weeks and I got the call. I was in.

No comments:

Post a Comment