Sunday, May 21, 2006

Joel and Blogging

Many people know Joel Spolsky writes a blog (but I would guess there are many, many, many software engineers who don't know Joel Spolsky from Igor Stravinsky--I've commented on how being a software engineer these days seems to require keeping up with the cognoscenti of the world, and how many choose not to follow it). Through that blog, many people know he runs a small company in New York City called Fog Creek Software.

Have you ever noticed something a bit odd? How many other people in his company blog, to your knowledge? I've talked to three of the guys who work there, and to the best of my knowledge, they don't blog. Of course, with a company so small and with a blogger so prominent, there may be invariably be comparisons made. However, nothing says they have to blog about the same things.

Joel tends to keep his blog focused on issues of interest to software developers. He's not going to tell you about Broadway shows you must attend, nor great restaurants you have to visit. Even when Joel delves into aesthetics, such as having nice offices, it's to an end--to attract the best talent to work with him. To be fair, that's the true subtext of his blog. Ostensibly, it's about software and developing software and hiring the best. But really, it's about hiring the best. Joel would have had a much harder time finding talent without his blog. Maybe he could have found other ways to do it. But this is the way he does it.

The people that work with Joel have one quality that's intriguing. They're inquisitive. I mean, about things that may lie outside of software. To be fair, engineers ought to be inquistive. Engineers are problem solvers, and it sharpens the mind to solve all kinds of problems. To be fair, when the problems lie outside of software you're writing, the answers don't have to be perfect. They're just the solutions you come up with given the current state of knowledge.

No one is expected to take Knuthian obsessive-compulsive searches on the Internet and actually solve the problem for real. For example, in the Aardvark film, there was a question whether the employees of Fog Creek could leap to safety onto the next building. Their was an attempt to measure the distance then to perform some basic physics and math to see what was possible. However, that was only going so far.

It's not as if Fog Creek would invest in dummies to be tossed, or hire stuntmen to test out the ideas. After all, in a fire, such a solution would most likely be discarded. The point of the exercise is simply to apply the knowledge that an engineer is likely to have (calculus, physics) and come up with a solution, in the hopes that such curiousity when applied to something not that important can then be turned on to something more critical.

Perhaps those kinds of mental exercises would be enough to make a blog on. Now, the real thing I'd like to see, I suppose, is a blog on how "bright people" write software. Joel goes on and on about needing to hire the best, but you never get a sense of what makes "the best".

I work at a place where there's bright people too, so I get a sense of what that might entail. But Joel worked at Microsoft, a company that's been developing software for 30 years (maybe 20 when Joel worked there), and they must have learned a thing or two about how to develop software, so what did he adopt, and what did he not adopt? What does he think about agile methodology.

Do the Fog Creek guys unit test? (I read an article about refactoring, so certainly that's important). Do they scrum? (By the way, I'm listening to The Concrete's In Colour--they recently had to cancel their tour, but I was able to attend before that happened. This album, to my mind, is far better than their previous efforts, especially the second half of the album.)

Now I've already stated a few reasons why none of the other Fog Creekers blog. The most obvious is comparisons made to Joel, who seems to write so well. Some kinds of blogs might reveal too much detail that would provide a competitive advantage that Joel would rather not have out in the open.

Blogs were originally thought of as online diaries, and there are still some folks that have the equivalent of online diaries, revealing their thoughts on this or that, but few are willing to be startingly frank (hmm, like Anne Frank?) since other people are reading it. However, most blogs from the tech world stick specifically to tech issues and rants about that world. That's fine. People reading it know what they are getting. Maybe they don't care that your dog just made a mess, or that idiots work at fast food restaurants, or whatever. But online diaries, when well written (and written by crazy folks), are highly entertaining. Alas, there very uncommon.

There's another reason not to blog. Most people lack much interesting to say. I mean, that's my problem, but I'm prolific anyway. How many people are willing to sit and force themselves to write on a regular basis, basically forever? This is one reason I choose to blog on whatever. If I had a topic-driven blog, I would have far less to say.

So guys at Fog Creek, why not blog? Or here's an idea. Create a Fog Creek discussion blog. Pick a theme. Each person who wants to writes something about the topic, then have each person follow up in discussion. Keep the discussion closed for a bit, and open it up once there are enough opinions.

Well, one can hope.

No comments: