Guus Bosman

software engineering director


You are here

My work

Image: 
Work NC

Fixing bugs

Today is a beautiful day; the sun is shining and it well in the 80's. I'm working, but I'm doing something I really enjoy: small bug fixes.

I don't have much time during the week for coding and my job doesn't really require any coding. But, I enjoy it and where possible I'll sneak in some small fixes or tiny features. I've learned over the years to only take on non-critical features and bugs since I can't commit much of my time. I find that doing some coding every now and then makes me a better engineering manager and it keeps me rooted in software development.

So today I'm doing small stuff: input validation, improving our 'diagnostics' page, updating the on-line help etc. I'll wrap up in an hour or so and when it is a little bit cooler I'll go for a run.

Work NC

Out for lunch

A coworker drove us to lunch today in his hobby project, a Jeep.

Without doors, that was fun.

Work NC

Ruby on Rails and Adobe Flex

Roadierage.comTonight I attended a presentation on Ruby on Rails and Adobe Flex by Rob Kainz and Derrick Heffner.

We went to the presentation right after work; it was organized by the Triangle User Experience group (an Adobe Group) and sponsored by Railinc.

Rob and Derrick founded Roadierage.com, a website for the music industry. Rob has been developing the website using a combination of Ruby on Rails and Adobe Flex.

In the presentation Rob spoke about the caching and paging mechanisms that he used, including an interesting trick to cache the Ajax responses (essentially query results) as XML files on the file system to speed up repetitive queries. Using a Ruby sweeper method to invalidate the cache when model objects changed made for an elegant implementation.

My main interest was to learn more about Adobe Flex and it was useful to get hear some real world experiences; it was a well spent evening.

Work NC

JavaScript

JavaScript.What's wrong with the following piece of JavaScript?

pbar.wait({
  interval:200,
  increment:15,
});

document.myform.myaction.click();

Well, nothing according to FireFox.

Internet Explorer doesn't like it though: "expected identifier, string or number". It turns out that the extra comma after "increment:" throws IE off. Debugging JavaScript used to be a total nightmare 5 years ago, but tools like FireBug and www.jslint.org made development a lot more productive.

Work NC

A great, quick interview question

One of the most difficult decisions I make in my job is deciding on hiring a candidate. Make the decision well, and the team will grow with a productive team member and everybody's happy. Make a bad decision, and I'm in for a potentially long, difficult and distracting track.

There are many things I look for in a candidate, but for software engineers programming skills are obviously key. Over the years I've had good luck and bad luck when hiring new people, but I quickly learned that doing a good job interview is a lot harder than it looks. Now, years later, I feel competent, but finding a good candidate still requires a lot of attention and energy.

I always incorporate a little bit of coding during interviews, even during the phone interview. No matter how senior the job and no matter how many years of experience a candidate has, I'll always do it. It's amazing how a simple programming assignment can give you insight in how people think and write code. It's even more amazing that lots of candidates don't even pass a basic coding question. One of my favorite questions is this:

Given an array of integers, write a method that will return the largest number (the maximum value) in the array. The integers are: 4, 6, 2, 4, 11, 5, 3.

Yes, this is a real simple question, and yes, it has a real simple solution. I always make sure I carefully explain the problem, clearly state the assignment and ask the candidate if they understand my question. They can code it in Java or C or in the rare case that they know neither any other language. And yet, lots of them fail!

Clearly, this is only a first check. Beyond the first phone conversation and the simple coding questions there's a whole layer of other questions and coding assignments, but as a quick screening tool questions like this are hard to beat. If you're interviewing for technical positions, I strongly recommend you always incorporate such a quick test for basic coding skills.

Interviewing is hard, and it's an art I'm always working to improve. A book that helped me early on, and gave me a better understanding of the theoretical and practical aspects of interviewing is Hiring the Best by Martin Yate. I still occasionally re-read parts of it and I highly recommend it to anyone who wants to improve his or her recruiting and interviewing skills.

(If you're in the market right now and are interviewing at my company soon: bonus points for reading my blog and mentioning it during the interview. Another thing I look for in a candidate is a genuine interest in the company and team that you may work with for the next years of your life).

Work NC

Coding at the car dealership

We've driven over 28,000 miles with our car now, and this afternoon it's in the dealership for a maintenance service.

The dealership has a "customer lounge" which is pretty comfortable with nice leather chairs, CNN in the background and Starbucks coffee. And, of course, wireless internet.

I'm working on some Ruby on Rails code to generate an RSS feed. I like the framework, and it's great that I can run everything on my Windows laptop, even though in production we use a Linux distribution. In that sense I now have the platform independence of Java, but with the productivity benefits of a language and framework tailored towards web user interface applications.

Work NC

Sinterklaas

Strooigoed.Today is December 5 and in the Netherlands we celebrate Sinterklaas.

Like last year I brought strooigoed in. This time I brought it from the Netherlands (we bought it in Wieringerwerf), instead of through mail order.

Of course, nobody has the nice childhood memories associated with pepernoten that I have, but still my coworkers generally like the 'ginger snaps with candy'.

Work NC

First birthday present

Danish.This morning I received my first birthday present!

I got two "Danish", which is a little joke about my heritage ("Bring out the windmill!").

We had the Danish with everybody right after our team meeting. Thanks guys!

Work NC

Halloween at work

Halloween at work.Some of my co-workers brought in candy yesterday. In one of the cubicles there was a candy bowl in Halloween style, even including a fake human hand. I thought that was nicely decorated, and I went to take some sweets from the bowl.

The moment I took a candy, the hand grabbed me and a voice said "Happy Halloween!". It scared me so much!

It turns out there's a light sensor and a small engine in the hand. Most of my colleagues already knew this and everybody thought it was quite amusing.

Work NC

Decorated cake

Decorated cake.After last week's pumpkin cookies we had a cake at work.

It's a home made cake, and it's decorated by someone is a doing a course (with good results, clearly).

I like this tradition of people bringing baked goods into the office.

Pages

Recent comments

Recently read

Books I've recently read: