Category Archives: decision

Decision review: Working at IBM

I joined IBM four years ago today, sliding right from my master’s degree into a position that was tailored to my passions. I wanted to focus on Web 2.0 consulting and open source web development, and I did. I’ve facilitated workshops around the world, coached clients and co-workers, and helped flesh out and implement social media strategies. I’ve gotten pretty good at Drupal, and I’ve done sites in Ruby on Rails, too. I’ve learned a lot about automated testing, system administration, automation, and other useful skills. I’ve been promoted, and I’ve taken on additional responsibilities like estimating effort, preparing statements of work, and leading other developers.

Energy

Well past the honeymoon period, I’ve somehow escaped the cynicism that saps the energy of many recent hires. I see IBM like I saw it in the beginning: an organization with its own challenges, but still fundamentally inspiring and wonderful. When asked how I am, I find myself answering “Fantastic!” – and meaning it.

I’ve kept myself engaged by taking responsibility for my motivation. My manager helps by showing me how to work with the system and helping me find projects that fit me well. In the end, though, I choose how to respond to the small triumphs and frustrations of everyday work. I’m generally good at celebrating successes and fixing annoyances, which helps a lot.

I’ve worked on making my experience of IBM pretty good, and I’ve had a remarkably wonderful time as a new hire. I’ve been lucky that both of my managers have been great allies, and that I have plenty of co-workers and mentors who share their insights and help me figure out IBM. Investing in tools pays off: automation minimizes frustrating work, and an extra laptop makes development go faster. I often find myself saving time by referring to the notes in my blog, and the blog has helped me connect with clients, co-workers, and other developers.

Time

I continue to work around 40 hours a week, which forces me to be good at estimating how much I can do within that time and focusing on doing it. It means that I have time for other priorities, such as life and relationships. It also means that I can bring a lot of energy to work because I don’t feel like it’s taking over my life. I minimize travel, as trips require a lot of paperwork and disrupt a lot of things.

In the beginning, I took on lots of volunteer things: coaching other IBMers on Web 2.0 through the BlueIQ initiative, writing a lot on my personal blog, skimming through everything published in IBM’s internal blogosphere. (Back then, it was possible – there was just one place to find people’s blogs, volume was manageable, and you felt like you really got to know people.) Now, I’m more selective about the things I volunteer to do, and I try to help other people build their capabilities as much as possible. That means the occasional bit of work on:

  • a Lotus Connections community toolkit that makes it easy for lots and lots of community owners to create newsletters, get metrics, and perform other tools;
  • answering questions and sharing resources on using Lotus Connections for facilitating virtual brainstorming
  • drawing comics about life at IBM

I find myself thinking about these side projects like a semi-passive income stream of good karma. I look for places where a little effort can translate into a lot of benefit.

Things I didn’t expect when I signed up, but which worked out really well:

  • I’ve worked on a number of websites for non-profits. More than half of my months at IBM involved one non-profit project or another, sometimes balanced with another project and sometimes as my main focus. It turns out to be incredibly fulfilling and one of the reasons that might convince me to stay around. Wins all around: clients have better web capabilities, IBM gets to help make a difference, my department earns internal dollars, and I learn and use cool skills while working on fascinating challenges.
  • I’ve been able to try all sorts of things. Presentations, blog posts, comics, videos, virtual reality discussions, group videoconferencing, telepresence, research… I guess when people know you’re a positive geek who might come up with related ideas, links or tools, they invite you to check out what they’re working on. =)
  • The system is not that scary. Sometimes things don’t work out or they’re more difficult than they could be. Most of the time, people are great at being flexible.
  • I think I’m figuring out a growth path that doesn’t involve aspiring to be an executive. I’d like to become a good, solid developer like my role models are. I’d also like to train/mentor more people so that we can increase our organizational capacity for these kinds of projects.

Looking ahead

I could happily continue doing this sort of work for years, I think. I like the mix of development and consulting. I might gradually move to leading more projects and training people along the way. It would be a good way to scale up. The kind of projects I love working on – small rapid web development projects – don’t typically involve large teams, though. Growth will probably involve going deeper (say, customizing Drupal and Rails even more), building assets so that we can save time, and mentoring people working on other projects.

I like working with IBM, even though sometimes I grumble about the paperwork. I really like these non-profit projects I get to work on, and it’s hard to imagine having quite the same kind of set-up anywhere else. I learn a lot from our commercial projects, too.

Good financial planning makes riskier choices easier to consider. A different position? A career change? We’ll see. The status quo is pretty darn awesome, though, and there’s plenty of room to grow.

Would I make the same decision again, if a time machine took me back to October 2007? Yes, without hesitation.

Four years. Thanks to writing, I know where the time went, and I can see how I’ve grown. There’s still a lot to learn, and I’m looking forward to sharing that with you.

Decision review: Switching from Rackspace Cloud to Linode

Update from 2013-05-10: Linode doubled what you get in each plan, so now I have a 1.5GB VPS for $30/month. Whee! Plenty of space to run lots of nginx workers, Emacs, and maybe even a Ruby development environment… I might downsize to 1GB ($20/month) if I can’t find productive ways to use the extra memory and processing power, but I’m sure I can think of something! ;)

I moved my website from Rackspace Cloud to Linode in order to take advantage of Linode’s cheaper rates. A virtual private server on Rackspace Cloud cost me around USD 26 per month for a 512MB slice and data transfer. Linode promised USD 20/month for a 512MB slice. There’s a 15% discount if you prepay for 2 years, and they emphasize that this isn’t a contract – if you change your mind and leave, they’ll credit a pro-rated amount.

It took me about five hours to switch over. Most of that was spent backing up and double-checking my settings. I also fiddled around with Rails so that I could get that up and running again, too. (I haven’t quite gotten the hang of rvm, so I had to deal with version annoyances.) Now my site’s up, and things are pretty sweet.

I spend a little extra on virtual private hosting instead of shared hosting because virtual private hosting gives me more flexibility. I really like being able to SSH in and manage my own server, even though it means I’m also responsible for configuration and optimization. I can run other tools on it too, such as my weekly library renewal script. (Yes, I have a script that renews our books and tells us which ones we need to return.) It’s convenient being able to manage a few sites without paying extra for each, and to be able to mix PHP, Rails, the occasional Emacs session.

My Linode account has been up for only a short while, so we’ll see how it works out. Everything’s back in working order, though.

Update from 2012-06-10: So far, so awesome. I eventually upgraded my Linode slice to the 768MB slice (USD 29.95/month) because I was running quite a few things on it that I haven’t yet optimized for memory. The process of upgrading was painless. Haven’t had any network issues on their side. My site has occasionally been down, but those were entirely my fault. =) I like the service, and I really enjoy having a virtual server I can ssh into and tweak.

Considering Linode?

Decision review: Cat boarding

We were going to be away for a week and a half, so we needed to make plans for our three cats. In the past, J- had done a little cat-sitting for us. I’d also asked a friend before, but that was for a weekend. With our cats occasionally throwing up or pooing outside the litter box when they’re upset, I didn’t want to inflict that on friends, even if I was happy to pay market rates. We wanted to make sure the cats were watched over and played with during the day, so we decided to give cat boarding a try.

Boarding cats is more expensive than hiring a cat sitter. We felt anxious about having someone else come into our house while we’re away, though, so we considered the difference a worthwhile premium for peace of mind – no litterbox accidents or throw-ups to worry about, and no worrying about stuff missing either. We also liked the ability to specify instructions like feeding Neko small, frequent meals – if you give her a lot of food in one go, she sometimes rushes and then throws up.

There was a small risk that the cats would pick up colds, ticks, or fleas from other cats, but we decided we could deal with that.

After calling up a few cat boarding places, we settled on Lonesome Kitty, a nearby cat boarding place. I checked out the location, and it seemed fine. The resident cats looked bright and alert, and none of them were obviously scratching themselves. We decided that it would be better to board there than with a veterinarian because vet offices tend to be busy (and occasionally full of sick animals!), so we e-mailed our confirmation. On the day before our flight, we dropped the cats off along with enough cat food for their stay.

After we got back, Luke and Leia sought attention more often than usual, and Neko had a cold. (The poor dear.) The cats were okay, though, and life returned to normal a week or so after we got back.

The cost of boarding three cats worked out to around $32 per day. A cat sitter would have cost around $23 per day. Lonesome Kitty has since then raised its prices to $36 for three cats / day.

2011-09-25 Sun 09:06

Decision review: Metropass instead of biking to work in November

After a pleasant weekend bike ride with W-, I thought I’d get back into the habit of biking to work.

I’d stopped in August because I didn’t want to risk damaging my new laptop. During a bumpy trip to the office, W’s previous laptop had bounced unnoticed out of his panniers and onto the road, where several passing trucks flattened it into a pancake. Fortunately, it was a work laptop, so replacement wasn’t difficult. If I damaged my spiffy new souped-up laptop, though, I’d probably regret it a bit. (Yes, stuff is stuff, but it’s okay to be cautious.) So I commuted via subway, wheeling along a small suitcase with my personal laptop and my work laptop.

The small suitcase’s wheels finally gave out, and I switched to bringing a backpack. It was tough with two computers, but fortunately I received a much-anticipated hardware upgrade at work. Because my new work laptop could handle running my development virtual machines and the programs we needed for work, I started leaving my personal laptop at home. This meant that I could bike into work if I wanted to.

I biked to work once. The next day, up much earlier than sunrise, I thought about whether I should just give in to the idea of getting a public transit pass instead of trying to tough it out and bike for as long as possible in November.

Biking: Exercise; ease of doing errands; will still prefer to take transit when rainy or snowy

Public transit pass (Metropass): $121

Public transit tokens: 40 tokens at $2.50 = $100, plus extra tokens if I need to go to the client site and the office on the same day.

Because a Metropass was not much more expensive than paying for public transit tokens, using the pass is more convenient than juggling tokens, I decided to go for a pass. Work covers the expense, but even if I were paying for it myself, I’d probably still make the same decision. With the transit tax credit of 15.25%, the after-tax cost comes out to around the same as buying tokens for weekday travel, and weekend travel would be a bonus.

I’m going to take the subway this month, although I might still bike if the weekends are pleasant. I’ll use the time to listen to podcasts like the Psych Files (behavioural psychology = hacking your brain) or to draft posts. Maybe I might even pick up a few more books for my Kindle. We’ll see. =)

Decision review: Lenovo X220 tablet PC (with graphs!)

Mel Chua asked about my experience with tablets, so I thought I’d look at the results of getting a Lenovo X220i tablet PC last August.

J- needed a replacement laptop, so I passed along my Lenovo X61 tablet and took the opportunity to buy a new Lenovo X220i tablet. I kitted it out with maximum memory and a decent (but not solid-state) hard drive. For a while, I did my work development on it as well. After my work laptop got upgraded, I switched to using the new work laptop for development and work mail. Now I use the X220 for drawing, writing and personal projects.

The X220 arrived on September 1. From September 1 to October 27, I used it for work and life. My work laptop arrived on October 27. Here’s how that time breaks down:

September 1 to October 28 (58 days, 443 hours)
image
and occasional use during our trip to the Philippines

October 29 to November 4 (7 days, 21 hours; day before time of writing)

image

464 hours so far (probably undercounted)
Total cost so far $1300 = ~ $1150 + memory and hard drive ~ $150?
~ $2.80/usage hour (not including electricity, etc.) over 65 days

I think it’s definitely worth it, especially considering it’s only been two months. If I assume use of about 2-4 hours each day, that’s about 900 hours for the rest of a full year or a total of 1360 hours or so, which brings the cost per usage hour to about $1. If I use it for two or more years before replacing, cost per usage hour goes down even more.

I haven’t done as much drawing with the new computer as I thought I would, but that’s because building a personal dashboard has been filling my spare brain space, and I’ve been drawing on paper too. I should see about building in a routine of regular drawing lessons and exercises.

Other stats: I’ve been using the free Workrave program to remind myself to take breaks. One of the side benefits is that it can also report on some usage statistics, such as keystrokes and mouse clicks.

image

Keystrokes are reported using the axis on the left, and mouse clicks are reported using the axis on the right. For ease of comparison, I’ve made the keystrokes scale ten times bigger than the scale of the mouse clicks. This tells me that how much I kept using my X220 for programming while I eased into using the X420 (so my work hours are undercounted in the table above), and that I used the X220 very lightly during our trip (October 4 to October 15).

Total number of keystrokes: 2,287,106, or around 450,000 words if I were typing just words instead of programming, navigating my system, deleting and replacing stuff, and so on. I’m surprised to see my mouse stats: a little over 1 mouse click for every 20 keystrokes. I’m not entirely sure how Workrave handles tablets, so a lot of that might come from drawing. Unfortunately, I don’t have stats from my X61 – it might’ve been interesting to do a comparison and see if I did end up using it much more.

Also, I now have even more appreciation for the things I can do with time-tracking and Workrave data. =) Yay multipurpose or effectively free data! Who knows, maybe I’ll even set up things like ManicTime so I can automatically track at the application level.

J- is delighted with the hand-me-down X61 and has been doing her homework on it. She’s even started taking it to school. She draws with it, too. It’s getting a lot of good use.

Conclusion: Good decision. Would make the same decision again if I needed to. In fact, would have probably gotten a new tablet at an earlier decision point. =)

Other tablet notes for helping people decide:

If you need the finer resolution, pressure sensitivity, and visual feedback of a Cintiq, it’s a terrific pro tool. If you don’t mind not being able to see your screen and you’ll usually have a flat surface to work on, a small tablet is a less expensive experiment. Tablet PCs are much, much more awesome, though – portability means actually using it more often!

History: I saved up for the Cintiq because I wanted the reassurance of being able to see what I was drawing without having to rely on hand-eye coordination. I also reasoned that keeping the drawing functionality separate from processing (so a tablet instead of a tablet PC) would make it easier for me to upgrade the processor/hardware specs, because I could just upgrade the computer it was connected to.

Getting the Cintiq was a good decision at the time. It helped me learn how to draw more quickly and more confidently. I ended up spending my drawing time downstairs, though, so I bought a small Bamboo Pen + Touch for portable experiments. I used that one from time to time on the kitchen table, but I found myself rarely using it elsewhere because I needed too much desk space, and the separated visual feedback wasn’t much fun. When I got an X61 second-hand, that was amazing, and I had much more fun drawing with it. Later, I crunched the numbers and realized that buying a current Lenovo X220 cost about the same as buying a used X61, replacing the battery, and adding other stuff. When J-’s old laptop broke, we decided to pass my X61 down to her, and I got an X220. (Which is awesome!)

In short: a tablet PC was more than worth it for me, and way more fun than a regular PC or a regular tablet. I’d recommend that as the path of least regret, although not if it involves going to debt or eating unhealthily. A small drawing tablet is a decent way to experiment, but it’s not very portable. The Cintiq is not portable at all, and doesn’t get you that much more compared to a relatively recent tablet PC. Hope that helps!

Decision review: Scheduling posts and using themes

I started using Posts Calendar to plan my blog while preparing for our trip to the Philippines. I wanted to schedule posts, and I also wanted to neatly organize a 15-part blog series so that people knew what to expect. Even after we returned from our trip, I continued using Posts Calendar to organize my posts into rough themes.

Before I started using this editorial calendar plugin, I mostly managed my posts using a modified WordPress post index that gave me some additional information. I wanted to avoid flooding people with lots of posts, so I set it up to warn me if I’d double-posted and also if I had gaps between posts. This is what that interface looked like:

image

With Post Calendar, my admin interface looks like this:

image

It’s much easier to move posts around, to see gaps, and to get nudged into making patterns. Hence: quantified self / tracking posts on Mondays, blogging-related tips on Thursdays, decision reviews on Fridays, and weekly reviews on Saturdays or Sundays depending on when I get to do them. Tuesdays are a good time to post other bits and pieces, like items from feeds and books, or a round-up of other thoughts that don’t merit their own blog posts yet. Sundays might be for telling stories from life.

This involves more structure than I’ve used on my blog in the past. I started by posting notes as soon as I wrote them, which was a little overwhelming. I limited my blog to around one post per day, but the occasional topic sprints (Emacs week! Drupal week!) were probably less useful to a mixed audience. (My mom skips most of my geek posts, although she occasionally checks out a few.) With this kind of plan, I think I’m making it easier for people to pick which topics they’re interested in and tweak their reading habits without necessarily learning the ins and outs of category-based feed subscriptions.

The plan helps me remember to write about different parts of life, too. Like the way status meetings help motivate me to make regular progress each week on projects, regular blog posts nudge me to keep moving along. It’s a little like the 20-mile march described by Jim Collins and Morten Hansen in the recently-published book Great by Choice. Regular progress can be much more effective than sprints and waits. Knowing I want to post something about self-tracking every week, I make time to work on my systems and analyze my data. Knowing I want to review a decision or think through a future decision every week, I keep an eye out for opportunities to do so. I should dedicate a day to sharing things I’m learning at work, so that I get into the habit of posting those regularly as well.

Because I tend to write about what’s going on in my life today instead of trying to write “timeless” articles, sometimes I feel odd about posting screenshots or stories that might be dated. I still keep personal notes in any sort of order, so I’m not losing stories or ideas because of the blog structure. The value I get from reviewing chronological printouts is a bit lower now that blog posts are less tied to the time they happened, but I might play around with other methods for supporting memories. Despite the disadvantages, I think the system is working well for me.

Conclusion: For me, this is a good decision so far. A possible next step is to post more frequently if I find myself getting a big backlog and if my rate of writing is much higher than my rate of posting. I treat “one post a day” more as a guideline than as a rule, anyway. =)

What’s it been like for you? How can I tweak my blog to make it even easier for you or other people to enjoy it? If you blog, what are your experiences with planning or scheduling posts?