4 ms·
I find that a lot of my knowledge work involves a kind of thinking that doesn't quite feel like proper thinking. Adding breakpoints or log messages or refreshi
by mercer 8y ago
I find that a lot of my knowledge work involves a kind of thinking that doesn't quite feel like proper thinking.
Adding breakpoints or log messages or refreshing constantly.
Entering search queries that are various permutations of my error message or question, and following whatever rabbit hole it sends me down.
Reading the documentation of some API, or refreshing my knowledge of a framework and/or what changed in the latest version.
Figuring out what part of my stack decided to misbehave and why, which I suppose is often a variation on the previous problem.
Writing and rewriting an email or ticket not primarily to communicate what the problem is, or how I solved it (because nobody cares), but rather to get the resources to work on the problem or offer some vague explanation of the solution all the while considering the 'political' context of the issue.
All of those do involve various degrees of thinking and creativity. I'd even go as far as saying that a big part of my effectiveness as a developer over the years is a result of getting better at those things. And it's made me respect the role of non-devs (such as managers) quite a bit more.
But to me they're mostly draining, and feel qualitatively different from, and worse than, the 'thinking' that I do when I'm trying to think of the best solution to a problem, the best way to structure my project, or even the best constructs to use in a bit of code. Or the joy of synthesizing some ideas from one book with those of another book, sometimes complicated by having to do it live, in conversation, while considering all the conversational rules too. Or even the 'thinking' involved in writing and rewriting this comment, however meaningless or pointless it is compared to, you know, all that other stuff I do that people actually ask for and/or pay me for.
I still haven't quite figured out how to categorize these two types of thinking (and optimize for the one I prefer).
But the closest I can get to the core difference is that the former is mostly about rote knowledge (repeat x until I know y, read x in the API so I understand the incantation, rewrite search query x so I get result y and remember which y is usually valuable, remember which stakeholders care about what things, etc.), while the latter actually feels like combining different pieces of knowledge in (personally) novel ways. Maybe it's a bit like the difference between high-school chemistry and mathematics?
EDIT: I'm not saying either of these types of thinking is better than the other, btw, just that I often find myself engaging in the one that doesn't 'energize' me.