When speaking with aspiring software engineers, there are a few misconceptions that I frequently hear. Here's some of the more common ones:
The Lone Wolf
A lone wolf programmer is someone who envisions themselves disappearing into a coffee-fueled abyss, only to emerge with ten thousand lines of code and thunderous applause. They aspire to slay the dragon of technical complexity, wielding nothing but elegant algorithms and daring data structures.
Unfortunately, this vision is naught but a fairy tale. In reality, software engineers are programmers, but programmers are not software engineers. The daily schedule of a software engineer is mostly consumed by meetings, planning, designing and reviewing. One is very rarely able to lock themselves in a room and code for hours, and any attempt to do so will likely result in the wrong code, solving the wrong problem, and written to the wrong specification.
Make no mistake, knowing how to code is a key prerequisite to making software. But collaboration with others is what separates the hobbyist from the professional. As the saying goes; the hardest part of software is humans. And this reality is reflected in the tasks you will be managing on a day-to-day basis.
The Beach Bum
Ah, the life of a software engineer! You go into the office whenever you happen to wake up. Grab some free brunch, head to the free gym. Stop by the on-site massage therapist on your way to your private desk. You sit down just in time to get up and head to a catered, complimentary lunch. Fantastic, if only it were true!
While there is an element of truth in this picturesque working environment, it's largely a mirage curated by giant tech companies to attract the best talent the world has to offer. Even if you work hard and land a job at such a company, no employer can wave a magical wand and make work become vacation. At the end of the day, software engineering is still a paid profession in which you're trading time and energy for monetary compensation. As such, you'll still be expected to earn your keep - which you do by delivering value to the company.
So shift your expectations; that endless stream of amenities quickly turns to an endless stream of meetings. Once your eyeballs begin to hurt from staring at the computer screen, you may find some respite in the foosball table.
The Happily Ever After
Not all fairly tales have happy endings, and you are certainly not guaranteed one. Personally, I love my work for more reasons than I can list here. But relying on work to be your happily ever after is setting yourself up for a bad ending.
While this topic diverges from objective reality to philosophical thought experiments, it's been my experience that sustainable, long-term happiness will rarely come from an external source. A lot of folks, myself included, fall into a trap of thinking we just need $thing
in order to finally satisfy ourselves. And yet the chances are the internal void comes from within, not a missing $thing
.
It isn't my intention to sit here and wax poetic about philosophy. Just analyzing things pragmatically, your career puts a roof over your head and food on your table. That's already a lot of wellness depending on your job, do you really want to rely on it for your happiness and existential meaning?