The Artima Developer Community
Sponsored Link

Ruby Buzz Forum
My Apprenticeship - Monday, June 14, 2004

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Jake Scruggs

Posts: 336
Nickname: aurorae314
Registered: Feb, 2008

Jake Scruggs is a developer at ThoughtWorks
My Apprenticeship - Monday, June 14, 2004 Posted: Jun 14, 2009 6:07 PM
Reply to this message Reply

This post originated from an RSS feed registered with Ruby Buzz by Jake Scruggs.
Original Post: My Apprenticeship - Monday, June 14, 2004
Feed Title: Jake Scruggs
Feed URL: http://jakescruggs.blogspot.com/feeds/posts/default
Feed Description: Ruby, Rails, Metrics, Testing, and pursuit of clean code.
Latest Ruby Buzz Posts
Latest Ruby Buzz Posts by Jake Scruggs
Latest Posts From Jake Scruggs

Advertisement
This summer I'm revisiting my short apprenticeship at Object Mentor. I'll be posting commentary on all my posts from the summer of 2004 exactly 5 years later to the day.

Monday 6-14-04

Today I took the train to Waukegan, and then unfolded my bike and rode the last five miles to OM.

Good news:

An hour to do some work on the train.

10 miles per day should help me lose some weight.

Bad news:

My commute now takes about 2 hours.

There's a lot of hills.

Now that I'm using Python, I tend to indent everything.

Speaking of Python, I spent some time this weekend translating my Tic Tac Toe program into python. Most of the stuff is pretty easy. But it still took a fair part of today to complete the translation. And when I say complete, I mean it compiles, not that it runs. I'm having trouble printing out the board (my toString method won't cooperate) and I haven't quite got the hang of making complicated calls in python.

This morning I met Paul, the other apprentice. He's been working with OM for about 3? years now. He's finishing up a Computer Science degree at DePaul. During lunch I asked him what he though about apprenticeship vs. college and he had this to say: 'Computer Science' what a joke of a degree.' Hmm. How so? 'I learned more from watching Micah program in a day than I learned in my first year.' Strong words. When I pressed him as to why he feels that academia can't teach CS, he had two points: One, CS is so new and evolving that how to teach it is continually way behind the curve. Two, it just doesn't work unless you have someone right there to help you. As a teacher, I can agree with the second statement. One of the reasons home schooling routinely kicks public school's ass is because you just can't compete with the Teacher/Student Ratio. I'm a way better teacher than just about every home-schooler, but who cares when I'm divided by 30 or even 20.

For awhile Paul and I did some pair programming (my first pair programming experience, aww), sorta. He's way farther along than me so I was only able to contribute a few things, but even so I feel reasonably good that I could do something besides sit there. Unfortunately, we ran into a pretty sticky problem just about right away. While looking at the OM wiki code(written in Python) we found that none of the tests would pass. This is a huge problem because the whole TDD thing requires that you keep checking if the code works. Well it doesn't. Except it does: The Object Mentor wiki is alive and well as we speak. So something's wrong with the tests. It seems that the tests create some temporary files when they start and then delete them after a given test is run. Problem is that the files it creates are read-only, so it can't delete them. We spent a few hours trying to figure out how this could be so, but we were flummoxed. Unfortunately nobody was around who had ever worked with the code (David just started, Lowell is on the business side of things, and others were involved in teaching a class). So we spun our wheels for awhile. At first it was kinda cool asking Paul what various code was for, but after a time he and I were getting more and more frustrated looking at code that really should work. And when you can't test, you can't do TDD. Eventually Paul started coding 'blind' -- as he put it. But by then the day was over and I had to get back on my bike. Man my ass hurts.


This was the first of 3 different summers that I rode my bike excessively to work. Every summer I was convinced the extra exercise would help me lose weight and yet it never did. I guess I ate exactly the right amount of extra calories to keep the weight on. Awesome.

Paul, in the above post, is Paul Pagel. He later went on to co-found 8th Light with Micah Martin. We spent a lot of time that summer pairing, but he was so far beyond my abilities at the time that I felt bad about holding him back. I spent a lot of my days with him thinking "Well, I have no idea what he's doing right know but I just made him stop 10 minutes ago and explain everything so I can't really do that again... Can I?" It's tough when wildly dissimilar levels pair -- in an ideal environment you should try to avoid complete mis-matches but that's easier said than done. One of the nice things about Obtiva is that we often have more than one apprentice at a time and there's always someone who just graduated from an apprenticeship so our apprentices get some exposure to pairing with someone close to their level.

I still have the foldable train-friendly bike, but I probably haven't ridden it since that summer. Wanna buy it?

Read: My Apprenticeship - Monday, June 14, 2004

Topic: Rails Day in Kraków Previous Topic   Next Topic Topic: My Apprenticeship - Friday, June 11, 2004

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use