SEP has asked us to write about the tools of our trade. I’m a software engineer at a decently-sized software engineering company, so it’s pretty clear that I have several tools in my programming toolbox. Things like Sublime Text for scripting, DiffMerge for file diffs, Stackoverflow for Q&A and community, and even music for getting in the zone.
But there’s one tool I use daily. It’s what I use to get better at my trade. It’s how I learn. The most important tool in my toolbox is curiosity. For every project I work on, I use curiosity to help answer all kinds of questions.
How should I do this?
This question comes up all the time and there are a couple of ways I could go about answering it. All of the right ways involve satisfying my curiosity. I may do a little brainstorming to come up with some ideas, or I will experiment with a few options, or I might research existing solutions to similar problems. And through this process, I learn.
Is there a better way to do this?
Something else that often comes up in my work is the discovery of some truly unsightly code, poorly designed architecture, or other equally cringe-worthy work. Sometimes I find it in an existing codebase. Sometimes I realize that I have been doing things very, very wrong. In these cases, the way I answer my question of how to improve it is to ask coworkers, fellow engineers, or even the internet. I describe what I’m seeing and I try my best to describe what I think should happen. The answer often comes in the form of friendly advice or through experimentation. And however I find my answer, I learn from it.
What’s so great about this?
I hear about new technologies and methodologies all the time. Sometimes I just don’t get them. But I hear about how great they are, so my curiosity kicks in. I ask about the cool new thing. I research it. I try it out. And then I learn.
Curiosity brings all of these questions to my mind as I work. When I satisfy that curiosity, I learn. And that’s how I become a better engineer. How does curiosity help you in your day-to-day work?