Archive for May, 2007

Chatting at the Water Cooler

Friday, May 18th, 2007

My office doesn’t actually have a water cooler, but if it did I would make it a habit to stop in and chat around it from time to time. I wouldn’t spend a huge amount of time there, but just enough. Lacking a water cooler, I make it a point to chat with people in the hallways as I am walking to meetings and the printer.

Seems kinda like a waste of time, doesn’t it? A lot of the developers who I work with think that it is. If they don’t already know you, you will be lucky if they don’t just look away when you walk by. No “Hello” or “How is it going?”. Certainly no “Hey, how was that fishing trip to Wyoming this weekend?” They are making a big mistake by not being social and getting to know their coworkers.

First a bit of a mea culpa. I am terrible at remembering names. My memory is fine otherwise, so it must just be a matter of me not placing enough importance on it. That is definitely a mistake on my part. I also really, really don’t like talking to people. I just feel awkward when I do. Getting to know the people at work is worth suffering through it though.

What’s the point?

This is the key to my whole argument. I know at least a little bit about the interests of people in my company from the receptionists to the people physically building our systems, from the developers and test group to senior project managers and executives. When I run into the head of development for our orthopedic products I know to ask him how the restoration of his Jaguar is going. I know to ask the receptionist about fly fishing and his kids.

“You can make small talk with people throughout the company. Big deal,” you say. Actually it is definitely a big deal. I frequently will drop in to chat, and in the end bring up a work issue and the person will offer to give me a hand. They frequently do the same to me. Everybody wins. Things get done and it is enjoyable to do them with people you know.

It is their job and they would have to help me anyways, right. That doesn’t accurately reflect how things work in a corporation though. Frequently, I will be asked to help out on things that definitely aren’t part of my job. However, if I am able to help I always will. It is in the best interest of the company. Long term, it is also in my best interest. If I apply for a job in our development group, I will know every one of my interviewers. A lot of them will have asked me for help at some point in the past. When I walk into that interview, they will already know that I am smart and hard working.

On a much smaller scale, the other day I needed some new office supplies that the company doesn’t stock. Normally, the way this works is that I have to find a catalog and dig through it for what I want. Then I get my boss’ approval and send an email to our receptionist with cost centers and catalog numbers. She will order them next time they make an order. It takes time and effort.

Instead, when I was stopped chatting with the receptionist in the morning I mentioned that I needed some things. The next day there was a box waiting on my desk with the new office supplies. No looking at catalogs, or emails needed. Just a pleasant conversation in the morning.

Why You Need to Own a Suit

Thursday, May 17th, 2007

The other day Stephanie and I were talking to one of our friends who just got a new job. It is well paying, and generally a big step up for him. My first piece of advice was to buy a suit. A nice suit at that.

We are both programmers (not exactly the best dressed crowd) and live in a very informal part of the country. In this context, my friend thought this was a very odd suggestion and disagreed with me. At the time I was not able to pinpoint why I thought owning a nice suit was such a vital thing for young turks like us.

I am a pretty conservative guy when it comes to work. I generally am very professional at work (attire aside). A lot of my coworkers share very questionable stories on the job. I don’t. I have a pretty strong distinction between my work and personal lives. In my personal life I go to punk rock shows, get drunk and puke in the streets, and try to fight my friends at nice restaurants.

So, why then a suit?

A suit shows that you are willing to play the game. It shows that you understand how business is done. It shows that you respect the person you are meeting with. A suit shows that you might look like a young turk, but that in reality you are a professional and that person can trust their business to you.

How often do I wear my suit?

As a geek in a very informal company, not often at all. The last time I wore my suit in a professional context was for an interview. However, it is important to own a suit because if I need to wear one tomorrow, I am ready to roll. They are also nice to own for your personal affairs — going to a swanky restaurant? Opening night at a play? Sure, your date might tell you that you look fine in a shirt and tie, but she would be much more impressed when you roll out in a dashing suit.

How much is this going to cost me?

When I graduated from college a couple of years ago, I made a budget for some dress clothes. It was a graduation present to myself, so I set it at $750. I went to a nice mens clothing store, found a clerk, and explained that I needed a suit, two dress shirts, and two ties. I also told him what my budget was and that it was a very hard limit. He was very helpful and basically picked out everything for me. I don’t know about clothing, so I placed my trust in a professional. My suit was about $500, the dress shirts were about $50 each, and the ties were about $100 each. The math doesn’t add up, I realize. The clerk was nice enough to throw in one tie for free to keep me in my budget.

Remember, this suit is supposed to show you play the game - not how unique you are. It should look nice and traditional, not like a costume. The link to buying a suit for £200 gives the following advice about the style of a suit:

Make sure you pick a classic, single-breasted, two or three button front. Never choose those dreadful four-buttons or nehru style collar suits- they reek of cheap designer rubbish and look totally stupid once you’re over twenty years old. A double breasted is cool, but try to find a six button (two fastening , and only fasten the top button).

You can definitely look just as nice for less. If you can find an old man in the suit department at a department store, you can probably find a suit for a couple hundred dollars. I think that it is hard to find nice dress shirts for less than about $50 each, and nice dress shirts really are worth that. Yes, they do look that much nicer. Try looking at Nordstrom Rack or the Saks Fifth Avenue outlet. These are also great places to buy ties, but they won’t have good help available. If you are friends with a dandy, take them along even though you always make fun of how they dress.

Ties. I hate ties. I really truly hate them. I avoid them when I can, but recognize that in some situations I have no choice. Nice ties are expensive. I have never figured out why. You would think that the cheap tie manufacturers would like at what the nice tie makers are producing and copy it. They don’t. Cheap ties look cheap. That is coming from someone who wore cheap ties most of his life. This is where it is worth buying Armani, Ike Behar, Hugo Boss, or one of the other famous designers. I hate to spend $100 on a little string of silk, but for some reason there really isn’t an alternative.

Don’t trust me, trust an expert

Thomas Mahon - makes suit for royalty. His suits are expensive and require a lot of travel and personal attention. I plan to own an actual bespoke Seville Row suit at some point in my life, but it will have to wait.

what if you only have £200? is a great article on buying an affordable suit.

GQ - Yeah. I make fun of guys like me who read it too. This is one to read and throw away not leave in your bathroom for your friends to see.

A bunch of applicable articles.

The guy at the store. This is vital. He is going to know what they have, and will have seen a lot more people wearing suits than you. You have to be careful and make sure he isn’t leading you down the wrong path. I find the guy at the store especially helpful for matching suit, tie, and shirt. I suck at that.

Auto-launching my rails development environment

Tuesday, May 15th, 2007

My morning routine is pretty much always the same. My wife wakes me up, saying something about “late” that I can’t quite comprehend. I writhe about on the bed a bit trying to break free from the remaining tendrils of sleep. Finally, I look at my watch and spend a moment processing the numbers.

Shit. I have to go to work.

A 30 second shower later and I am in my car heading to the office. Luckily, Stephanie understands this process enough to get it started earlier enough for me to get to work on time. I roll into my office at the last possible moment though.

Okay. I have to get to work fast. Unlock my windows box, open my MacBook, launch Outlook on my windows box, launch iTerm on my MacBook. Have you seen the scene in office space where the main character is trying to get out of work before his boss asks him to work on the weekend? That is how I feel at about this point.

iTerm is finally up. Now, I just need to open 3 tabs and start my server, my rails console, and a tail of my development log.

Am I not a programmer? Can’t I make my Mac do all of this work for me? Of course I can.

listing for /usr/local/bin/rdev

#!/bin/zsh -f

if [[  $TERM_PROGRAM != iTerm.app ]]; then
    open -a Terminal
    return 0
fi

# First, get the directory for rails

if [[ $# == 0 ]]; then
      ThisDirectory=$PWD
elif [[ $# == 1 && -d "$1" ]]; then
      ThisDirectory=”$@”
else
      print “usage: rdev [directory]”
      return 1
fi

if [[ -e "$ThisDirectory/script/server" ]]; then
      print “Starting Rails Dev Environment”
else
      print “$ThisDirectory does not look like a rails app!”
      return 1
fi

osascript <<-eof
tell application “iTerm”
	make new terminal
	tell the front terminal
		activate current session
		launch session “Default Session”
		tell the last session
			write text “cd \”$ThisDirectory\”"
		end tell
		tell the last session
			write text “./script/server”
		end tell
	end tell
end tell
tell application “iTerm”
	make new terminal
	tell the front terminal
		activate current session
		launch session “Default Session”
		tell the last session
			write text “cd \”$ThisDirectory\”"
		end tell
		tell the last session
			write text “./script/console”
		end tell
	end tell
end tell
tell application “iTerm”
	make new terminal
	tell the front terminal
		activate current session
		launch session “Default Session”
		tell the last session
			write text “cd \”$ThisDirectory\”"
		end tell
		tell the last session
			write text “tail -f log/development.log”
		end tell
	end tell
end tell
tell application “iTerm”
	activate
end tell
eof

Now, when I get in I use Quicksilver to open an iTerm in my development directory. Then I simply type “rdev” and I am ready to roll.

This code is thanks largely to the scripts available at http://xanana.ucsc.edu/xtal/iterm_tab_customization.html