More Ruby, More TDD
The main challenge this week was to learn more about applying Ruby using a test driven methodology (rspec) to create a functional piece of software for the London Oyster Card system. The new skill we learned was all about dependency injection (DI). This gave practically everyone headaches and stress!
DI is just a way of reducing coupling (dependency of one object relying on another). Low coupling is the aim of good design, objects knows very little about other objects that it sends messages to. No coupling can never happen, as the object cannot be used by any other object. High coupling is bad, it makes changing one object harder to do, as it will affect the implementation of another object. The lower the coupling the easier it is to change or add to code.
Group session
Had a great group session with Dana (will talk more about her, but she is great) on Tuesday, involving sharing our thoughts so far on our experiences with the course. It was a real eye opener. We had to express our agreement with the current speaker by showing 'jazz hands'.
We spent around 90 minutes doing this but despite my feelings of regret at not coding, I felt this was a great idea to really connect and learn more about my cohort and myself. There were a lot of emotions being shared around, a few personal stories of overcoming setbacks, a few tears, a few people overcoming their fears to talk in public but most importantly a lot freedom to say what you want and be heard with out being judged or threatened.
I started first, and shared my feelings of feeling stupid, not being good enough, being an imposter, letting my pair partners down. Too my surprise nearly everyone felt the same. Personally, I felt this has held me back a lot in my life, but I am starting to believe that I am good enough and thats alright and all I need to be. Not knowing everything, or feeling stupid or forgetting does not make me rubbish. Class is permanent, form is temporary.
What was surprising was my pair partner for the day, Andrew, felt the same way. Although I felt he was far better at solving the problem, more confident and learning so much more than me. So it was great to hear he felt the same about me and feel that it is alright to be struggling, it is normal. After the session, we had a hug and managed to finish off the task for the day. Then a huge group ended up at the bar, with friendships further strengthened.
I feel this group of people I am working with now, are going to be in my life for a long time.
Code review of my weekend challenge
- Spent the morning with my mentor Jonny going through the weekend challenge (the airport). He was tasked with reviewing my code and helping me improve the style and quality.
- Spent time implementing the changes suggested by my mentor to my code. Spent a lot of time on this, when I felt I should have been doing more pairing on this weeks work.
Football is organised for every Monday on the five a side pitch located at the back of the offices. I have not played football in ages, so I knew I would stuggle. I did. I was out of breath after 10 minutes and we still had 50 minutes left to play. Yet despite the struggle ( I am seeing similarites with Makers), I loved it. It was like being back at school on the playground kicking the ball around, kicking it over the fence and having to retrieve it (think most were glad for this as it gave us time to rest).
There was only me, Paul and Si from our cohort, and the rest were seniors and a couple of Alumni playing. It was great game, competitive and friendly. Although we gave up counting goals after 15 minutes, think everyone was too busy gasping for breath to remember.
Big consequence of playing football and walking for commute are that my legs are like jelly and aching like mad!
A visit to the POO DR
As a consequence of a breakout session, we were told to read POO DR by Sandi Metz. This is the bible of good design (SOLID and TDD) with a particular reference to Ruby and bicycle gears. It is a great read, and the topics are well discussed. The big problem is being able to apply them while working through the problems.
I decided on Thursday to stay late, and implement some of the ideas on dependency injection in chapter 3 to my code, to reduce the coupling. Well worth the time spent, code much cleaner.
Pair partners for the week
Monday
My partner was Yasmin (no J), unfortunately we did not have much time together as we had our code reviews and refactoring (improving our code) to get on with. We did sit next to each other and help each other out. We spent around an hour working on the challenge, but did not get very far, although I felt we did some good review of the basics that were learned last week.
Tuesday
My partner was Andrew and we managed to get through a lot of work together. After the group session, I realised we were at very similar levels and that it was great working together. We had an almighty struggle with problem 12 and I just shouted out in ecstasy when we solved it, which I think disturbed a lot of people (well not many, most had already left).
This was also my first time that I have had to go and see the Alumni Helpers for help. We have been told to see the AH if Google or one of cohort cannot help us. I have always been one to focus on solving problems myself, regardless how long they took. This is a big mistake. I am wasting time, but I guess my ego is involved. So I was glad to admit that I did not know and get some ideas on solving a problem.
Wednesday
My partner was Murilio, from Brazil, and it was a good session partner wise, but we did not exactly do as the question asked and it feels like I have missed out on pushing my learning further.
Worked late at night, trying to understand what was going on with DI.
Thursday
My partner was Junyuan (spelt correctly, which I did not when I was set up GIT, sorry) and it was a tough day. I was so confused by the material, I felt that I did not give as much contribution to the code.
Friday
My partner was Erika. We both finished this week's work, so we decided to redo it again from scratch and see how we got on. Due to being Friday, we finished the day at 4pm when the drinks came out.
Quotes
"You are not your code"
"You are not your code"
No comments:
Post a Comment