Level of Effort

My last semester of school started today.

Wait. That’s a lie. Dammit. I’ve committed and started the paperwork for continuing directly from my BS into my MS. I’m into pain. Le sigh.

My last semester of undergraduate school started today. I have a need to confess something:

I am not going to graduate with a 4.0 grade average. In fact, it’ll barely be 3.0 and my transcript will report C grades in several core Info Tech classes.

Wait, what? Rick O, technology guru and professional programmer for the last 15 years, was not able to just sleep through his BS?

To defend my honor, that’s not entirely the situation. Really, I could have taught all but 3 of the courses I took without ever cracking a book for a refresher. (Don’t get me started on the Intro to Web Programming and Intro to Databases courses.) By all rights, I could have gotten a 4.0 average. I could have gone for the Dean’s List and Honor Society and all that rot.

But, frankly, why?

I’ve got my career. I’ve juggled full-time school and a full-time job for the last 5 years. I’ve got a solid track record, and haven’t needed to prove myself to anyone in years. I’m not 22 years old and just entering the workforce for the same time.

Point being, I’m not competing at a level where grades matter. Not even a little.

When I got my CCNA and turned around to start work on my BS, I looked at the course plan and made a decision: it wasn’t worth my time to do anything but the minimum work possible to get my degree. It was obvious that none of the courses were going to challenge me or teach me anything new or relevant (though a few courses surprised me) until graduate level.

This means that if I had a solid A in the class and skipping the final exam would only drop me to a C … then I skipped it. (This is precisely how I ended up with a C in Intro to Info Tech, which was a sleeper even for the 18-year-olds. Ha!) It also means that instead of shooting for perfect research papers, I shot for good enough. If we had a group assignment and I saw that only a Herculean effort on my part would drag our submission up from a C to an A, I chose to chill out and get the C.

Simply put, it was a a level of effort decision. I could put in 20-25 hours/week and get a 4.0, or I could put in 10 hours/week and get a 3.0. Financially, there’s no effective difference to me between a 3.0 and a 4.0—not even a small one. From an economic standpoint, given my other time commitments, it would actually be irresponsible of me to put in all that extra effort and not be able to justify it with some kind of return.

Do I regret the decision? Hell no. After the decision to go back to school it’s the smartest thing I’ve done in years. I haven’t stressed about my grades and have generally been in a good headspace. I wouldn’t trade that for a 4.0 and a pile of money.

Having said all of that, what about my MS coursework?

Honestly, it’ll depend on the interest level—I’ll give as good as I get. I’m hoping to actually frickin’ learn something at the graduate level. If the teachers can manage that, then I’ll be their #1 student. But if we’re just rehashing the same tired crap, well, it’s back to not stressing about school.

The weird thing is that I’m generally not that pragmatic. In fact, a decade ago I probably would have yelled at myself for not taking the extra effort just on general principle. But you fight the battles that you can win, right?

I find that the mentality is making me a much calmer person than I used to be. I used to be a perfectionist who stressed about the details, no matter how unimportant they were. But now I can take a broader view and focus my energies on the 95% that matters. I still give them my all, but I won’t be driven to distraction any more.

I also find that it’s making both my programming and my project management better.

Programming in the web world is so fast and iterative. Now I find it easier to deliver the first 80%, then step back and wait to see what happens. But, that 80% is rock solid. Back when I used to deliver 95% instead of 80%, much of that extra 15% would get changed with hmm, we didn’t think that one through, can it do this other thing instead?. The amount of code that I’ve had to throw away in the last 2 years has decreased dramatically, to the point that I barely have to scrap anything these days.

Program management has seen similar results, but of a more proactive nature. I’ve now got the courage to call the client on it when I think they are being dumb or spouting bullshit. I’ve also got the courage to flat out refuse to do work if I can tell that it will never see use, or that its total use would be far outweighed by the opportunity cost of me switching projects. We take on fewer projects, giving us more time and a more relaxed atmosphere to work on the projects that actually matter.

It’s a new question that you need to ask. It’s not what are we doing? or how are we going to do it?, it’s even more basic than that: is it worth doing at all?. And, of course, if it’s worth doing then it is worth doing well, right?

Looking back on it, I’m amazed that no one ever thought to teach me to ask that question. But then, I come from a family of overachievers and perfectionists, and I married another one. Until I figured this out, though, I’d never understood how to balance that drive with anything else—it was always mach 3, no matter what the direction.

I get that this approach might not suit everyone. Again, it wouldn’t even suit the me from a decade ago. But, also again, I’m not nearly the ball of stress that I was back then. And my code and projects are just as good, maybe even better.