Category Archives: work

On this page:

Setting things in motion

The more people I talk to about my plans for leaving IBM and experimenting with business, the more real the idea becomes. The more excited and confident I get about it, too, which is a good sign.

Today I sent my formal resignation e-mail, the one that kicks off all the associated HR processes. I named February 17 as my date: four years, four months, and two days after I joined IBM.

I expect to feel more nostalgia as the date approaches, and perhaps uncertainty. That’s all normal, which is why I’m brainstorming and writing down my reasons. The notes will come in handy if I hit a slump. It looks like all systems are go, though. It’s clearly a good idea for me at this point in time.

I’ve found people to take over all of my extracurricular interests. I’ve been braindumping enough throughout my time at IBM to not worry as much about transitions. I’ve always worked on things with the lottery/bus factor in mind: would the project be endangered if I won the lottery or got hit by a bus? (The lottery is highly unlikely, since I don’t buy tickets; I usually look both ways when crossing the street, but one never knows what could happen in the streets of Toronto.) I’ve written lots of notes and shared as much as I could as publicly as I could, and now it’s easy to link things together in a knowledge map on a wiki page that people can even update after I’m gone.

My manager told me of ways back in, and contracting companies that IBM is used to working with. It might be an option. I’d like to spend some time up front seeing if I can develop a business. Freelancing sounds like a reliable alternative, but it’s similar enough to what I currently do at IBM that I think I would learn lots more from trying to build a proper sustainable business with compounding value.

One step at a time. The project that I’m working on looks decent in IE8, IE9, Firefox, and Safari, and it looks a heck of a lot better than it did when I took it over. I’m on track to wrap that up well. Then there’s some HR paperwork to take care of, and more braindumping of memories and thoughts before they fade into fuzziness. Then the transition! Then slowly easing into experiments and feedback cycles and little bets…

Getting ready for my next experiment!

image

It’s been four years of awesomeness at IBM. I’ve:

  • helped companies and communities collaborate
  • facilitated brainstorming workshops with executives from leading companies
  • built web apps in Drupal and Ruby on Rails
  • created popular tools for community newsletters and analyses
  • drawn comics that made people smile across IBM, and
  • learned from and shared with people around the world.

It totally rocked. Thank you!

Mid-February 2012, I’ll be on to my next experiment. I want to help people save time and make better decisions. Let’s see how we can make that a sustainable business!

I’m looking forward to learning more about business, and sharing the adventure with you. =)

Stay in touch!

Stay tuned!

Work, extracurriculars, and measuring time: an epiphany

I remember now why I had stopped tracking time before. Breaking things down at the project level made me feel weird about my extracurricular interests at IBM, like the community toolkit and now the IBM comics. On one hand, I wanted to support our utilization goals and claim time as accurately as possible. On the other hand, I didn’t want to give up personal time, especially as I could use it to build more functionality into Quantified Awesome. I felt conflicted. I found myself slipping from the feeling of an abundance of time to the feeling of a scarcity of it, to be carefully portioned out among too many demands.

Today, brainstorming how to address my worst-case scenario considerations, I realized something: I’d been thinking about it the wrong way. It’s not extra time I’m donating or a hobby I might outgrow. It’s a live opportunity to test ideas with a massive, built-in internal market.

Comics on the intranet homepage? A fledgling artist couldn’t buy that kind of space. A community analysis tool that other people have come to rely on? Good practice in supporting disparate users and scaling up value.

No money might change hands, but a steady stream of thank-you notes helps my manager argue for a top rating, which often translates into a bonus.

So now I’ve got a couple of ways to rethink how this fits into my life.

I can promote these extracurriculars from the category “Work – Other” to “Discretionary – Other” or something similar, and budget myself four or five hours a week. It’s not work, it’s learning.

Alternatively, I can keep it under “Work – Other” and add an effective 10% overhead to my billable work. Many people have told me that I’m a fast developer, anyway, so scaling my output down to that of a somewhat above average developer will still mean that we do good stuff. The cognitive surplus goes into process improvement, self-development, and happiness, which is definitely worthwhile. I get stressed when I feel like I’m letting my other priorities slip, so spending time on them is important too.

These extracurricular interests can create a lot of value. I should adjust my measurements accordingly so that my measurements don’t lead to conflicting feelings.

How you measure affects how you manage.

Things I want to learn more about through work

Testing business assumptions: I like this definition from Eric Ries’ book, “The Lean Startup”:

A startup is a human institution designed to create a new product or service under conditions of extreme uncertainty.

I’ve come to realize that the most important part of this definition is what it omits. It says nothing about the size of the company, industry, or the sector of the economy. Anyone who is creating a new product or business under conditions of extreme uncertainty is an entrepreneur whether he or she knows it or not and whether working in a government agency, a venture-backed company, nonprofit, or decidedly for-profit company with financial investors.

I like the idea of treating work as an experiment that reduces uncertainty and helps us do something better. I want to get better at bringing out those uncertainties and planning how to resolve them.

Visualizing data and making better decisions: I like collecting data, bringing them together in dashboards, and figuring out visualizations that can help people make better decisions. Last year, I implemented a visualization for a Drupal project so that investors could see where the gaps in funding were. I’m working on some visualizations for my personal dashboard. I think it’s useful to be able to help people find patterns while avoiding false positives or visual noise.

Building systems that fit the way people need to work: I like the way we tailored the last project based on constant client feedback. I like saving people time by building systems that help them work more effectively instead of requiring a lot of repetitive work.

Hmmm…

Making good progress on theming the site

The Drupal site I’m working on is slowly coming together. I still feel an itch to redo the big, hardcoded structures that a previous developer left behind, but I’m focusing on all the functional pieces first. Then I’ll do the styling and spacing tweaks, and then I’ll think of making that structure more flexible.

I like working with other people’s code, even if the code occasionally makes me go “Huh? What were they thinking?” It’s good to be able to work with other people’s structures and gradually immerse yourself in a project. Otherwise, you’d be limited to just the things you can build from scratch.

We’re still quite a bit away from having something that would be ready for launch, but we’re making progress. I don’t know if I’ll be on this project through launch, but it would be nice.

I like launches. =) I want to have more of them.

Figuring out my CSS workflow

Yesterday’s coding session with CSS was fantastic. I used WinWarden to make my browser translucent, and I overlaid it on my reference documents. This made it a breeze to check alignment, because I didn’t have to use any measuring tools. I used Chrome’s developer tools to manually adjust the stylesheets until things looked right, adding display: block to the parts I was working with. Then I copied the numbers into my SASS file so that it could generate the CSS.

I also found a GIMP script for exporting all layers as separate images. I had to rename a few layers, but the results made it much easier to flip through images instead of toggling visibility trying to find the logos I needed. (It turned out that the logos were not included, so I’ve asked the design firm to send them to me.)

I converted the complex front page into a Drupal panel layout, getting rid of thirteen regions that were cluttering up the main block management screen. This also makes it much easier to update the content, yay! I’m looking forward to converting other pages. The previous developer used multiple regions instead of controlling visibility through configuration, so there are a lot of templates and regions.

Dual-screen worked out great, too, although I still need to fiddle a little with my ergonomics to make sure everything works out.

I’m looking forward to making this even better. I’ve only got a few more weeks on this project, but I might take on more styling in the future if it turns out I can deal with the headaches associated with cross-browser styling.

After I get the rest of the basic requirements in place, I want to automate testing and screenshots, particularly for regression-checking and for cross-browser compatibility. Selenium and WebDriver look like the way to go if I want to simulate hover events. If I can’t figure out how to use WebDriver within the time I’ll set aside for learning this, I can use JQuery to fake toggling the classes. Automated screenshots + PDF Split and Merge + ImageMagick for compositing (maybe 50% opacity?) will make it easy to spot glaring errors.

That will have to wait for next week. In the meantime, there’s a three-day weekend ahead, so I’m going to make lots of progress on Quantified Awesome. Yay!