Tyler Learning to Ride a Bike
Posted on July 8th, 2009 in General | 1 Comment »
YouTube movie below. High-Quality Quicktime version. He’s awesome!
YouTube movie below. High-Quality Quicktime version. He’s awesome!
My meeting in the morning was only 30 minutes long. I really don’t think anything will develop with this particular recruiter but it gave me a chance to practice talking about myself.
The all-afternoon-interview-extravaganza with the San Mateo company was indeed long. The whole interview lasted three and half hours. It was a good mix of philosophy and technical questions. I only got hung up on one coding exercise but that was mainly because the interviewer didn’t explain the problem very clearly and I had to keep asking for clarification on what the end result should be. Overall, I’d have to say it was a positive interview.
Near the end of the interview a couple of my questions to them raised some red flags. First, each developer maintains their own development environment on their own workstation in a Linux virtual machine. Now there’s pros and cons to distributed dev environments versus a centralized dev environment. Personally, I think the advantages of a centralized dev environment outweighs the negatives. But that’s the subject for another blog post (on another blog).
The other thing that slightly worries me is that they use Perforce as their source control management system. It seems weird to pay money for that particular part of your environment when you’re using free/open source software for nearly everything else. However, the person I talked to did seem fairly knowledgeable of Git and how Perforce compares to it which tells me these people do actually care about these kinds of issues.
This was my first on-site interview for this round of the Job Hunt project. I’m not sure if I have any favorites right now as far as what company I would *like* to work for. With all other things being equal I would prefer a shorter commute than San Mateo. Getting there isn’t a problem. It’s getting back home that takes a long time and that’s the most important side of the commute for me.
I have an on-site interview with a telecommunications company in Emeryville Wednesday morning at 10:00 AM. They are in the very early stages of their project. I don’t think any code has actually been written yet. It’ll be based on Ruby on Rails which everyone knows is the new hotness — along with Python/Django. There’s much to like about that situation and much that can benefit me and my career. Given that they’re using Ruby on Rails there’s a high chance it’ll be a Mac-centric shop. Not that that matters too terribly much but it is nice to be surrounded by like-minded people when it comes to development workstations. It’s easier to trade tips on productivity tools and utilities and other Mac-specific tricks. We’ll see how the interview goes.
I continue to get calls and emails from recruiters. One of whom was very persistent in trying to get a hold of me during my on-site interview this afternoon. He called three times in the space on an hour without leaving a voice mail. That borders on unprofessional so I may have to gently say “no thank you” to whatever position he’s pushing.
I managed to get through my first iPhone development tutorial which is the iPhone equivalent of the famous “Hello World” program. If you don’t know, “Hello World” is the first program anyone writes when learning a new language or framework. It simply displays the text “Hello World” to the screen. This one has the added twist of allowing you to type your name and it’ll display “Hello [name]!”. Mine *mostly* works but I can’t get this onscreen keyboard to disappear when it’s supposed to. I probably missed a connection somewhere but it’s getting late and I need to get some rest.
Not much happened today on the Job Hunt project. I had one phone interview in the morning with a company who makes a storage area network product and needs someone to make enhancements to the web-based user interface. The interview was successful in that we both learned what we need to learn about each other in order to make an informed decision. I’m pretty sure we mutually agree we’re just not right for each other.
The rest of my week is starting to fill in. Tomorrow I have an on-site meeting with a recruiting company. Kind of like the one last week. They want to actually meet face-to-face with people before they submit them for a position. Later in the afternoon I have a face-to-face interview with a company in San Mateo. That will be an all afternoon extravaganza. Hoping I can survive it.
I had intended to hit some of the job boards again today to get some fresh applications out there. In case nothing pans out with my first round of applications it would be nice to have some stuff already in process for the second round. However, I wasn’t able to get to that today. But after looking at my schedule for the rest of the week I’m thinking I already have all the attention I can reasonably handle at the moment. More applications might mean more calls which I wouldn’t have time for.
Speaking of time, I’ve been trying to find time over the past couple of days to learn how to develop iPhone apps. Time has eluded me so far but hopefully, I’ll be able to sink my teeth into that soon and turn out a couple of simple but elegant apps.
Tyler wanted to practice riding his bike without training wheels. We had only tried riding without training wheels once before and while it went fairly well he still needed a good bit of help.
Today he said he wanted to practice turning. I told myself I would be happy with him going in a straight line without assistance most of the way. I underestimated him. Big time.
We went to his school which is close by and has a very large paved play yard so we would have lots of room to ride around in. I got him started and slowly removed my hand from the back of his seat. He stayed upright and kept his balance really well. Then comes the turn. I tried to coach him to take the turn wide and not try to do it too fast. He took the turn perfectly without any trouble whatsoever. He rode around the entire perimeter of the play yard like a champ. Now we were approaching our starting point where he was slowing down to stop. I was fully expecting a crash here. But to my surprise he used his brakes and stuck his feet out to hold himself up. A perfect ride and it was only his 2nd time without training wheels.
So we’re giving high-fives and I’m talking to another dad at the play yard about how great he just did. I look over at Tyler and the kid takes off on his bike completely on his own. One foot on the pedal. One foot pushing. He gets both feet of the pedals and he’s off to the races.
If I had any idea he was going to ride this well I would have brought my video camera! Or regular camera. I even left my iPhone back at the house! I had no way to document the moment other than through words.
I forgot to update Thursday night. Here’s how it went.
Interview #1: An initial conversation with a telecommunications company in Emeryville. They want to get into Internet video in a big way and have chosen Ruby on Rails as the technology platform. Conversation went well. An on-site interview has been scheduled for Wednesday morning.
Interview #2: A technical interview with a company whose business model is based on selling virtual goods for real money. I thought this conversation went pretty well until the recruiter who set it up called me later in the day to say they’re not going to move forward.
Interview #3: A technical interview with a… uh. social networking company. I think. You have to sign up for the site and actually use it to know what it’s about. Unfortunately, I just haven’t had the time to do that amid the constant emails and calls I’ve been swimming in last week. Anyway, I’m still waiting to hear back on this one but don’t expect a positive response since my answer to an early question appeared to signal the end of the interview.
Him: “How would you monitor the network traffic between two different hosts?” Me: “How would I monitor the data passing between two different machines on any arbitrary port for any arbitrary service?”
Him: “Yes”
Me: “Fire up Ethereal. I’ve used that in the past and it’s given me the results I was looking for.”
Him: “Interesting… okay, do you have any questions for me.”
If the job really requires that much network operations knowledge then it probably isn’t the right job for me anyway.
Interview #4: A kind of technical interview with a consulting company in San Francisco. Could be a cool gig. We’re going to do an on-site interview some time this week. Just need to get it scheduled.
Also met with the placement company who wanted me to fill out some paperwork and just meet and talk with me. I think I convinced them I’m indeed a normal person whose not going to embarrass them should we be successful finding a position somewhere.
On Friday I had a technical interview with a company who is definitely is in the social networking space (come to think of it, who isn’t these days?). This did not go as well as I had hoped. We seemed to get hung up on the idea of cookie security. After the interview was over I went online to research the subject once again. Turns out I wasn’t that far off the mark. There’s varying ideas on the subject and there’s a lot of people out there who would have accepted my answer as sufficiently secure. Maybe, this guy wasn’t one of them.
Anyway, I have one phone interview scheduled for Monday morning. They’re asking for strong CGI/Perl skills. I think they may be the last company on earth still developing web applications with CGI/Perl. This company is most likely not a good fit either but we’ll see it goes.
I have on-site interviews Tuesday afternoon and Wednesday morning. Both companies seem like they’d be pretty cool. A third interview should be scheduled sometime this week as well.
The morning was spent mainly fielding calls from recruiters and running a non-job hunt related errand which required me to BART to Berkeley. One of my phone interviews for the afternoon got bumped to Thursday which was fine by me. Three phone interviews in a row can be quite daunting. Also, my voice can only handle non-stop talking for so long.
The two technical phone interviews I had in the afternoon went really well. Nobody asked me anything I didn’t have an answer for and I felt like I connected with the interviewers on a personal level also. The next stage for one of the companies is another phone interview with another engineer. The other company would like to bring me in for an in-person interview which is to be scheduled shortly.
In between these two interviews and afterwards I fielded yet more recruiter calls and emails and managed to fill up my schedule for Thursday pretty well. Beginning at 9:00 AM I have a total of four phone interviews whith each beginning at the top of the hour. Three are technical and one is an initial conversation. Then in the afternoon I’m meeting in-person with a recruiting firm who insists on a face-to-face meeting with their job-seekers before submitting them to clients. It’s their way of making sure they’re dealing with real human beings who aren’t psycho or ultra-smelly. I consider that a good sign and in my book it elevates them above “headhunter” status just a little bit.
After dinner and getting the kids ready for bed and cleaning the dishes and doing the bills I had about an hour to spend learning how to use the Wordpress API from Python. There’s not a lot of great documentation out there but I was able to find one example that worked for me. What’s weird about the Wordpress API is that it’s really three APIs and you have to use a combination of at least two of them to get any real work done. At least that’s the case judging from the scant information I was able to glean from the web. I would seem like this is an area begging to have someone develop a library for. Indeed it looks like someone started to do that back in 2005 but never got around to finishing it.
I would consider today a fairly productive day concerning the job search project. I stayed away form the job boards today and fielded more calls from recruiters. Most of these recruiter calls will be a complete waste of time but you have to treat each one as if they might have the job I’ve been looking for.
Unfortunately, many recruiters don’t know the difference between a back-end engineer and a front-end design technologist. Design technologists exist in the space between pure designers and the folks who write code to the heavy lifting behind the scenes of a site. These guys are concerned with the presentation layer. They take a designer’s concept and turn it into functioning HTML/CSS. They’re also increasingly handling JavaScript duties to implement the kind of rich client interfaces made possible by the awesome JavaScript frameworks like JQuery. I’m a back-end engineer but I’ve received a lot of inquiries over the last six months from companies looking for solid front-end engineers. I’m thinking I need to spend more time learning the more advanced CSS concepts and best-practices.
Anyway, one recruiter wants to submit me for a position at IGN which sounds promising considering my history with consumer video gaming sites.
I had two actual phone interviews with HR managers. These are the easy interviews. It’s really just to make sure we both understand what the position entails and that my experience does indeed match up with the requirements of the job. They also ask questions to make sure I’ll fit in with the culture of the company. Or least make sure I don’t balk when they say things like “You’ll have to wear many hats and be prepared to work on different parts of the system as the needs of the project dictate. Are you cool with that?” Ya, I’m cool with that. I can’t imagine many people say, “No, I just want to write Java code all day long and never touch any HTML or do database administration.” Apparently, some people ask if they can telecommute all the time which doesn’t go over too well with most companies. Both interviews resulted in scheduling technical phone interviews.
I have two technical phone interviews scheduled for Wednesday afternoon. These will be a little harder but there’s only so much you can do over the phone. I don’t anticipate much trouble with these but you never know what the competence level is of the person conducting the interview. A good phone interview should reveal that you actually know about the stuff you put on your resume and can talk intelligently about it. You should be able to answer a few simple questions to prove you have real-world experience with the technologies you say you have experience with. It’s a way to weed out the obvious liars before bringing them in for an in-person interview where much more time could potentially be wasted. An unskilled interviewer might try to turn this into a game of trivial pursuit or worse… throw brain teasers at me. I don’t do well with brain teasers.
So, I hope they go well. Trying to train myself to not say “umm” and “uhh” so much.
Even though I got a late start today it was a pretty productive day as far as the job hunt goes. I hit the job boards again and sent out a total of nine resumes. I also posted my resume to both Linkedin and Dice.com which of course resulted in a few calls from recruiters. Calls from recruiters aren’t much to get excited about. In most cases they ask you a standard set of questions and tell you about one or two opportunities they think you’re a good fit for — whether or you’re actually a good fit them. Despite my pessimism about recruiters one of them actually offered some advice about how to craft my resume for a couple of clients he’s working for and seemed genuinely enthusiastic about my chances for one opening which matches up pretty well with my experience. I spent some time this evening making the suggested changes to my resume in hopes it’ll pay off. We’ll see.
Some of my applications from last week are starting to get responses now. Monday must be the day when hiring managers actually sit down and look at some the resumes that have floated their way. Today I received three emails from real people at real companies looking to set up phone interviews. One is scheduled for Tuesday between 1:00 and 3:00 while the other two should be scheduled soon.
In other news, Tyler and I played a three-game series of Candy Land this afternoon. Tyler swept me. We’ll have to have a re-match someday.

Tyler also had a really great idea for a business we could run. People drive up to our house and one of us goes up to the cars asks them what they want. The people in the cars tell us if they want either a burger, fries, or milkshake. Or all those things. Then we ask if they would like to eat it in their cars or take it home “to go”. Then we give the food to the cars from a “hole” in our house. It sounds like he wants us to run an In-N-Out burger joint from our house. I like this idea.
Today’s job hunt activities involved much of the same things as yesterday. I spent much of the morning combing through job boards and sending resumes to those I felt were appropriate. Yesterday I sent out twelve applications and today seven.

Monster.com is really over-engineered. It feels like its primary purpose is to satisfy their partners and clients. Those being the hiring companies and not the job seekers. It also seems like program managers throw “usability” enhancements in so they can feel like they’re earning their pay. You can hardly move your cursor around their site without some tool-tip or window popping up with the intention of helping you but it really just gets in the way. Craigs List is about a thousand times simpler, easier and more pleasant to use than Monster.com. Still, I gotta do what I gotta do which means visiting Monster.com on a regular basis. When I return to the job hunt project on Monday I’ll check out Dice.com and see how they compare.
I did have a phone interview today which was unexpectedly short. It turns out the company in question wanted to pay primarily in stock and was only able to offer an extremely low (and I mean

In the afternoon I did a thorough cleaning of my office (aka Man Cave; aka Programmers Lair). It took a while but the result is well worth the effort. I now have a nice clean area where I can sit down and focus on whatever it is I need to focus on. It’s a space that promotes productivity and creativity. Those decorations on the wall are school art projects from Tyler and Jillian. I started putting them on the wall at the beginning of the school year as a way to keep my desk relatively clean. After a while it became my goal to paper the entire wall in school art work. It only took about half the year to accomplish that. I may want to re-think the wall decorations in this room but not before a new job is secured.
The most recent version of iPhoto has face recognition technology. It will identify faces and allow you to name them. The more faces you name the better job it can do automatically detecting that same face in other photos. I’m still trying to figure how how detailed I should be with naming faces in my library.
I have over 12,000 photos with a good portion of them containing more than one face. The vast majority of them are of our own family but as I’m going through the naming everyone I’m surprised by the number of unique faces in our photo library. Currently, I’m up to 103 individuals and I know there’s a lot more.
Pictures of groups of kids are the more difficult to deal with. Sometimes I don’t know the names of everyone. Many times these classmates or teammates or party-goers don’t really have a tight connection with our family. I’m inclined to name just our own kids and ignore the rest. But then I think it would be cool to come back to these pictures years from now and say to Tyler, “Ya, this was you in your kindergarten class and then person in the picture with you there is Adrian”. We may want to show him pictures of his first T-Ball team and be able to put names to as many faces as possible. The girls may find it interesting to see who attended their early birthday parties.
Some faces I do ignore like random kids in the background of pictures at the park and stuff like that. But the completist in me want to catalogue as many of the people I can name as possible. Better to have more information than not enough. There’s no telling how we may want to use that information in the future.
The bulk of the work is in naming everyone for the first time. Twelve thousand pictures can contain a lot of faces. If I only had to worry about the new photos we take on a weekly basis I’m sure it wouldn’t be that bad.
One of the problems in having hundreds named faces in your library is the corkboard interface iPhoto uses. You get a grid of people in alphabetical order. If I want to see the “Tyler” album I have to scroll all the way down to the T’s. I hope Apple comes up with a better way to categorize people in the next version of iPhone. I would be nice to be able to group faces into categories like “Family”, “School Friends”, “Extended Family”, etc. Or maybe allow the list to be sorted by frequency. Or group by frequency. Something where I can have easy access to my family and close friends and push the secondary faces somewhere else.