Archive for the ‘Working’ Category

Google Wave Goodbye

Thursday, August 5th, 2010

I’m sorry to see that Goggle has dropped the Wave product.  I played around with the application when it was first available.  It took some time to understand the idea and the implementation had its flaws.  But the idea was really interesting.  I was not able to use Wave because for it to be truly useful I needed my network of coworkers to also adopt the technology.  They didn’t and hence the product was of no use to me.  Maybe Metcalfe’s Law best describes why the project failed.  Too bad.  I had hoped that Google Wave would succeed.

Never Read Another Resume

Monday, June 28th, 2010

Interesting article:

Never Read Another Resume

Jason Fried talks about hiring at 37 signals.

Using a VM as a Secondary Development Environment

Friday, July 24th, 2009

When I’m working from home, I will usually work in a virtual machine that is sitting in a VM cluster on my company’s servers. When I’m in the office I’ll work primarily on the box that is siting under the desk. This arrangement started out for purely practical reasons. But I’ve discovered something very useful about doing development in two different environments: it forces me to get everything checked into source control. It is one thing to use source control in principle. But when you are working on a small team, it is really easy to fudge. I might for example create a SQL script for development purposes, but to save it on my desktop. Ooops, now I don’t have it anymore when I’m in my other location and I need to go looking for it. Getting in the habit of working in multiple environments means I’m much more conscious about getting everything checked in and hence organized.

There are two more benefits of using a VM that I’ve discovered. The first goes to general development work habits. I have a very flexible work schedule and don’t always decide if I’ll be working from home or from the office until the evening of the prior day. So I get in the habit of checking in my work every day. Which in itself is not all that valuable. But it leads to a focus on getting all my code to a clean state by the end of the day. I don’t want to check something in that might break a build. So I make sure that I leave everything in a clean and complete state before I go home. I find that this helps me to be very focused on the task at hand. The build works. Unit tests are complete and I get that satisfying green check mark. It’s a whole lot better to start a day without something that has to be finished or fixed.

The second benefit relates to working from home. If there was a power outage or some system update over night my desktop box might be unavailable and I might not be able to connect to it remotely. But since my virtual machine is running on monitored servers, it is more likely to be available.

Tablet PC

Thursday, May 7th, 2009

I am writing this blog entry on a tablet PC. When I say writing, I mean that I am actually writing. I am not using a keyboard. I am writing with a stylus on the screen. I have just gotten an HP TouchSmart PC that I am testing out for work. It is a convertible Tablet that can swivel from keyboard mode to tablet mode.

The hand writing recognition is quite usable right out of the box. And I have some pretty sloppy hand writing. But I can type much faster than I can write. So for tasks that do not require a lot of textual input, the tablet mode is great. But for longer typing, I find that I am much more efficient if I switch to keyboard mode. Not only because I can type quickly, but also because the interface in tablet mode is somewhat lacking. (I wrote about half of this in tablet mode before I switched back to keyboard mode.) I find that I need to constantly switch between the writing panel and the onscreen keyboard panel. And those panels are constantly popping up in different places on screen or disappearing entirely. Microsoft has some work to do to make the tablet mode more usable.

What I like most about the Tablet PC is the ability to interact directly with the user interface elements on the screen. I can use the stylus to touch an icon on the screen or to “click” in a check box. It feels much more immediate than using the mouse. And the tract-pad is not great making the stylus that much more attractive.

The device includes a finger print reader. At first I thought it gimmicky. But after using it for a week I am finding it faster than typing my password. And that brings me to the hardware. The device has lots of stuff: Web cam, DVD, ports galore, etc. But the overall design of the device isn’t great. And some of the individual elements feel cheep. Maybe that’s because they are cheap. The device was one of the cheaper tablet PCs on the market and the manufacturer obviously had to save money somewhere.

I’m not sure about the form factor yet. I want to use it some more before I draw any conclusions. Is a device that converts between keyboard mode and tablet mode a good idea? It is a bit heavy for tablet mode and a bit small for a keyboard mode. Likewise the screen is adequate in tablet mode, but this device would be insufficient as a primary work machine. On the whole, I’m pleased with the device and look forward to using it more.

Daily Delivery

Tuesday, March 24th, 2009

A friend of mine recently asked me what I thought of the idea of a daily stand up meeting. I like it. A few years ago I was working as a consultant and the group I was working with had a daily stand up meeting. That daily meeting was very helpful to me because it instilled in me the principle that I call “Daily Delivery.” The principle is this:

Every day at work, I try to focus on one (or two) things that I can get done and deliver.

This principle was a direct result of the stand up meetings. Because every day I would report my work to the rest of the team, I wanted to make sure I had something to report. Some days, particularly at first, I had to be creative and come up with something to say. But as I got into the routine I found that having the meeting meant that I was planning my work in smaller chunks of 2, 4 or 8 hours. Not only did I FEEL like I was getting more done, but I actually WAS getting more done. It is hard to be focused on a large, nebulous task. Having a very concrete, short term task makes it easy to focus. And it is harder to put things off. When individual tasks are measured in weeks or months, it is all together too easy to procrastinate.

Even after I had moved on from that consulting job, I found that the principle of Daily Delivery stuck with me and has become a habit. I find that I am better at planing my work, more focused and more productive. Maybe all that isn’t just because of daily stand up meetings, but I think those meetings sure helped.

Intrinsic and Extrinsic Motivation

Wednesday, January 14th, 2009

I just read this interesting article about intrinsic and extrinsic motivation and compensation. I had a conversation a lunch today about how hard (or impossible) it is to place a value on development work because it is so subjective. Which is why annual reviews and bonuses always feel so arbitrary. I don’t really have a solution to suggest, just ranting I guess. I do, however have more respect for people who recognize the difficulty of this somewhat paradoxical issue.

Enjoying Work and Being Productive

Tuesday, November 4th, 2008

After a year with my new company I find that I am enjoying work more than ever. I also think I am being more productive than ever. This productivity is, of course, more of a personal perception than something that I can substantiate numerically. I don’t know if there is any correlation between enjoying work and being productive, but it seems logical that there would be.

Here are the top reasons that I enjoy my work, and I suspect that they are also the reasons that I am being more productive. These are in no particular order:

1. Low percentage of time spent in meetings. This is a no-brainer, but when one spends a large percentage of time in meetings they can’t get other things done. My work is generally measured in terms of things I do outside of meetings, but some of my past work environments included a ridiculous number of meetings, only some of which were actually about getting things done. These days I spend most of my work time actually doing things instead of talking about doing things. How refreshing.

2. A mostly collaborative environment with less arguments, bad attitudes, divisiveness and tension. Working in a relaxed environment, with people who genuinely seem to like each other and who are working together is a really nice change. In some of my past work environments there was a lot of tension, centered mostly around strongly opinionated people who were not willing to communicate without rancor and who were not willing to concede to another person’s way of doing things. Not only were those environments counter-productive, but it was much less enjoyable working there.

3. Private office. A lot has been written about giving developers private offices with doors that close out noise and distractions. When I first started working in my office, I was looking at my own productivity, curious to see if I would be more productive. And I certainly feel more productive now. But what I didn’t expect is how much more I would enjoy my work because of a private office. Part of it is that I enjoy work because I can actually focus and get things done. But part of it is also that having a private office provides a feeling of worth and value to the company. There’s a certain amount of dignity to a private office that a cubicle or a desk in an open space will never provide. Not to mention there is the personal space that an introvert, such as myself, needs.

Chandler

Friday, August 22nd, 2008

I’ve been playing with the Chandler application and have found it fun and useful. Initially I’m just using to keep track of tasks and notes. But I love that I can easily sync between my work PC, my Mac and a web application.

http://chandlerproject.org/

Writing Code vs Writing Blog Entries

Monday, May 12th, 2008

I haven’t been writing as much in this blog in the past couple months.  It isn’t because I have been extraordinarily busy.  (I’ve been busy but not more than usual.)  I think it is because I’ve spent a big portion of my time writing code.  At my last job I spent a significant amount of time in meetings.  And I’m not just talking about the kind of meetings where you can actually do other work.  I’m talking about meetings where I was an integral participant.  Nonetheless, there was a lot of wasted time waiting for the meeting to start, waiting for someone to get the conference call working, waiting for someone to stop bloviating, and so on.  And wasted time meant time for me to think about other things.  And thinking about things leads directly to things to blog about.

The other factor to having a schedule full of meetings is that it really fractured my days.  I didn’t get a whole lot of focused time to do things like coding.   Many days I did little else other than keep up with emails, prepare for meetings, attend meetings and follow up after meetings.  So to maintain my sanity I needed some kind of productive outlet.  And blogging provided that outlet.  I would write a blog entry during lunch or during a break between two meetings.  I’ll leave it up to someone else to decide if I managed to maintain my sanity.

These days, I can spend the majority of most days writing code, doing design and helping out with project management tasks.  I feel much more productive.  (I can’t say that I wasn’t productive at my last job.  I did the work that was assigned to me to the best of my abilities.  But I didn’t FEEL productive because at the end of the day I had very little concrete work product.  Attending meetings doesn’t make me FEEL very productive.)  Spending time writing code is great–I’m really enjoying it again.  But this makes me wonder if there is a limit to one’s ability to be productive and creative.  So while a day full of meetings meant that my excess productivity flowed over into the blog, maybe now I’m using up my productivity in coding and have none left for blogging.   Or maybe I’m just more busy than I realized.

Optical Drive Repair

Friday, April 11th, 2008

For the past couple months I’ve had issues with the optical drive in my MacBook Pro; things like discs that fail to burn correctly, installation discs that get spit out as soon as they are put in and loud grinding noises. So I finally decided it was time to do something about it.

I took the laptop to the Apple store in hopes that they could just swap out the optical drive right there. They could not so I had to send the laptop in to the repair center. That meant being without my primary work machine for “five days”. When I heard that it would take five days to get the laptop back, I assumed that it would be more like seven or even ten days. Isn’t that the way things normally work? DHL came and picked up the box late on a Friday and by Tuesday morning the DHL truck was back in my driveway. That’s less than four days and two of those days were weekend days. Wow! I’ve always liked Apple’s products and now I’m impressed with their service as well.

Through this experience I learned again how much of my work and even my personal life is dependent on technology. I was able to back everything up and transfer to a different computer what I needed to work in the short term. So just in case a current coworker is reading this, I was able to do my job without problems. The biggest thing that I missed was iTunes and my music library. I didn’t restore all my music to the other machine because I would have filled up that hard drive. I also missed the mobility of being able to take my work anywhere. It felt weird to be tied down to a desk instead of being able to maintain my usual nomadic work style. Some of my best, most productive moments are when I’m working at Caribou or Starbucks. Maybe it’s the caffeine and sugar in the coffee that boosts the productivity. Maybe it’s being away from the stack of things on my desk that I need to do sometime that allows me to focus on the single task at hand. In any case, I’m glad to have my MacBook Pro back and in full operational form. And by the way, I’m writing this at the local Starbucks.