A Tip for Webrat

I had my first experiences with Webrat last Thursday and I came across this error: NoMethodError: You have a nil object when you didn't expect it! The error occurred while evaluating nil.fields (eval):2:in `choose' Not being able to decipher that, I turned to the web and found this helpful link which didn't completely solve my problem but did point me in the right direction: check the markup. Looking at what I had:
<tr>
<td>
  <input type="radio" value="1" name="my_radio_btn" id="my_radio_btn">
</td>
<td id="l">
  <label for="my_radio_btn">My Radio Button</label>
</td>
</tr>
...there wasn't a <form> anywhere in sight. Once I fixed the markup to be:
<tr>
<td>
  <form id="better_markup">
      <input type="radio" value="1" name="my_radio_btn" id="my_radio_btn">
  </form>
</td>
<td id="l">
  <label for="my_radio_btn">My Radio Button</label>
</td>
</tr>
... Webrat worked like a charm.

Shop It To Me: My First Day

There was a point today, sometime in-between the deluge of new-hire paperwork, getting to know a new office-space, having to configure a new Microsoft system because my Macbook Pro hasn't yet arrived, the multitude of new names, and a code overview for (just one) part (of many) of an intricate Rails system, when I thought: "this is exactly what I was looking for."

Today ranks as one of the best first days I've had since starting as a software engineer. I like the people I'll be working with, I like the company, I like the product, and I like the numerous challenges before me.

Although, I'll admit that I didn't sleep very well last night. It was mostly due to the heat in San Francisco but partially due to one nightmare I had about showing up unprepared. I don't exactly remember what happened in the dream; I either wore shorts or didn't have any pants on when walking into the office. One is certainly worse than the other, but considering the magnitude of change from my previous position, only one (fairly harmless) nightmare is doing pretty well for the night before a new job.

There was, however, a funny moment at lunch today. The question came up: "so how did someone from Yahoo! get a job at a rails shop?" (alluding to the fact that Yahoo! is primarily a PHP shop.) It reminded me of the time just over three years ago when I caught the Yahoo! shuttle bus back into San Francisco after a day of interviewing in Sunnyvale (which ultimately resulted in my first job at Yahoo!.)

On the shuttle, I started chit-chatting with the guy next to me. He asked if I had snagged the interview through a friend or relative and when I responded that I had landed it after an application through HotJobs, he jolted a bit and responded, rather surprised: "you must have some pretty special skills, then..."

Special enough, I guess...

A New Adventure

Yesterday was my final day after just over three years with Yahoo! and while I was sad to say goodbye to the many talented professionals I met there, I'm excited to embark on a new adventure. I'll be fulfilling the other half of a dream to live *AND* work in San Francisco at a startup whose service you're sure to hear about if you haven't already.

I've been looking for a good fit at a small(-ish) Rails shop where I would be able to concentrate on the frontend (read: tons of JavaScript/HTML/CSS) for a customer-facing site; a place with growth potential where I could make a substantial impact, a place where they would value my years of experience in the backend in addition to my UI chops, a place where I could utilize my soft skills, a place where I could teach and learn, a place where I could potentially contribute back to the Rails community.

As of next week, I'll be joining the company making personalized shopping effortless - Shop It To Me - as Senior Web Developer. If I have your contact info, get ready for an invite to join!

Rails Bootcamp

I recently started a 6-week RoR bootcamp to fill in gaps as I promised myself I would do with a new framework (after building and maintaining a web app with Catalyst over two years.)

As you may know, Yahoo! is primarily a PHP shop, but there's a lot of Perl being used for infrastructure, especially for monitoring. Amongst so many talented Perl developers, I opted to use a framework in order to focus on bringing value at a higher level. With Catalyst (which was new for me,) I read up on the framework as best I could (web/IRC/lists) given the other (Yahoo!-specific) technologies I was learning at the time along with the other responsibilities (product management, project management) I was juggling.

While working with Catalyst, I was burned more than once by assumptions and conventions of the framework I had not had time to go in depth on (they say you use 20% of what you learn, but you never know which 20%, do you?) That whole experience reinforced the notion that you will never always know everything you need to know at exactly the moment you need to know it, even if you're an experienced web developer.

One just needs to be open to change and growth.

And a little extra homework...