One thing that I notice about Software Engineers is an ever-present curiosity. This is a fundamental denominator that all progressing SWE’s have and that it’s a requirement to continue cultivating this mentality in order to progress as an engineer – both the engineering career and the engineer as an individual.
This statement comes from the keys of someone who would never describe himself as a regularly curious person to begin with. However, like many of the CS topics themselves, I’ve only recently come to the understanding that it is a skill that can be learned and strengthened. My goal of this post is to reflect on curiousness as it relates to being an engineer and try to provide some quick tips to make yourself more curious (yes, it’s possible) – if someone benefits from it, then that’s even better!
About Me
In my previous career in medicine I was results-oriented, however not truly curious about the inner workings of the human body. This ultimately led to my dissatisfaction with the career: it was not that there was anything wrong with medicine (and there are unsavory aspects of all careers), but I never took time to explore my sensibilities, how my brain works, and find work that fits me rather than the other way around.
A recurring memory from my childhood was watching my Dad actually build a computer and set up a local network at home. That was the first time I saw the networking acronyms of DHCP, DNS, Ethernet, IP, and the inner hardware of a computer and I was fascinated by the complexity and how it all worked. I give this example not because this is the “Bill Gates-esque origin story of my multi-billion dollar conglomerate” or that I am attempting to demonstrate that I am some code-wizard that can hack into a foreign government with my eyes closed. It’s just one of the clearest examples of pure curiosity that I remember when I get the question of “what got you interested in CS?”.
When given time to reflect beyond practical motivations and satisfactions that come with a stable engineering career (stable pay, growth, etc.), I can say that curiosity played a role in sticking with it when courses got tough. Only now towards the end of the program am I exploring how I can become a better developer beyond “What does this assignment need in order to be completed?” – for instance I started the MIT Missing Semester course to level up in day-to-day skills of navigating the command-line, shell scripting, Git, and more.
Manufacturing Curiosity
Some practical tips to cultivate curiosity (since I believe that those not naturally curious, like myself, can work on it):
- Sometimes while reading topical material or actual code you will feel bored and likely think along these lines as well. Thats the perfect time to consciously and willfully ask yourself “Is there anything even remotely interesting about this?” or “How does this tie into something else?” or “Are there popular examples of this in use?” and try to see what examples come up.
- Things are usually most fun as when I am actually coding, moreso than reading others’ code or some textbook. Quickly running through your head how you would approach coding the topic/snippet you are reading can also help spark some of those juices, even if it’s not accurate at all.
- When actively learning something that is more code-based (such as going through some command-line exercises, LeetCode problems, or debugging something), try something new or different. Try related commands, try an alternative data structure, try different inputs. No matter how “dumb” you think it initially is. Any new terms or acronyms you don’t know, just hit a quick Ctrl+T and Google it to get some high-level overview for more context and sense.
- When you are feeling especially curious, try to follow it. Try out that alternative coding approach to the problem, go look up the analog for that command in another platform, whatever it is just do it before you psych yourself out of it! Admittedly this one can be especially hard for me, however, I am getting better at it.
- There is merit in “fake it until you make it”. There are days when everything just plain sucks and worse, doubts of this career change come in (I say this since many of us are in this boat, I definitely experienced this multiple times). Simply attempting to feign or force interest in some of the CS-related things you are doing in the moment help until those days pass and you can continue being more excited and productive.
In Conclusion
This perhaps could have been mentioned earlier, but I find myself being most open and curious when I manage other aspects of my life well. I like cooking, running, hiking, cars, and want to get into cycling. When I am disciplined and invested in my errands/hobbies, I find myself excited to learn. Reminder to myself and you – your life away from the computer affects your life on it!
This is all part of recent realizations as I enter this new career – I signed a return offer from my internship to move to the Bay Area and join a large enterprise storage company doing cloud-side work, and am definitely nervous! I plan to continue cultivating my curiosity to help keep the impostor syndrome at bay while continuing to grow both on and off the laptop. I hope you do too!