Well the first ‘week’ of work experience with Two Red Kites is over, and what a week it has been!
There are four of us going through this program together – Lilly, Sarah, Sarah and myself. Each week we’ll be spending two days in the 2RK office and then going off to revise, refresh and come up with new problems for the following week. We were lucky enough to have Nigel Rausch, Director and Technical lead at 2RK working closely with us both days, as well as getting to see how the rest of the close-knit team operates.
Looking back through my notes from these first two days I can’t quite believe we managed to squeeze it all in, but we somehow did, and I learnt more than I ever expected in such a short time.
Two Red Kites works predominantly in Ruby and Rails, and so I assumed that’s where we’d start, but boy was I wrong. Because before we can get started on Ruby, we need to be able to share our work effectively, and that means learning Git. While I’ve done a few online tutorials on Git before, pretty much everything had faded from my memory as I hadn’t really had an opportunity to use it. Fortunately that won’t be an issue this time, as we were adding, committing, pushing and pulling in our first few hours.
After running through some Ruby basics we worked together to write a simple FizzBuzz program, and then were able to get a look at how refactoring can completely change the way a program runs. We had our introduction to ‘Classical’ or object-oriented Ruby before getting to observe the workflow of some of the developers, and then scurried home to read up on some more critical content for day 2.
Our second day was very team-focused. As the staff work remotely a lot of the time, Tuesday is the day where 2RK has full-team and dev meetings, and we were able to sit in and see how they ran. As a bonus, this also meant a staff lunch!
In between these meetings we looked at some of the pull requests for one of the current projects, and got to see a more realistic example of how useful Git (and in this case, GitHub) is. We worked through a code review before accepting the merge, and along the way picked up lots of tips on how to write better code – from reducing the number of times a loop is run and having clear variable names to commenting and general code efficiency. This also brought up the concept of continuous integration and deployment and the pros and cons that go with it.
By our second afternoon we were getting more confident with creating classes, to the point where we could start testing them using RSPEC. I’m sure we only scratched the surface but have started to feel more confident with using and testing getters and setters. We ended the day by practicing our Git-Fu, creating repository branches and starting to create our own methods – and then testing them of course!
I’ve written more than I intended, but that’s a pretty good reflection of how these first two days felt! We’ve crammed so much in but I’m already excited to learn more. Hurry up Monday, I can’t wait for week 2!