I got an email from an old Omaha Code School graduate this weekend, asking me for some help. She was preparing a talk about the skills non-CS-degree folks bring to tech and she asked me what skills my previous careers gave me. I found it kind of hard to answer, but ended up sending her this:

“My career in the military has definitely given me perspective that I wouldn’t otherwise have. It was a very stressful job and I was frequently in hazardous environments during my deployments. Now that I’m sitting on the ground in front of a computer all day instead of on an aircraft over dangerous locales, I find it very hard to get worked up about most things. I sometimes see others get visibly stressed out and upset about some code that’s not working, but I generally feel like I don’t have a problem staying calm under work “pressure”. It’s not life-or-death and it’s not the end of the world if this code doesn’t get deployed today, or even this week. Despite being anecdotal, from what I can tell, a calm programmer is a better programmer.

This isn’t related to a previous career specifically, but you know the saying “Don’t let perfect get in the way of good”? The older I get, the less of a perfectionist I become. I think that frame of mind ensures I make progress more quickly on whatever I’m working at the moment, otherwise I’d keep finding myself losing focus on the big picture. It’s so easy to get off on a tangent when coding. You might see an opportunity for a small refactor, but maybe it turns into a colossal undertaking which doesn’t have a lot of return value. I tried to avoid those types of scenarios. I think if I had been a software engineer a decade ago, I would have failed miserably because I was such a perfectionist. My only two options back then were “do this thing to 100%, no exceptions” or “don’t even start this thing, because it will never be perfect”. And code is never something that you can perfect, sooo…. yeah, I definitely wouldn’t have made it. 😹”