Tuesday, February 21, 2006

Mitch Denny has a good post entitled “Day Programmer vs. Night Programmer”… he makes the case that there are two different types of developers. The “day” programmer who works his/her 8–5 shift and then checks out, versus the “night” programmer who needs more than that from his/her job. The comments to Mitch’s blog post are also insightful, with one person observing that the post won’t likely reach a “day” programmer (who, by definition, isn’t likely to spend time reading up on blogs and staying current in the development world).

My experience is that it boils down to passion for what you do and that’s a very hard thing to find.

I’ve worked with many “day programmers” in the past and am certain that they’re the majority. Most people (in all walks of life) are inherently lazy and want to do the bare minimum required to get through their tasks and collect a paycheck. When the clock strikes 5pm, it’s yabba-dabba-doo right out the door. The notion of spending time outside of those hours to learn new skills, improve the skills they have, or otherwise invest in their abilities is completely foreign. These are people who like the idea of moving ahead in their career, but won’t put in the time and effort to make it happen.

At work, I’ve had some open positions for a while and have a reputation with HR for taking a long time to fill them. I take some ribbing about it, but everyone agrees that “hiring right” is far more important than “hiring fast”. Hiring right means finding those who are passionate about what they do, who are engaged by their job, and who want to excel. As a hiring manager, this is exactly the type of person you want to find and keep. That’s not easy, but you’ll get far better work from a small team of top-notch “night” developers than you will from a legion of average “day” developers — where “better” is defined by speed, quality, reusability, maintenance costs, and other common metrics.

When talking with others about this phenomenon, I use an analogy comparing a small, highly-skilled “special forces” team (self-directed, very focused, and creative when solving problems) to a large squad of recent boot camp graduates (requiring constant management, very specific direction, and not looking to be creative). Interestingly, Mitch refers to this in his blog post when remarking that “day programmers are mostly led [by others] and will seldom lead,” but that “night programmers mostly lead [others]”.

On finding them… At one point, I’d hoped that posting an ad specifically calling for passionate developers would help weed out the “just a job, any job will do” type of submissions. You can still find that ad on this page (second listing at this writing). Unfortunately, while the tone of the ad hits the mark, it doesn’t serve to weed out unqualified applicants. It’s too easy to send an email with an attached resume.

The bigger issue in hiring the “passionate developer” is that these aren’t people who are typically looking for a job. And when the time comes to look around, they’ll usually find a job through word of mouth. Recruiters can sometimes help on this front (at least in terms of weeding out the deluge of resumes that come in from most ads), but a hiring manager will almost always have the best luck with referrals — from other passionate developers.

On keeping them… If the job they have isn’t stirring their passion, or if they’re not feeling rewarded for what they bring to the table, “night programmers” don’t turn into “day programmers”. Instead, they will go someplace else, where they DO feel excited and rewarded. How people feel rewarded is a topic for another day, but the bottom line is that it will vary for everyone. For some, it’s base pay. For others, it’s access to tools and great hardware. For still others, it’s just interesting problems to solve. Usually, it’s some combination of things and knowing what it is for each person on your “special forces” team is absolutely critical to long-term success.

This is an issue I’ve discussed here in the past, but there are some other great bloggers out there that post regularly on hiring, managing, motivating, and inspiring a development team. In addition to Mitch’s blog, check out Christopher Hawkins, Rands in Repose, and Software by Rob (his recent “How to Piss Off Your Software Developers” article is excellent).

posted on Tuesday, February 21, 2006 2:35 PM Mountain Standard Time  #    Comments [0]
 Monday, February 20, 2006

I love my Xbox 360. I loved the original Xbox. In fact, I was so amped over the Xbox that I sold off my PS2 and all the PS2 games. I’ll likely do the same eventually with the original Xbox in favor of just the 360 (especially since the backward compatibility list pretty well covers the games I’d want to keep).

But there is one area that the whole Xbox community falls well short of Sony… childrens’ and family games.

Now, before you point to the Xbox Live Arcade and say “those are all kid-safe”, hear me out.  Elmosadheart

First, just because a game isn’t gory or violent doesn’t mean that’s a good game for kids. It may be “kid-safe”, but it’s not kid-centric. Is there redeeming value in letting a kid play Joust or Geometry Wars?

Second, consider what happens if you go to Amazon.com, choose Video Games, Xbox 360, and then select the “Kids and Family” category. You get three games — two sports games from EA Sports and Ridge Racer 6. While they may be “kid-safe”, they’re certainly not kid-centric.

One of the things I really liked about the Playstation world was that there were actually some good educational games for kids to play. When she was 3, my daughter used to love playing Elmo’ Numbers and Elmo’s Letters. The graphics weren’t going to win any awards from the Joystiq crowd, but there were a lot of upsides. She got to play a game “just like daddy does”, it was a fun activity for us to do together, and she learned as she played.

And I don’t think a game has to be strictly educational to provide some learning opportunities. The various Sim- and Tycoon games offer the opportunity for creativity and problem-solving. Adventure games that require puzzles to be completed along the way, and so on.

I know the 360 hasn’t been out very long, but this is still a problem for original Xbox titles as well. Go to the “Kids and Family” section on Amazon for the original Xbox and the list is dominated by EA Sports titles and various racers. The two relatively kid-centric games on that list are Lego Star Wars and Madagascar (both seem to have little redeeming value beyond mindless entertainment).

Finally, I know that the market for these types of games is pretty small. This seems like an area where the Xbox Live Arcade and Marketplace could come through. No need for packaging or media distribution and a couple of decent titles would market themselves. I’d have a reason to go get some Microsoft Points.

In the meantime, thank goodness for the V-Smile

posted on Monday, February 20, 2006 11:08 AM Mountain Standard Time  #    Comments [0]
 Sunday, February 19, 2006

Jeff Atwood had a good post this past week, entitled “Fear of Writing.” As I read, it really resonated with me and my desire to blog more often.

I’ve got a bunch of notes/URLs set aside as potential blog topics and have been saving these for well over a year. (At some point, I’ll have to clean them up because I’m sure many are now well past their “sell by” date.)

So if I have all these things that I think are noteworthy, why can’t I bring myself to blog more often? I think the reasons boil down to two things:

  1. Making it a habit. To get good, you need practice. Practice is repetition. Repetition forms habits. Right now, I’m simply not in the habit of writing up a few posts a week. I have to set reminders to myself. I know it’s something I want to do, so I think the reason it’s not yet a habit brings me to reason #2:
  2. That fear thing. The issue here is the fear of writing something that’s simply not worth reading. I think writing up a good post requires some up front work — to organize the thoughts, the research and links, the writing, and the editing. And anything less has the potential to pollute the bandwidth.

I’ve written a fair amount before, including many magazine articles and a monthly “Best Practices” column. I know it’s something I enjoy… but writing for a blog is different than writing for a magazine or a full online article. It’s a smaller scale. It’s typically much shorter. It should be more frequent. It’s far more casual and it’s supposed to be a conversation — a single voice in a larger community.

With magazine articles, it was a larger task  (thus requiring more preparation) and a looking deadline made the commitment easy. But once it was done, it’s over. Only occasionally would I hear from someone who’d read the article… and when I did, it was months after I’d written it (most magazines have a 3–4 month lead time).

A blog post is a smaller task, but the feedback (good or bad) is more immediate. Someone can comment or send email within minutes of me clicking the “Post” button. This tight feedback loop is the part of blogging that I think is so cool, but it also instills the fear — what if it sucks? What if I got it wrong? What if I hit “Post” too soon?

I suppose admitting the fear is the first step to overcoming it… so, my name is Jeff and I have a fear of blog posts.

posted on Sunday, February 19, 2006 11:10 PM Mountain Standard Time  #    Comments [0]
I just came across this in the .NET blog world… looks like a CodeCamp is being planned for the Denver area. I’ll have to keep an eye on the site and hope that the scheduling works out for me.
posted on Sunday, February 19, 2006 10:47 PM Mountain Standard Time  #    Comments [0]
 Sunday, February 12, 2006

I had occasion to use Scott Willeke’s “Less MSIerables” tool this morning. I had download some code samples to check out and they’d been posted as an MSI package. While I like that format for installing apps and utilities I will keep around, it’s overkill for things like code samples or sample projects — things I don’t need cluttering up the Add/Remove Programs dialog and am likely to look at quickly and then delete.

It worked like a champ when pointed to an MSI file and made it easy to choose which files I extract. The registry key option (Allowing you to right-click an MSI and choose “Extract”) didn’t always work for me, but running the app itself and selecting an MSI isn’t too big a deal.

Well done… thanks, Scott!

posted on Sunday, February 12, 2006 1:28 PM Mountain Standard Time  #    Comments [0]

I’ve been looking forward to the Olympics starting up for a few months. Friday’s opening ceremony was pretty good and I had high hopes that I could catch a lot of coverage over the weekend. What a disappointment.OlympicsSchedule

NBC has the Olympics’ broadcast rights for the US and, on the surface, you’d think that’d be a good thing. In addition to local NBC channels, they could be using MSNBC and CNBC. Turns out that, according to NBCOlympics.com, they’ll also be using the USA network.

But each time I’ve sat down this weekend to see what’s up, I’ve had just one choice — women’s hockey. Now, I don’t mind a little women’s hockey, but where are the other events? It’s a Sunday afternoon on the first weekend of the games! Shouldn’t the land of 1000 channels have a channel that’s virtuall 24–hour coverage? Even if it didn’t always have commentators (sometimes, that’d be even better), if it showed raw footage during some times, or if it repeated things occasionally… it’d be better than what’s currenly on these channels (the “Non-Olympic Programming” above):

  • Local NBC Affiliate — Informercial
  • CNBC — Informercial
  • MSNB — “MSNBC News Live”, currently showing a story about sharks in Australia.

On the upside, the NBCOlympics.com site does have a pretty good TV Listings feature where you can put in a zip code and your broadcast provider (cable, satellite, etc), and it’ll give you a complete rundown. I just wish the answers it gave were better.

On a related note, maybe I can find some good blogs that are regularly updating with results and back stores from Torino.

UPDATE: Looks like the NBC site also has a page with various RSS feeds. That should be good for getting some results, but I suspect the best sources will be from actual “bloggers on the ground”.

posted on Sunday, February 12, 2006 1:22 PM Mountain Standard Time  #    Comments [1]