I’ve often heard from engineers that it’s not our job to write code, it’s our job to solve business problems. When working for a company, I suppose that’s strictly true. But it’s also okay to like the many parts of your job that are involved in that goal, or are orthogonal to it.
Once I heard someone even say it’s not your job to “solve business problems”, it’s to “write code that satisfies requirements.” Oddly enough, I’ve heard the exact opposite of this from other engineers; throw any requirements overboard if you know better. Again, I suppose these are true, but, largely pedantic.
It is super okay to like writing code, to like solving little computer puzzles. It is super okay to have a good time goofing around with whatever computer topics interest you. It’s super okay to write code to the letter of the spec, or the spirit of it.
Beyond that, it’s okay to enjoy all of the things around writing code that make it possible, and fun! I love talking to people that use software I’ve written, and working with designers, and managers, and support agents and all the people that make it possible to do this for a living! It’s fun!
I love the television show Task Master. It’s this fun british comedy show where comedians and actors have to do goofy little tasks for points, and then watch the tape of them doing these tasks in front of a studio audience.
It involves a lot of lateral thinking, and occasionally the complete lack of thinking or too much thinking, in order to solve the task and get points. Getting points isn’t the interesting part really. It’s watching them try to do the task in weird ways that seem normal to them.
There’s an accompanying podcast for Task Master in which Ed Gamble, a former contestant and current comedian, talks about the episodes with other contestants. In a recent episode he was talking with Jason Mantzoukas about how to best complete a task that involved honking a horn. Ed wanted to do it “the right way” with a very specific strategy and thought process about honking the horn. Jason, exasperating mocked Ed, saying “Ed, you are so joyless! [Just honk the horn!]” I think about that a lot.
Honk the horn! Just honk the horn!
“Solving business problems” or “satisfying requirements” are true enough, but – and I say this with respect to the dweebs who get overscrupulous about stuff like that – utterly joyless. Oh, you want to be pedantically correct while walking in the narrow path for keeping your job? Cool, go ahead, log on without the rest of your soul, and have a joyless time. But there’s nothing in my job description that says I can’t have a good time.
Refactoring some code because it’s bugging you? Cool! You should do it! Talking shop with a coworker for an hour about your .zsh config because it’s fun? Do that too! Rewrite it in Rust? A bad idea, but – speaking from experience – an undeniably interesting and fun one!
It’s important to remember that the goal isn’t to get your work done. The goal is to get your work done in a way that you find engaging. The alternative is joyless.
I mean, don’t loose sight of what you need to do to stay employed. You gotta get your work done.
But also, if the spirit moves you, just honk the horn.