Week three of work experience with 2RK is over, and while it was a bit ‘all-over-the-place’ i was still a lot of fun.
Our Monday went more or less as usual, and started with a code review of our ‘homework’. Sarah, Lilly and I had all approached our task (to rewrite our FizzBuzz program from our first day but using classes and OOP) in very different ways. While what I had done wasn’t bad coding, it turned out it was very different from what Nigel had in mind. It was a valuable lesson in how important it is to clarify expectations with your ‘client’ – as I had to redo it entirely!!! 😛
We then spent some time working through some ways of cleaning up our code by using a range of different iterators (such as select, inject and map), and learning some alternatives to standard conditionals – including ternary operators and case statements.
We also had a crash course in VIM – I’m definitely not an expert but I can at least get myself out without causing any permanent damage if I ever find myself accidentally in there!
The afternoon saw us delving further into relationships between objects of a class, and learning how to set up branching tree relationships. Our homework was to create methods to find all the descendants and ancestors of an individual in the tree, and a method to detach a node from the original tree.
On Tuesday night I attended the BrisRuby meetup, along with most (all?) of the devs from Two Red Kites and a whole host of the local Ruby/Rails community. There were some great talks, and one specifically on how to give a good tech talk. I picked up some great pointers and also came up with a potential idea for a talk I might give next month!
Our second day of work experience was sadly cut short, as we had ex-cyclone Debbie on her way down from North Queensland, causing flooding rains and some crazy wind. In the short time we had available that morning we started looking at making data persistent, and how to parse CSV files to turn data in objects! It will be great to look even further into this and eventually into more ways to work with databases.