Lowering the Lifeboat
The three days after Christmas were spent wrapping up my work at the Titanic. With my coworker on vacation and the CTO and CEO spending the week at their homes, I had the office to myself.
I concentrated on documenting as much of my work as I could. Fortunately I had written a lot of specifications and developer documentation over my two years there, so much of it was just gathering it together and then uploading it to the company's internal document sharing portal.
My boss asked me to dig up status reports to give additional information on where things stood. Most of those e-mails were penned up in the company's old e-mail system, from which we migrated in the late spring last year. That system used expiring certificates as part of its authentication system.
My certificate has expired in late November last year with the passage of my two-year anniversary at the company, and I had requested that the CTO renew it. When I told him that I would not be able to retrieve the status reports without that renewal on that Wednesday (12/26), he finally got around to creating the renewed file. From there, I converted of the e-mails to PDF and put them on the sharing server.
I also did my last round of monthly system maintenance for a client and did the first stage of the rollout of security settings for that security audit. I left detailed notes on how all that was done. Hopefully the
Shortly before 5 p.m. on Friday (12/28), I got a call from the CTO, who asked me whether I was still in the office. I said that I was still busy sorting through paper documents to make sure anything that was company intellectual property would be left there at the office. He thanked me for staying on the extra time and wished me well.
I didn't get out of the office until just before 7 p.m. that night, hastily loading all my books and work materials into the trunk of my car so I could head for home. When I had triple checked that I had moved all the stuff of mine out of the office, I left my door key and electronic access cards to the building and the colocation facility near downtown in my coworker's desk. I closed the office door behind me with a deep breath and ceremonial solemnity. I quietly said, "It is done," and then made my way down to my car.
Software on the Circle
I agreed to meet with my new boss on New Year's Eve, even though the office was technically closed. He thought it would be good to get me started while the office was quiet and empty. He gave me a background on their hardware infrastructure and got me started with setting up a development environment.
Because they are a web-based service, the application is delivered via a web server. They have a close approximation to the web server environment set up as a virtual machine, so my first task was to get that copied over and running. Then I checked out the source code and got the quintessential "hello world" example working on a webpage.
By the middle of the week, I had gotten my work computer, a brand spanking new MacBook Pro with 2 GB of RAM. I have to say that this laptop rocks... big-time. It is going to be hard to go back to Windows anytime soon.
The rest of my first week was spent learning PHP, a dynamic language that borrows heavily on C, C++, Java, perl, and Bourne shell. Learning the syntax was easy. However the language has a vast array of extensions designed to help the developer do things quickly and easily. Developing an awareness of these features was a bigger effort, and there will still be much to learn in this area.
To help me learn the language, he gave me a list of 15 essential exercises that someone drew up as a way to learn a new language. My efforts were focused on creating command line versions of these programs and demonstrating them to my boss. He gave me useful feedback on how there were better ways to do certain things in PHP.
My next step was to create a web version of an exercise. I chose an exercise where the page performed an engineering calculation and then returned a result. By the beginning of my second week on the job, I had a basic request and response script set up.
The next phase was to create an AJAX version of the page so that the calculation query could be made and then placed on the page without having to do a full blown refresh. I also added JavaScript validators to the page to warn the user of invalid inputs. By the middle of the week, I was starting to implement a version of the same page using the framework that is being used in the website.
It would be an understatement to say that I've been drinking through a firehose throughout this time. I am learning new things and enjoying it. My boss seems happy with my progress, and starting next week, I will be taking on my first development project.
I'm coming in on the ground floor on the engineering end. When the company launched in early 2007, they chose to outsource development of the original version of the product through a local contracting agency. The first full-time engineering guy, my boss, hired on in September. Another contractor works mostly off site, but he probably will not go permanent. My boss has been very busy with interviewing prospective leads, and on this past Friday, I did my first phone interview for the company. After all of those interviews I've done over the past year, it was weird to be on the giving end.
I also really like the people here. The founders are down to earth and sharp. Although both come from more of the marketing side of things, they have treated us techies with much respect. The employees are creative, energetic, and happy to be there. The ones with whom I share office space have apologized several times about the noise, but I told them it's actually nice to be in a place buzzing with activity.
I've been commuting exclusively by bus. There is a bus line that stops at a location that is a four minutes' walk from my house. The trip is 9.3 miles, and it takes 37 minutes by the timetable, but I get a lot done because I can take my laptop with me. The $3 I spend daily for a round trip is about what I'd spend on gas driving, and it saves me the $8/day I'd spend to park at a nearby garage. It also reduces my carbon footprint.
All in all, I'd say that I've been busy, but mostly happy. I'm starting to take a look at the next big change of my life, which will be separation. My first paycheck from my new job will be issued this Friday, and that will begin the split of finances. I can start to see things fall into line.