Making Change Happen

I generally refrain from pontificating. Unless the day ends in ‘-y’.  Today happens to fall into that category.  Being young and naive of failure brings its own special quirks into my daily routine; mostly having to do with fixing things. Things that make us go. This invariably involves changing the status quo; but unless you’re running on a campaign promise of change, people hate changing the status quo.

I can only assume speechwriters help.  On a more constrained budget, we are left with proving that our change is necessary, proper, and that the i‘s are dotted just so.

Dealing with the devil is also an option.

If you’ve got a change you need to make happen (e.g., automating a manual process like deployment), there’s going to be, let us say, internal inertia against it. .


1. Do nothing. 

2. Adapt, improvise, overcome. : If you can’t make change happen, you can at least try to modify your processes so that they aren’t affected by the roadblock. This requires that you aren’t ‘set in your ways’. I can hear the religious weep.

3. Make change happen. : Don’t wait for it to happen. Don’t wait for someone else to make it happen. Take it upon yourself to make it happen. How?

In a business, it call comes down to two things: 1) Costs. 2) Revenue. Lower the first, improve the second. Any change you make better do one of the two, preferably both.  Need automated deployments and builds? That lowers cost (Developer time = money). Need Unit Tests? That also lowers costs and can potentially increase revenue. 

So long as you think about your change in terms of Costs and Revenue, there’s no reason why you can’t get them enacted.

The Working Programmer's library

I like programming books. I daresay I’m obsessed with them. I collect them, they adorn my shelves and workspace as if they were trophies of the knowledge contained within them. The battles they fought are hidden in their dog-earred pages, marred by late nights and tossing them to and fro as I research them, commanding them to reveal their secrets.

On command, they relent to the pressure, spilling their secrets and marching back to my bookshelf, available at my beck and call. They are my fellowship, our common quest is to make me the best programmer I can be. This knowledge takes many forms, but the dead-tree book is the most basic.

It is strange then that I should recommend Safari Books Online. A virtual library available at your fingertips, so long as you are connected to the Internet.  This presents a problem, vis-a-vis being disconnected from the ‘net. Sacriledge, I know. Bear with me.

Safari Books solves the ‘OMG my boss needs me to write code in a language I’ve never seen before’ which usually happens at just the wrong time. I know Perl, but since our build servers don’t have Perl installed (gasp) I’m writing the script in Powershell.  Except that I’ve never written Powershell before.  Enter Safari books. Within minutes I was able to pull down Powershell in Action and Windows Powershell Cookbook immediately. Within ten minutes, I had the script written. 

It’s not the right tool for every job, but Safari Books Online is an indispensible part of your toolkit. Use it.

Attracting Talent – A Response to Eric Lippert

Eric Lippert posted a blog post today about attracting talent. He posed two questions:

(1) When you read a job posting on a career site, what are the things you look for when deciding whether you’re interested or not? Are there “red flags” that immediately make you unlikely to follow up? Are there more subtle indicators that discourage you? What encourages you?

(2) What would you find particularly attractive or unattractive about an opportunity to work on a developer tools team? (at Microsoft or elsewhere, though I am particularly interested in “at Microsoft”.)

I only answered the first question (quite simply, I was too nervous to even consider the second question), but I want to answer both in more detail. I was just nervous because Eric is a Smart Guy™, and people like me simply do not walk up to Smart Guys™ and start chatting as if I’m on his level. I am not. 

Things that Turn Me Off

1. If I get a generic, “We think you’d be a great fit…” I don’t apply. I’ve seen enough of those to know that they haven’t spent more than a few seconds looking at my resume. They saw a keyword and sent it based off of that. Thanks, but no thanks.

2. Trendy words: “Ninja Coder” / “Guru” / “Think outside the Box” .  My mom tries to use ‘cool words’ too. I try to use them with my younger brothers and sisters. It doesn’t work. You don’t know the lingo, you don’t watch the movies. Stop trying. 

3. No, I’m not sending you an updated resume when you send me an email with the words “We think you would be a great fit.” On Linked In or Stack Overflow Careers. In fact, I may just send you an email to gauge your interest. I’m going to ask questions in this email. As the knight said to Indy in The Last Crusade: Choose Wisely.

4. In the interview, Don’t try to stress me out. It’s just going to annoy me. I was in the Army. I trained for battle. I slept very little. I know what stress is. 

Things that Turn Me On

1. Companies that are known for treating Software Developers well. Google, Microsoft, Fog Creek Software, Amazon, SAS. I know that if I worked there, I’d be treated well and be around people that are the best and brightest. Every day would be a challenge for me to outperform the previous day. That turns me on, programmatically speaking.

2. Make me write code in the phone screen. Make me write more code in the interview. Ask me intelligent questions (no, I don’t know how to Move Mount Fiji, but my answer would include hiring foreign cheap labor). 

3. Good processes. I swoon when I see automated builds. If you have a CI build, I’m probably going to get all geeky on you. Unit Tests? I may just ask your CI server out on a date. That’s hot stuff.

4. Being able to make a difference. In Eric’s question, he talks about the Developer Tools team. That’s the team that makes the tools that you and I use to make our software. That’s like being the team behind the team! It’s definitely not headache-inducing crap line of business software. 

Ultimately, just like I said with regards to Amazon: I’d love to work at Microsoft. I’d move across the country to work at Microsoft.



Last week I talked about Seagull Management. Today, in a slightly different vein, here’s a Budweiser commercial celebrating the Micromanager:


Reeeeal men of geeeeeniuuuus!

Today we salute YOU, Mr. Micromanager manager.

“Mr. Micromanager Manager!?!”

Only YOU can fully appreciate the mind-blowing tragedy of a bunch of 18-22 year old athletes you‘ll never meet, losing a game.

“Don’t you TAAAAALK to me about perspective!!”

While others are too preoccupied with things like real life, you take your anger directly to the place where it will make the absolute least possible impact: An Internet discussion forum.

“Loggin’ on now!”

Your unique eye for logic allows you to sling turds of doom every which way, and then brag about how you were RIGHT as soon as one of the pieces sticks to the wall – regardless of how many dozens fell limply to the floor before that.

“See I told you sooooooo!!”

And if some idiot newspaper columnist has the gall to not be as incensed as you are, you unleash your fury down upon him with all the tenacity and mercilessness of a rabid pit bull with a tender buttock locked in its jaws.

“Total anonymity!”

So keep clicking away, oh Marauder of the Mousepad. Because when the results you so desire finally come about years from now, you can say it was because YOU demanded it.”

“How come they haven’t fired that dumbass coach yet?”