Scott's Recipes Logo

Why Old Engineers Are Cranky Engineers

I recently had an interaction with a younger software engineer and I’m pretty sure that his impression of me after that boiled down to cranky old bastard and that would be the nice version. The less nice version could easily have incorporated the words difficult, jerk and a few other bits of invective.

The topic at hand was getting a commercial, for pay CI server up and running on a single Rails code base of moderate size (about 40 K lines; about 110 tables). This is a well known, leading product and I was very, very difficult about my expectations:

I expected it to just plain work out of the box

He was stuck getting the configuration to work and I made it clear to him that I didn’t want him spending much more time on it. He saw no problem with investing the time in it – and that was the conflict. My logic goes as follows:

Finally I had to say to him something akin to this:

Crankiness Explained

The crankiness on my part comes from a combination of this particular vendor, partly from the unique snowflake attitude common to CI vendors, and partly from being older. Here’s the details:

Happy Conclusion

My asshole style demand – get it done by the end of the day – actually worked. I absolutely hate to manage that way but forced time bounding can be a great technique at times. We now have a CI server that is setup and that is excellent. He really did do a good job. We’re not 100% there yet because it is only checking pull requests and not master but hopefully that is a matter of only minor additional configuration.

Recommendation to Vendors And an Example of Doing it Right

Rightly or wrongly I don’t think I’m all that different from what a lot of people when it comes to evaluating software. Getting a great out of the box experience is essential if you want someone to pay you. If this was an open source CI server that I had to run myself I’d expect configuration but RSpec and Rails 4.x is a known thing. This should have just worked.

As an example of getting setup right, I’d like to point people to CodeTree. You can point CodeTree at your git account and boom! It makes github issues better. Can you configure it? I think so but the point is that I haven’t needed to. Recommended.

Disclaimer: CodeTree is run by a former boss of mine and I do view him as a friend.