Sunday, March 14, 2010

By the books

So, for this year's spring break I went to San Francisco via Amtrak. That was fun and all, but I really want to discuss my findings on the train.

The train goes through the rockies, and so you have very limited cell reception. There are windows of up to 6 to 7 hours where you will not get a single bar. Most people would take this time to think introspectively, or read a book (which I did do) but I was also at my computer for parts of those windows. I started writing an Android app on the train that dealt with GPS, since that was about the only external communication I had.

The biggest problem I ran into? Documentation. Now, the documentation itself is fine. It's accessing it.

How much of a platform should one know offhand? I ran into times where I was having trouble casting doubles, and since I couldn't look up anything, I came up with this gem (brace yourself):
Object[] x = footsteps.toArray();
Double diff = Double.parseDouble(x[4].toString()) - Double.parseDouble(x[0].toString());
Here, footsteps is of type double. I rely very heavily on Google to get me out of binds that I sometimes have to fall back on dirty casting and duct-tape hacks.

Granted, this is more language-specific typing than it is documentation, but I suppose both come with time.

Although, imagine this rhetorical situation: Say two job candidates were lined up for an interview. Both were given the same program to write (on paper, no computer). Applicant A did it fine, but applicant B had trouble since they couldn't recall specific parts of a language/platform. If A and B were on similar skill sets, but B just didn't have a good memory (or just doesn't memorize trivial things). Are A and B both suited for the job, or does their memories set them apart?

This is something that has haunted me on CS tests before. Why should I memorize specific syntax when the computer is there to coach me through it? Within reason, of course. I suppose I don't see the merit in memorizing QuickSort either; it's not like I'm writing it every day. Memorizing sorting/searching routines is a waste of energy in my eyes.

1 responses:

  1. I suppose it depends on the level of expertise claimed by the interviewees. If one claims to be an expert in a language, I expect intimate and deep knowledge of the type system. (It does make me long for Smalltalk, where "-" is an overloaded method on various Number implementations.)

    ReplyDelete