#152 Development Blog

I realized today that I’m #152 on a list of the top blogs for developers. Jurgen Appelo (NOOP.NL) has been compiling lists like these for a bit now and this humble little effort manages to do pretty well. Jurgen himself has made a great effort to put out quality content on a regular basis with [...]

Part of an 11.5% Group

I’m now part of 11.5% of all California workers looking for work. My organization decided strategically that they didn’t want to do in-house development, hence they didn’t need a development manager. I just wish I had gotten a longer chance to show the significant quality and cost benefits of maintaining a development team in-house.

[...]

Corporate Source Control Options and git

I’ve heard about git and decentralized version control systems like Mercurial for a few years. Conceptually it sounded interesting, but not compelling. Over the years I’ve used the following version control systems:

No version control – a very early web startup around 1994. I was blissfully unaware of version control at this point. VSS [...]

Agile Manifesto Style Values

As a development manager I relished reading Martin Fowler’s description of values at ThoughtWorks:

Leveraging bright people over Making the most of moderate people Flexible career paths over Well-defined roles Delivering business value over Leading edge research Learning new technologies over Mastering established technologies Solving difficult problems over Increasing market share Learning from mistakes [...]

Management Fire Drills

As a developer you get the occasional fire drill where some application is crashing at 3 am and you walk into a mess at 7 in the morning. You had expected to spend the day adding that cool new feature, but now you’re digging through reams of log files and looking at environmental issues.

[...]

Saying No

Say No. This is your second most powerful tool. Whether you’re a manager, considering management, or just here for the Rands, I want you to pick the hardest problem on your plate. The one that is waking you up at 4am. I want you to decide and to say out loud:

“No.”

[...]

Developing a Bench

Building a solid bench involves years of preparation with no immediate reward. Hiring a team from scratch is a beautiful dream. I got to do it once at a startup before I had much experience as a manager. In many ways I’d love to re-live that experience, but I haven’t worked at a startup in [...]

Friday Rule

It’s 3:30 on a Friday afternoon and you just got the test passing for a nasty intermittent bug after spending most of the day on it. Now you can jump back into the main code base and add that new feature. Only, that would be a bad idea.

The Friday Rule:

Try to leave [...]

Dual 24″ Monitors

I’m working on a justification for capable developer machines including dual 24″ monitors. It occurred to me that I needed a simple test to define the problem.

def test_two_24_inch_monitors_are_cost_effective baseline_productivity = developer.productivity_in_hours_per_year developer.add_monitor(24_inch_monitor) developer.add_monitor(24_inch_monitor) productivity_gain = developer.productivity_in_hours_per_year – baseline_productivity assert(productivity_gain * 50_dollars_per_hour > cost_of_two_monitors) end

So with two 24″ monitors running say $800 I need [...]

C# Coding Standards

Due to a peculiar set of circumstances I’m looking at C# coding standards or style guides. The key decision is to agree to a style guide that everyone more or less follows. I also like style guides that go a bit beyond how to format the curly braces on a newline or tabs versus spaces. [...]