I. M. Wright’s “Hard Code”

An opinion column for developers.Brutally honest, no pulled punches.

About I. M. Wright’s “Hard Code”


About I. M. Wright’s “Hard Code”

Hard Code Logo

Hard Code, an opinion column just for developers by I.M. Wright, Microsoft development manager at large.
Brutally honest, no pulled punches.

You’ve looked up a best practices blog. It’s going to be dull. It might be interesting, informative, and perhaps even influential, but definitely dry and dull, right? Why? 

Best practice blogs are dull because the “best” practice to use depends on the project, the people involved, their goals, and their preferences. Choosing one as “best” is a matter of opinion. The author must present the practices as choices, analyzing which to use when for what reasons. While this approach is realistic and responsible, it’s boring and unsatisfying. Case studies that remove ambiguity can spice up the text, but the author must still leave choices to the reader or else seem arrogant, dogmatic, and inflexible.

Yet folks love to watch roundtable discussions with arrogant, dogmatic, and inflexible pundits. People love to read the pundits’ opinion pieces and discuss them with friends and coworkers. Why not debate best practices as an opinion column? All you need is someone willing to expose themselves as a close-minded fool.

How This Blog Happened

In April of 2001, after 16 years of working as a professional programmer at places such as Bank Leumi, Jet Propulsion Laboratory, GRAFTEK, Silicon Graphics, and Boeing, and after 6 years as a programmer and manager at Microsoft, I transferred to an internal Microsoft team tasked with spreading best practices across the company. One of the group’s projects was a monthly webzine called Interface. It was interesting and informative, but also dry and dull. I proposed adding an opinion column.

My boss, Bill Bowlus, suggested I write it. I refused. As a middle child, I worked hard at being a mediator, seeing many sides to issues. Being a preachy practice pundit would ruin my reputation and effectiveness. Instead, my idea was to convince an established narrow-minded engineer to write it, perhaps one of the opinionated development managers I had met in my previous six years at the company.

Bill pointed out that I had the development experience (22 years), dev manager experience (4 years), writing skills, and enough attitude to do it—I just needed to release my inner dogma. Besides, other dev managers had regular jobs and would be unable to commit to a monthly opinion piece. Bill and I came up with the idea of using a pseudonym, and I. M. Wright’s “Hard Code” column was born.

Since June of 2001, I have written 49 “Hard Code” opinion columns under the name “I. M. Wright, Microsoft development manager at large” for Microsoft developers and their managers. The tagline for the columns is “Brutally honest, no pulled punches.” They are read by thousands of Microsoft engineers and managers each month.

The first 16 columns were published in the Interface internal webzine, with many of the topics assigned to me by the editorial staff, Mark Ashley and Liza White. Doctored photos of the author were created by me and Todd Timmcke, an Interface artist. When the webzine came to an end, I took a break but missed writing.

I started publishing the columns again 14 months later on internal sites with the help of my group’s editing staff: Amy Hamilton (Blair), Dia Reeves, Linda Caputo, Shannon Evans, and Marc Wilson. Last November, I moved all the columns to an internal SharePoint blog.

In the spring of 2007, I was planning to take a sabbatical awarded to me some years before. My current manager, Cedric Coco, gave me permission to work on publishing the “Hard Code” columns as a book during my time off, and Ben Ryan from MS Press got it accepted.

In addition to the people I’ve already mentioned, I’d like to thank the other members of the Interface staff (Susan Fairo, Bruce Fenske, Ann Hoegemeier, John Spilker, and John Swenson), the other people who helped get this published (Suzanne Sowinska, Alex Blanton, Scott Berkun, Devon Musgrave, and Valerie Woolley), my management chain for supporting the effort (Cedric Coco, Scott Charney, and Jon DeVaan), my current and former team members for reviewing all the columns and suggesting many of the topics (William Adams, Alan Auerbach, Adam Barr, Eric Bush, Scott Cheney, Jennifer Hamilton, Corey Ladas, David Norris, Bernie Thompson, James Waletzky, Don Willits, and Mitch Wyle), my transcendent high-school English teacher (Alan Shapiro), my readers who are so generous with their feedback. And most of all, I want to thank my wife, Karen, and sons, Alex and Peter, for making everything I do possible.

Who This Blog Is For

The opinion columns that make up this blog were originally written for Microsoft software developers and their managers, though they were drawn from my 28 years of experience in the software industry with six different companies. The editors and I have clarified language and defined terms that are particular to Microsoft to make the writing accessible to all software engineers and engineering managers.

The opinions I express in these columns are my own and do not represent those of any of my current or previous employers, including Microsoft. The same is true of my asides and commentary on the columns and this introduction.

How This Blog Is Organized

Throughout the columns, I’ve inserted “Eric Asides” to explain Microsoft terms, provide updates, or convey additional context. The editors and I have kept the columns intact, correcting only grammar and internal references.

Each column starts with a rant, followed by a root-cause analysis of the problem, and ending with suggested improvements. I love word play, alliteration, and pop culture references, so the columns are full of them. In particular, most of the column titles and subheadings are either direct references or takeoffs on lyrics, movie quotes, and famous sayings. Yes, I humor myself, but it’s part of the fun and outright catharsis of writing these columns. Enjoy!