Day Eleven & Weekend Review

Wow. That’s all I can say. What a weekend. I knew it would be challenging but I didn’t realise quite how much. I had a bit of a lie-in on Saturday and started my takeaway app at 12. By 2’o’clock I was seriously starting to get stressed. I’ve probably said it before but I find it SO HARD TO JUST GET DAMN STARTED. I’ve just got no idea and I start to get filled with this sense of fear and dread. I end up working myself into a pure state of frustration which is obviously not going to help my situation. I tried to plan, tried to do CRC cards (Class, Responsibility, Collaboration – to help us map out what is happening) but even then I found that difficult. I worked on it till about 8 when I took a break for dinner and then decided to start the whole thing again as I realised I was going down the wrong route! After dinner I ended up working till midnight and went to bed tired and frustrated 😦 Sunday I worked on it from 11 and that evening I think I hit my lowest point so far. I really felt like I had no idea and my direction was all confused, none of my ideas seemed to mesh together. Nothing seemed to be working and I either wanted to throw my laptop against the wall or burst into tears. (There may have actually been tears). Thankfully I got it semi working by 1 in the morning and even got to do a little bit of the inject method. The good part was that I got the text message part working and received many, many texts to my phone telling me that my cereal would be with me soon. Yes I did a cereal takeaway app 🙂 No the cereal never turned up 😦 FullSizeRender 2 On Monday I arrived at eight to work some more on it and when I asked the first person I saw how they found the challenge, I got that knowing look and nervous laugh – turns out that pretty much everybody was tearing their hair out in frustration. It’s one of the few times that I’m happy to see people struggle, at least I know we’re all in the same boat! Monday didn’t bring much apart from trying a lecture on how we should have done our challenges and then trying to rewrite them. In the evening we met the March cohort for whom we will be mentors! This is crazy, we’ve only been doing this course for 2 weeks and now we’re going to have people asking us questions and coming to us for help! I’m so not ready for that. On a lighter note, Arfah who does marketing created some Valentines Day themed geeky coding memes. Some of them are quite funny and I thought I’d share my two favourites 😉 (although the second one is more creepy than love). enhanced-12788-1423504899-18-2 enhanced-31878-1423501678-2

What I’ve learnt today:
– A liitle bit of Sinatra (A framework)


Day Ten

So here I am at the end of another week at Makers! And today was no ordinary day…nope, it was Friday the 13th! Unlucky for me? Apparently so…

I started it off with my first lie-in, getting in at a shocking 9:30 and I felt really guilty as I have so much to do. We started off by being introduced to the weekend challenge which consisted of two parts – rewrite the ‘inject’ method for the array class and write a takeaway app, which will be able to have a list of dishes with prices, be able to add to an order, calculate totals and send a text (yes, a real life text!) to a phone if the order is completed.

I got stuck into the inject rewrite as I thought the takeaway app was going to take a while and I wanted to wait till the weekend when I could really get my teeth stuck into it. The problem was that we hadn’t been introduced to this method yet and it took a good few hours to even work out what it does as it’s quite complicated. I quickly realised that it was going to be a lot harder than I realised and started to feel a bit stressed out. This wasn’t helped by the fact that I was starting to feel a little strange…a lot of people have been off with flu and even though I didn’t have a cough or sore throat, I was just feeling ‘off.’ Kind of achy and tired and I just couldn’t focus. This meant that I couldn’t stare at a computer screen for too long, so I distracted myself by heading out for lunch (definitely recommend the Katsu wraps from Petticoat Lane market!), having numerous cups of tea and chatting with various people.

It was one of these talks that led me to my later actions of the day…I sort of stumbled on two of my cohort sitting on beanbags having a bit of a heart to heart as one of them was feeling quite down and stressed. The things he was saying echoed just how I was feeling – stressed, not feeling like you’re learning anything and generally putting too much pressure on your self. Gabe (who I see as the ‘therapist’ of the group – he’s always there if you want to chat), was telling him that it’s so important not to put too much pressure on yourself and not to feel guilty if you’re not here 12 hours a day. We have enough pressure on us with these long days and so much to learn. Our weekends are taken up by challenges and even our commutes on the train are taken up by studying books.

It was then that I decided that I wasn’t going to stay late tonight. I know that Friday night is great as we all have a few beers and then go out to a pub but I really wasn’t feeling up to it. So I decided to leave at 5:45, go home, have a hot bath and just DO NO CODING. I sat there, on the sofa, watching Eastenders and catching up on the weeks t.v. and you know what? I didn’t feel guilty. Sometimes we really just need to take a step back and focus on ourselves and hopefully (fingers crossed, please, please, please!), everything will fall into place.

Things I learnt today:
-The Inject method
– To not feel guilty (This won’t last though!)

Day Nine

We pretty much restarted Battleships again today as I think we were getting a bit confused about how the classes interacted and to keep in-line with SRP. I also had a bit of a talk with some of the guys in my cohort about how hard we were finding it and how we felt like we weren’t really learning anything because of everything that is thrown at us. It’s really uplifting to know that other people are feeling the same way as me.

It got me thinking about how sometimes you need to fail before you succeed and then that made me think of how life is a little bit like Rspec… Hmm, I think I’ve got too much code on the brain!

The evening was definitely an improvement however…Dana organised a movie night which consisted of us sitting on beans bags watching Kick-Ass, whilst eating popcorn and drinking red wine and beer. After that a huge group of us went to a bar in Spitalfields market. I love that Makers isn’t just about the hard work and coding. It’s also about having fun and looking after our wellbeing!

What I learnt today:
– How to make a Gem!

Day Eight – You sunk my ship :(

Imagine you were told you had to build a house. You’re not a builder. You barely know what a brick is, you have no idea how to mix cement. You aren’t even really sure what a house is. Maybe the roof goes on the bottom? What the hell is a wall?! But, you have to build it and you have to build it now, your future depends on it and oh, wait. Everybody around you seems to be getting on with building their house just fine. That’s exactly how I felt today – completely lost.

My problems started when my pairing partner wanted to work on his own for a while, which I thought would be fine, but upon being faced with a blank screen I realised that I literally had no idea where to start. I felt like the past week I had learnt nothing. So, yeah I had a bit of a bad day today – like last Wednesday? Hmmm, maybe this is a pattern emerging?

In other news we had lectures on class methods and blocks, procs and lambdas. I get blocks and procs so I guess it’s only lambdas to go woohoo! (I always think of a little lamb when I say lambdas ha!) I also did meditation for the first time which I really enjoyed. A little peace and quiet for 10 minutes, I can see it being a bit of a lifesaver!

Things I have learnt today:
– How to meditate
– Procs

Day Seven – Beginning Battleships

Please forgive me if my posts start to become irregular and very short. When I was reading Makers blogs before I started, I noticed they seemed to follow a trend – post every day for the first week or so and then start missing out huge chunks of time, obviously a correlation between the course getting harder and the amount of time/mental energy they had to spare, and I can see that happening to me very soon…

Our week really kicked off today with the introduction of our second challenge ‘Battleships.’ Our task is to create our own version of the ship-destroying game while trying to adhere to the concept of SRP. For those unenlightened to the concept of SRP, as I was at the start of the week, a brief description. SRP stands for ‘single responsibility principle’ and it basically means that a class or module should only have one responsibility. One reason to change. If it has many, and a lot of other code is depending on it, when you have to make a change to one of the responsibilities you end up breaking half of your program and having to rewrite it.

battleships gameThis – BUT IN CODE

Anyway, end of code talk. As usual we had to do this project in pairs and I paired up with the lovely Julian. We spent most of the morning discussing the concepts of the program, how the classes would interact and what the responsibilities would be before blindly diving into the code and abandoning all of our careful planning. After our afternoon lecture on pair programming and ‘MVP’ (minimum viable product – make it small, make it work, then build it up), we took a step back and got ourselves back on track with ‘pigeon steps’ as Julian likes to put it and a few RSPEC tests thrown in for fun 🙂

In the afternoon we had a cohort catch-up with Dana our chief Joy Officer, which consisted of us sitting around on beanbags and talking about how we feel and what we were thankful for. I actually quite enjoyed it, sort of like group therapy for stressed coders. I was of course thankful for Riz’s Slack ‘train breakdown.’  The Feb cohort know what I’m talking about :p

I was definitely starting to feel stressed today, I’m finding it hard to know how to tackle big problems and how to take those first steps and to me Battleships is a big problem. I only hope that in the next few days everything will become clearer and start coming together. Sam the head of education shared a link with us today about ‘reflective practice‘ which I found very interesting, and it made me think that writing this blog is my very own form of reflective practice, a way to de-stress.

Talking of reflective practice we had some of our very own in the evening in the form of a drink down the local pub. It was only one mind you…which turned into two…and then three, all in the name of de-stressing of course! Happy developers make better developers 🙂 (Not so much the hungover ones though…)

fb dev
Web Developer Frape!

What I’ve learnt today:
– How to ping pong pair
– How to use CRC cards
– How one random word on Slack can make me cry laughing
– How 8kyu is easy on Codewars and 1kyu is hard, not the other way round, so no you’re not stupid Kate, though maybe you are for getting that confused

Day Six

After a relaxing weekend, I felt so fresh and relaxed at the start of week two…. Um. No. I thought I had gotten my airport challenge working last night and it turned out that I didn’t and of course, I couldn’t let it go so I was up till about two trying to make it work. Even after that I had a bad nights sleep, so I wasn’t too pleased to be dragging myself out of bed at seven in the morning. Why did I have a bad nights sleep? Maybe it was because today was my first dum, dum, dum… CODE REVIEW!

Really it isn’t that big a deal – you sit down with a coach or an engineer and they have a 1-2-1 with you about your challenge code and how you feel you are doing. Still, the first one after you have only been properly writing code for a week is always going to be daunting. We were told in our morning session that slots were going fast because there weren’t enough available, but I managed to get the last one (thankfully the last one of the day).

This meant that I had the whole day to work on my code and pretty much rewrite my weather generator with some help from fellow cohort Carrie. My tests were passing but I knew there was something wrong as I couldn’t get it working as it should in IRB. (The interactive Ruby interpreter that lets you ‘play’ with your code).

My code review was with Leo, an engineer and it went okay. Yes my code was wrong but it was more of a syntax problem, I had the general idea right. Leo showed me how to get it right and then refactor it. Wow. I really got to see the beauty of refactoring. He took my code which consisted of three methods and around 10 lines and refactored it to one method and ONE LINE. Maybe I’m getting too much into this coding thing but it was like a thing of beauty happening before my eyes! We also had a bit of a chat about how I feel I’m doing in general, and I said that I felt I didn’t know as much as everybody else in the class. He reiterated the fact that everybody thinks that and bar a few people we are pretty much in the same place.

Something I took from today was something Sam (head of education) brought up when he was going over our feedback forms. Another member of our cohort had said that they wrote down what they had learnt that day, sort of to reaffirm it and to keep them positive about their learning experience. This is something I’m going to try myself, on paper and on this blog. So, to kick this off:

What I’ve learnt today:
– How to require files and make instances of classes on IRB so I can play with my code
– How to use Method Stubs
– How to get here if there is a signal failure on the Metropolitan Line 🙂

Weekend Review

So here I am, my first week as a Maker over! I didn’t really do much coding on Saturday which in some ways I’m not too happy about. But, at the same time, this weekend we didn’t have a massive amount to do and I have been spending 12 hours a day at Makers so I think I deserved a little down time. I did however download ‘Zsh’ which is a shell for Terminal/command line. Basically it’s that ‘scary’ MS DOS looking thing but I promise it’s a pussy-cat really! I won’t go to much into what Zsh does but basically it makes your user experience much smoother and you can download different themes. This is my sexy customised Terminal showing off some green RSPEC tests!

Zsh Shell

Sunday I have spent working on my airport challenge and cooking some packed lunches for the week ahead!

Overall I’ve had a great first week at Makers, met some nice people, had a few teeny tiny lows but I feel like I have learnt, learnt, learnt! I have also really surprised myself with how early I have been getting up in the morning! I’m not a morning person at all and I haven’t had to push myself too much in the mornings to get out of bed.

Another strange thing for me is the routine. I have been working in the hospitality industry for the last eight years and I have never worked in a nine to five job so it’s very strange for me to have any form of a routine at all never mind having the weekends off! I’m finding odd things happen like running out of clean socks because I can’t do my washing whenever I want, and when I go to the shops there are all these strange people there getting in my way!

Most important though, I can’t wait for next week to start! Let the battleships commence!

Day Five – Airport Challenge

Wow, a week has flown by already. Time flies when you’re coding! (Seriously, it does).

Today started with an introduction to our weekend challenge which was similar to our Boris Bikes challenge – we would be creating an airport and a plane. The plane had to have a ‘flying status’ when in the air, had to be able to land at an airport, the airport had to have a maximum capacity, blah, blah, blah all that stuff. The twist however was that we had to create a ‘random number generator’ that would return a weather state of either ‘sunny’ or ‘stormy.’ And the planes weren’t allowed to take off if it was stormy.

Screen Shot 2015-02-07 at 22.50.50Can you believe THE Boris Johnson was thanking us for our hard work? 😉

I spent part of the morning working on this before heading out for lunch. I’ve been trying to bring in a packed lunch everyday as obviously I have to save money and I know how much a few quid can add up everyday. It’s been a bit boring this week (pasta, pasta, pasta) so I’ve decided that every Friday is going to be ‘treat day’ and I will go out for lunch. Luckily this being London, there are plenty of places to go – Spitalfields market is just down the road, Brick Lane is the street behind us and Petticoat Lane is a few minutes walk away, so that’s where I went for some tasty Pad Thai noodles!

After lunch was ‘Code Jam.’ This involves splitting into teams and being given coding challenges which you have 15 minutes to solve. I was unsure about it as I didn’t think I performed well under pressure but actually it was quite fun and I learned some new things!

After that one of the coaches Roi took us through how to set up a development environment on our computers, I found out a few tips and learnt about some cool programs.

The rest of the day was dedicated to working on our weekend challenge. Shockingly I got most of it done apart from the weather part. It wasn’t all code, code, code however. Makers provides free beers on a Friday which is really cool so first we coded with beers (hmmm…productive) and then dropped the coding. A few of us Juniors stayed for a game or two of Ping Pong before moving onto the pub for a few more. A perfect end to the week!

Day Four – More Boris Bikes & Fizzbuzz

Right, day four. We began with a lecture on ‘getter’ and ‘setter’ methods which are used when we create instance variables. We also learnt how to ‘refactor’ our code by using ‘accessors.’ I won’t bore anybody by *attempting* to explain what these are. Refactoring however is when you improve your code by making small changes that don’t affect the behaviour of it. For example you could rewrite a method to make it one line instead of three. It’s all about making your code cleaner, clearer & more elegant. Making it easier to read & more understandable for the next developer who comes along.

We were also introduced to ‘Fizzbuzz’ which I had heard a lot about it from reading other Makers blogs. Fizzbuzz in essence is a game played by school children to help learn maths. You count to say, 100 and every time you reach a number that is divisible by 3 you say ‘Fizz.’ When you reach a number that is divisible by 5 you say ‘Buzz.’ When you reach a number that is divisible by 3 & 5 you say ‘Fizzbuzz.’ In terms of programming the aim is to write a program that will carry this out.

At Makers they have sort of created a challenge where you have to time yourself every time you write this program (including RSPEC testing of course!) and try to beat your last time. This is a way to try improve your coding abilities. Apparently some people can do it in under five minutes! We were told to try and attempt to do it at least once everyday and I can see it being a fun way of competing against yourself whilst also improving your coding skills under pressure (interviews anyone?!). It also helps you keep up a Github streak!

The rest of the day was dedicated to Boris Bikes and I paired with Joe. I was quite apprehensive about pairing today as I was feeling like I just wasn’t getting it. In fact at one point I was close to tears as I felt I hadn’t made any progression and I wouldn’t be able to contribute anything to the pairing experience.

By an ironic stroke of luck, Joe was pretty much in the same place as me and this is where one of my first revelations started. You would think that it would be best if you were paired with somebody who knows more than you and therefore they could teach you. Yep, this is helpful, you can learn stuff BUT sometimes you *think* you understand what they are telling you and you just nod along and it’s not till you have to do something on your own, that you realise that you don’t know what to do.

However, when it came to me and Joe, we literally didn’t understand what we were doing. Steve our ‘main coach’ (who’s very lovely) came and gave us a few pointers on the RSPEC syntax but still we were a bit stuck. What then happened is that we spent most of the day on just two problems and you know what? We learnt! We moved through each problem sooo slowly and made sure that we really got it. I got to feel the true pleasure of seeing your RSPEC tests turn green – there were definitely woops and high fives!

By 5, I had pretty much completed Boris Bikes (bar refactoring) and felt confident to have a go at my first Fizzbuzz! It wasn’t a true attempt as I had to kept on referencing the lecture but after writing the first two tests, I barely needed to look it again. I completed it in a shocking hour. Then came the second revelation – Fizzbuzz really helped me learn my RSPEC syntax! There was something about writing practically the same test over and over again that helped drill it into my head.

I started my fourth day on my biggest low and left on my biggest high so far. It goes to show that even when you are feeling in the dark, have faith, hold on, there is always light at the end of the tunnel – and that light is green! 🙂

Day Three

Today was more of Boris Bikes…I already know that every time I see a Boris Bike docking station I’m either going to have a breakdown or smash every single bike to bits!!!!!! Not that I’m not enjoying myself mind you, it’s just that I feel that all I ever think is bike, station, dock, broken_bike, Van, working_bike!

boris bikes
Boris & those bikes

We started off with a Q&A with the seniors (the cohort above us) which I found really useful. They spoke about how we shouldn’t worry if we don’t quite get everything that we are learning in that current week. It always feels like you are running ahead with the code knowledge one week behind you – as soon as you start a new week, the things you learnt last week will begin to click.

Next was a lecture on classes and objects with a bit of a refresher on instance variables. I’m pretty sure I’ve got them, I just get a bit confused when I have to integrate them into the project that I’m working on. We also learnt about ‘doubles’ which sort of work as placeholders for a class. Very useful when you want to work on a particular part of your program but you need it to interact with a part that you haven’t created yet. Um. If you see what I mean?

I paired with Vanessa today and it was a bit of an eye opener. Basically I thought I knew what I was doing and hey! It turns out that I don’t! It’s all fair and well to work through a walkthrough and think that you understand what it’s doing and why it’s doing it but when you actually have to write it from scratch yourself, well then you realise you have absolutely no clue about what you’re doing!

It wasn’t so much the program itself. It was writing the RSPEC tests that got me. I know what I want it to do but how to tell it that? Nope. No idea. I can’t seem to get my head around the syntax one bit.

I was then brought down even more when Vanessa and I asked Jordan for some help and he pointed out that there was something weird going on with our code. We hadn’t either included a class or used a double so our tests shouldn’t be passing. For some reason (which I still don’t understand), they were passing as we were testing multiple files together, but if we tested just the individual file it would fail. And even if we included the class IT STILL WASN’T WORKING. 😦

After a few more hours we got our docking station class passing and tried to work a bit more on our van. By about 7:30 I was hitting a wall of frustration and decided that I just had to call it a night.