Healthcare

26 04 2009

I just started going through the paperwork from my hospital stay. The total bill from the hospital for four nights and three days, not including the surgeon, was $23,080.77. From that my insurance company’s negotiated rates chopped off $19,225.77.

If you’ve ever wondered what exactly is wrong with healthcare in America, that’s it right there. You can’t get a fair rate for medical services without the backing of an insurance company.





Between a Process and a Hard Place

22 04 2009

Last week one of my people dropped the ball on something and used the excuse that there was no written process. Apparently I need to provide documentation on “Using your goddamned brain” and “Not pissing in your pants at your desk.”

This week I’ve got my manager saying that he won’t do something for a system not yet in production ahead of QA approval — which has a high potential of causing a launch delay post-QA while we implement that change — because it would violate process.

In the very next breath he asks about the impact of making another change for this new system that he wants done now. “Are we going to follow the process?” “You tell me.” DIAF!





Mini Display Port rolls on

18 04 2009

I really hate MDP. My MDP-to-DVI adapter worked properly for exactly one day, now all I get with it is either 100% snow or a horribly color-shifted snowy screen. I’ve tried it with four different LCD screens, three different models, same result.

Apple refreshed the Xserve last week and guess what? It has Mini Display Port too. The one product they make that should have an old-school VGA port — because in a data center the only thing likely to be hooked up to it is an ancient CRT on a crash cart or a KVM that is probably VGA-only — and Apple goes with MDP. The previous-generation Xserves had Mini DVI so I guess this isn’t too surprising, but those models at least came with the VGA adapter in the box. With the new Xserve you gotta pony up another $30 for the adapter just like every other fool.





Circuitous

18 04 2009

Tonight I am at home on a VPN connection to a remote office, so I can Remote Desktop to a machine in my local office, on which I am running Hamachi to allow a backup to be performed to the Windows Home Server that is sitting three feet away from me.

I am both amazed that all of this somehow works and annoyed that so much effort is required.





Technically Bankrupt

13 04 2009

Paying Down Your Technical Debt:

I’d also argue that accumulated technical debt becomes a major disincentive to work on a project. It’s a collection of small but annoying things that you have to deal with every time you sit down to write code. But it’s exactly these small annoyances, this sand grinding away in the gears of your workday, that eventually causes you to stop enjoying the project.

This stuff is worse than credit card debt.

Right now I’m staring at a huge pile of technical debt. For the past year-and-a-half I’ve let one of my engineers take the lead on our development efforts while I focussed on the non-coding aspects of our projects. Now I’ve got a bunch of code that breaks all the time and a source code repository that is borderline unmanageable. Adding new features is a royal pain and troubleshooting anything is an exercise in frustration.

I’m pissed. At myself. For letting this happen.

Luckily, our back-end systems are about to enter a feature-freeze period. A major new release is being worked on so the current systems will be frozen until the new release is ready. My team has a couple of projects to shove out the door and then we should have a good 30-45 days to clean up our mess before any new projects come in.

For the past week I’ve been working on The Plan. I’ve published a proof-of-concept for how we will refactor our codebase. We will “modularize” and eliminate cross-dependencies. A new code repository structure will make it easier to promote new features and changes when they’re ready and not a moment before. And some minor tweaks to our workflow will allow this to happen with minimal impact to how we do things.

I’ve even got Visio diagrams of how it will all work.

The final piece will be placing myself in the role of “Release Nazi and Chief Code Reviewer.” I haven’t explained that part to my team just yet. I know that some of them are going to hate this but I believe that our lack of formal code review is what allowed this mess to happen in the first place. Ultimately I am responsible for the code that my people write, and the evidence so far suggests that simply empowering them to make decisions and having faith that they will do the right thing is not enough.

Trust, but verify” is my new mantra.





Hiring is Hard

4 04 2009

With the explosion in unemployment — two of the metro areas we’re trying to hire from are closing in on the double-digits — you might think my department would have no trouble finding qualified candidates… but you would be entirely wrong.

The manager position I was trying to get is still open. One candidate has made it to the offer stage and declined. We don’t offer spectacular salaries but we are a company that is still experiencing strong growth despite the economic situation, our benefits package is quite good, and our work environment is about as friendly and informal as it gets, so overall our offers should be competitive against other companies.

On the non-management front we’ve made exactly one offer to a candidate that I’ve interviewed over the past six months (and that person has accepted, w00t!). What we’re looking for in an initial interview is really basic — a person with some amount of Systems Administration skill, the ability to write code in some useful language, and someone we think we can get along with. Any true geek with a modicum of real-world experience ought to make it past that initial interview… and yet so few of the candidates we talk to are able to.

And it’s not like we’re not trying to trip up our candidates with trivia questions. I prefer to take a conversational approach to interviewing so I try to ask questions that get our candidates talking about themselves and what they have done. “Tell me about something you’ve done that you found exciting.” “That is interesting, tell me how you handled [something related to what they just told me].” The idea being that interviews are stressful situations and not everybody handles them well, but when you get someone talking about a subject they have some passion about chances are you won’t be able to shut them up. As the interviewer you will hopefully learn about their skills and experience without having to ask lame questions like “Rate your knowledge of [whatever] from 1 to 10″, and ideally everyone involved in the interview will end up learning something new.

Sadly, in the first few interviews where I was able to use this approach failed to get the conversation going. They literally drew a blank. One candidate did hit it out of the park, spending the better part of an hour passionately talking about an interesting project, some of the challenges encountered, solutions found, etc. That person starts next week and I think could turn out to be one of our best hires in a while.

But still I wonder… where are the quality candidates?





Printing

4 04 2009

This afternoon I thought I would see how much work was involved in setting up my networked printer under Mac OS X. Open Preferences, click Print & Fax…

printer-setup

And there was no Step 3. It was already there. Did some digging around to find where to print a test page and it worked on the first try. Presumably I’ll still have to install Brother’s software to control scanning and faxing but for printing it is good to go without me having to do a damned thing.

(I highly recommend the Brother MFC-7840W to anyone looking for a quality laser MFC, it packs a fantastic set of features into a very affordable package with no loss of functionality when using it over the network and has better multi-platform than most consumer-oriented MFCs)








Follow

Get every new post delivered to your Inbox.