If you love your work, what do you love about it? If you haven’t found work you love, what’s kept you from finding it?
I ask these questions because it dawned on me recently that the roots of my interest in programming boil down to just a few, rather modest particulars. They are as follows.
I enjoy the constancy of organization. I love having a problem to solve and a goal of not just defining the data and logic I need, but how best to wrap this up into a digestible model. Consider all the big principles and practices that exist in the universe of programming that—at its core—are opinions on organization. Here are just a few:
- Relational database modeling
- Classes, structs, interfaces….really, any data type
- MVC, MVVM…any application pattern
- Functional, procedural, object-oriented, aspect-oriented…any style of programming
- Each of the SOLID principles
- HTML/CSS/JS (Structure, presentation, and functionality)
- CSS pre-processors
I love the craft of editing. I’d guess 90% of my time writing code is actually spent editing what’s there. It’s the best part of coding to me—to hammer something working into something working well. Then, to keep bending things into just the right shape.
- Naming things better
- Stumbling upon a pattern, then reshaping code to fit the pattern
- Encapsulating code more strictly
- Ensuring syntactic consistency
- Removing code I once thought necessary
- Revisiting and straightening out confusing logic
I’m passionate about typographic design — in particular, the spacing, heights, margins, borders and decor surrounding words. I had a strange childhood obsession with calligraphy because the artistry lied in the precision of each letter’s shape and the space between them.
In the late 90s, my venture into programming started with web design. I bastardized table layouts like we all did back then. But, despite all the standards sins committed then, that kind of design unearthed a long-dormant obsession I had with typographic design.
And design for me doesn’t just end on the product. I also carry that over into the editing process. I’ll spend time solely cleaning up indentations and line breaks. Call it programmatic OCD—but it’s enjoyable for me. Every time I open up my IDE, I look at the typographic design of the code as well.
The real reasons I love to code are basic. But they’ve helped me become, I hope, a good programmer over these past two decades. Because, along the way, I’ve gotten better at all the other stuff around programming (performance bottlenecks, caching strategies, and memory management just to name a few) that I either wouldn’t enjoy in isolation or have the drive to improve upon. It’s because I know what parts of the job I really love that keep me interested in the topic as a whole.
If you haven’t found the thing you love doing, it may be that you’re focusing too hard at the things that don’t speak to you immediately rather than hanging on tightly to the things that do.