Am I a real software engineer yet?

Philip Cai
Smarkets HQ
Published in
3 min readMay 20, 2022

--

In its best moments, coding is an activity with the remarkable ability to seemingly make time dissolve; the passage of hours collapses into a matter of minutes, and you emerge from the experience with the intoxicating sensation that you have created something. In its worst moments, wrestling with a package manager is an activity with the remarkable ability to seemingly make your sanity dissolve — and your keyboard collapse into a neat pile under the wall you threw it at.

Those who go into software engineering with idyllic dreams of writing greenfield code will inevitably find themselves knee-deep in some of the less glamorous parts of the job. Worse still, a new engineer might find themselves drowning in the veritable salad of tech buzzwords, often so preposterously named that they can be innocently mistaken for pokemon. This is an especially wearisome problem for people who are coming to the industry from non-CompSci backgrounds: there is such an overwhelming amount of arbitrary and seemingly contradictory information to take in, day one of software engineering must feel to a physics graduate like a perfume laboratory to a dog.

The software engineering industry, being the constantly changing, high-speed potpourri of jargon and tech-rot that it is, can frequently leave its incumbents wondering: am I really cut out to be a software engineer? Imposter syndrome affects people from all fields, though it seems particularly prevalent in this one, and especially for those starting out.

The cure? For many, it is simply time. The more experienced team members sat around you at the office who all seem to know exactly what they’re doing (though trust me, they don’t) didn’t acquire their skills overnight; you are seeing a vertical slice of their talents, accrued over the course of years of toil and graft. After some time, you too might pick up enough skills to feel useful based on your own merits — or at the very least, enough to climb out of the dreaded Dunning-Kruger valley.

There are also those, however, who don’t seem able to shake off their nagging sense of self-doubt, even after years of fruitful work. To those afflicted by such a condition, my advice is this: take a lesson from ancient Taoist philosophy and focus on the present.

That is to say: stay focused on what you are currently working on, rather than worrying about the future and the looming cloud of unfamiliar jargon surrounding it. Forcing yourself to learn about tech that you aren’t using and aren’t interested in won’t cure your impostor syndrome; no matter how much you know, there will always be plenty left for you to not know. It’s also quite possible that whatever you attempt to learn about will have become obsolete before you ever need to use it.

Ultimately, though, some genuine interest in the field is still necessary to progress as a software engineer. It can be a very hard job to love sometimes. Those with an academic bent might think it too “unintellectual”, and those with artistic inclinations might think it too soulless. The truth is, though, that many of a software engineer’s struggles consist not of writing code, but of softer skills: managing resources, efficient planning and prioritisation, communicating technical ideas well, managing risk, orchestrating large systems…and dull as it might sound, this is actually far more interesting. There is plenty for the puritanical academic’s left-brain to chew on, and plenty for the artist’s right-brain too. It’s also more rewarding and more useful, as these are skills that pervade all aspects of life.

So before you disregard it on the basis that you’re not cut out for it, or that it’s beneath you, give software engineering a chance.

We are hiring for a number of software engineering positions — see them all at https://smarkets.com/careers/.

--

--