161017 – 161106 — Total classroom hours – Stopped counting
Well, not too long ago I said I wouldn’t let the blog go more than two weeks without a post. I’m not going to go back and count, but it was probably less than two months ago. So, I didn’t hold true to that very well, but better now than never! I’m not one for excuses, but it definitely didn’t help that I didn’t really feel like I was kicking ass in anything, but at the same time still felt incredibly busy. I did reach some high notes at the end of this week, so that was a good morale boost.
We had our first retrospective at my internship. Scheduled retrospectives of some sort was a prerequisite for my accepting the internship position. He was all for it, so it’s not like I had to fight for it, but I wanted to know that I would be getting and giving feedback to ensure forward progress for both of us. Up to this point the internship didn’t have a whole lot of structure. What I mean by that is I never really knew what we were going to be getting into during each meeting. That, coupled with the fact that it was running on Rails 2.x, and that the codebase was pretty crusty (as my mentor willfully admitted), all made for a learning, but not super productive experience. During our retrospective we discussed this and decided that working on a different codebase might benefit both me and him more.
This new project is a current codebase, Rails 4.2.5, has a full Rspec test suite, and is much less crusty. During the retrospective we decided that we should try me working on my own more, for many reasons, mostly to force me to dig through tough problems and make decisions based on my best judgement. I was a little hesitant at first, thinking it would take me hours just to decipher what was being asked of me. But I sat down on Saturday and looked at my Pivotal Tracker user story and started to chip away at it.
It felt really good to be working through current Rails again. I’ve been working all front-end with Bloc, and old Rails/JS with the internship. This felt like seeing an old friend again. I took about 30 minutes clicking through the file tree to get an understanding of what was going on, then tackled some routes and fresh .haml files. What’s nice about working on an existing codebase is that there’s a good chance a lot of the solutions to the problem at hand can be found somewhere in the code if you know what to look for and how to find it. I blocked most of Saturday for this user story, and to my amazement I had the first PR ready to submit after about 4 hours. I did go back and forth with my mentor a few times about some syntax I wasn’t quite understanding, but I tackled most of the overall problem on my own and I think pretty efficiently. I mean, I’m writing production code! Thats a huge step in the right direction!
When I started this project I also started a sort of journal to keep track of what I am doing, where I’m getting stuck, and what I need to research more. Initially I started it to be able to talk my mentor through my process, but I think I’m going to keep the entries for a while to reference later on down the road. Im sure that if I find myself at a roadblock once I’ll probably be there again in the not-so-distant future. I probably should have been doing some kind of journal all along, but, as is the theme for this blog post, better late than never.
As far as Bloc goes, at this point I’m really just trying to get it done as ‘efficiently’ as possible. The deeper I get into the front-end section the more I’m finding that I’m probably more of a back-end, database developer. That might change, and I hope it does, I hope that I do enjoy both aspects equally, but right now the front-end isn’t nearly as fun as Ruby/Rails. I stopped logging my hours that I spend on the curriculum. I’m on pace to finish quite a bit early, not unlike the back-end section, so I think it’s safe to say that I understand what I’m doing within the scope of how fast Bloc wants me to pick it up. I probably put more hours into the internship per week, especially now that I’m working on Rails code from home. At the end of all this, some day soon, I’ll need to prove to a team that I’m a solid web developer, and I feel like any and all experience that I have under my belt will help me in that endeavor whether it be from school, internship, or personal projects.