Friday was the end of Week 6, which means we are halfway through the apprenticeship! Man, this has gone by quickly. I remain thrilled to be working at Smashing Boxes, where I am learning SO MUCH in such a supportive environment. When I was looking for jobs after TIY I couldn’t quite decide if I wanted to be working in an agency like SB, where you work on several different projects a year, each of which could be very different, or if I wanted to work for a single product company, where I could do a deep dive on a codebase. I can still see the appeal of both options, but watching how the people here work, I think this suits my nature better.
Weeks 7-9 are going to be more challenging than the previous weeks; the goal for the quarter is to make a bookstore where you can actually buy things. I have to learn Cucumber, yet another new testing framework, authentication with Devise and online payments with Stripe. I have to admit, I’m a bit intimidated. We talked a bit about Devise in code school, but I’ve never actually done anything with it. On top of the huge project, we have two more Codeschool courses to work through: Ruby Bits 1 and 2, the Bowling scorer kata and a blog kata (hey, maybe that will motivate me to migrate my blog off WordPress!), plus reading Practical Object-Oriented Design in Ruby (all hail Sandi Metz!) and Refactoring: Ruby Edition. Busy busy!
- What did you learn yesterday?
- What are you going to do today?
- What do you expect to learn?
Friday I didn’t end up working on migrating and combining my website, blog and portfolio site after all. I decided to work some more on the Rails 4 book, since the bookstore I’m going to be building will use a lot of the stuff they cover. I also ended up doing the panel at TIY, which was really great. There were six women, and we had a nice discussion. The students asked a couple questions, which were all insigntful, and I think it went well. One of the students asked if, since we had all been in the humanities before becoming programmers, we ever felt like our employers were pushing us to kind of do less programming and more of the writing or whatever we had done before. That question was pretty thought-provoking for me; we have lots of task forces at SB that we are encouraged to sign up for, even as apprentices. I signed up for the blogging task force, mostly because I miss writing, and once my apprenticeship is over I’m not sure how encouraged I’ll be to keep this up. Also, I’m *good* at writing, much better than I currently am at coding, and sometimes it feels good to be reminded that I’m good at something. But now I’m wondering…should I be turning my back on writing? At least for now, certainly not forever, but should I spend my time working on things that I’m *not* good at, that are a challenge? I don’t think that anyone at SB is going to pigeonhole me as a writer rather than a coder just because I blog for them, but I am a coder now, and I want that to be the first thing they think of when they think about my work. On the other hand, blogging for SB means that I’ll be writing about tech stuff: projects and technologies and things I’m learning, so maybe it’s actually the best of both worlds? Man, I just don’t know. I think this is something that will be in the back of my head for a while.
Today! Today I think I’m going to work on Ruby Bits 1. I was talking to David last week and realized that I’m going about this all wrong. I’ve been working on the katas and challenges without doing the basic knowledge work of the books and tutorials first. I have three weeks to complete the work, taking the first couple days or so to work through the tutorials is really the smart way to do it. Kevin suggested this time-tracking app called Hours, it’s typically used by people who have to invoice out their time, but I’m finding that it’s useful to keep track of what I’m working on. Last week I spent almost 4 hours reading, 6 hours programming, and about 7.5 doing tutorials. I wish I could track something using multiple labels, for instance, tutorials are also programming, but it doesn’t work that way. Ah well. I’m also not sure what I did for the other 12 hours of the week, I guess I just forgot to set the tracking.
I expect to learn more about the details of how to write Ruby! Ruby Bits 1 goes over expressions, methods and classes, classes, Active Support, modules and blocks. It should be a great refresher.