This article is heavily inspired by one of ThePrimeagen's videos named My Best Decision Professionally. The video resonated with me because it made me think about past decisions I took in my job and I feel like I developed a mentality that is very similar to what he described in the video. I won't review everything Prime said there: this will be more of a personal contemplation in light of what he said.
Curing Impostor Syndrome
I struggled with impostor syndrome at the early stages of my career, mainly because I was still learning and discovering the sheer breadth and depth of knowledge that I lacked in data science (what I was learning at the time). This is not true anymore, though... after 6 years of passing through multiple jobs and dealing with different kinds of teams, I discovered that my "little" knowledge can cause actual impact. This is the critical point that I always keep in mind to keep impostor syndrome at bay.
It turned out that technical quality and precision are not as correlated with business/domain impact as we'd like to think. That is what crippled me in the past - thinking that I can't make a contribution or even lead a project because I don't have enough knowledge. This was even more evident when my technical work served a non-technical audience, like building software for (non-developer) customers. I saw and made some things that are considered bad among us developers: poor performance, mediocre UI/UX, old tech stacks, bad programming practices, and other stuff like that in projects that ended up being huge successes anyway.
The moral of the story: keep writing bad code! Just kidding... Do, however, stop obsessing about code quality or questioning your worthiness as a developer. Instead, direct your thinking toward the business problems that you try to solve. Maybe that "bad" code is actually good enough for your use case.
Embracing Problems
My success at the current company came from something I never thought I'd be doing in my life. I literally have no idea how I ended up like this, but I am happy about it anyway... and that is jumping headfirst into problems the company encounters. It's not only about solving problems, but also doing so when others would panic or bail. This is the meat of ThePrimeagen's video and what resonated with me looking back to my past work.
Again, I don't know how people develop such a mentality if it's not a natural part of their personality, but I know at least that ties in very well with what I wrote earlier about doing what you can with what you currently have and being free from impostor syndrome. My current job had nothing to do with web development, but my company started recruiting devs to make software products, and I've been asked to contribute given my programming experience. I wasn't very confident in my skills, and probably for a good reason, but the things I made eventually were dreams come true for the business.
One related idea to discuss here is taking initiative. This is a simple extension of the problem-solving mindset I explained, except that now the one who gets to detect the problems is you. I did that relatively many times in my company. There were multiple projects (some of them are software) that could have gone through without my involvement, but I took the initiative to suggest some improvements that I later implemented.
I don't know exactly how to put it into words, but there is a great advantage in being perceived among your team as the one who takes initiative and solves problems. Also, let me reiterate what I said earlier: my knowledge was very limited, but what I knew solved problems - plural. That's what matters at a business level. So, next time your team faces a problem, think of it as a potential opportunity for you to solve it and make an impression.
Showing Off
Calling it "showing off" might make it seem like a bad thing, but I think it isn't really that bad. I'll use a very simple picture to show you why you need to constantly show off your work.
Not only are your managers mostly unaware of the amount of work you do to get a certain task done, but they also most likely don't care and won't actively try to think about it unless you show it.
I've interacted with enough people to believe that technical folks, especially the ones who are good at their job, are usually bad at showing off or actively avoid it altogether because they think showing off is for people who did little work and want to make it seem bigger than it truly is - they think the work should speak for itself. I know I've been in that camp for so long. But this little drawing above says otherwise. Work unfortunately does not speak for itself.
You see, the problem with that thinking is people think that doing good work and showing off your work are mutually exclusive: you are either in one category or the other. However, I found out that these are two independent characteristics. So, in most business settings, you are always better off being both good at doing the work and at showing it to others. It's kinda like having good quality product that is also backed up by good marketing. That's what the showing off is about: marketing.
Important Caveats
Aside from the obvious "this is my opinion" spiel, there are two important points I want to clarify...
Your Mileage May Vary
I took multiple jobs in multiple places, but the content of this article is mostly shaped by my current job, the one in which I spent the longest time (3 years by the time of writing this) of my relatively young career. There is no need to describe too much about the job except 1) my direct report and the users of my software were all non-technical, and 2) in most of these projects, the "technical team" was only myself. That should give you a nice context for what I learned and shared here.
Still, different companies/teams in different places in the world will most probably have differences of varying degrees in objectives and cultures. I do think, however, that what I learned so far can apply in a general sense to most workplaces, if not all of them, even if the specifics will vary. After all, ThePrimeagen is a smart engineer working with smart engineers at Netflix, and yet we share more or less the same perspective on that topic.
Hustle Culture
The last thing I'd want for an article like this is to be lumped with the "Hustle Culture" kind of content. This is not by any means me telling you to go work for extra hours or volunteer in every project in your company and never stop working until you burn out or cause physical harm to yourself from excessive work.
What I am trying to say, though, is that such a mindset will be important if you want to stand out. In other words, I believe it's a way in which you can be more successful apart from technical skills. Because let's face it, technical skills are not everything in jobs nowadays.
Conclusion
I think all of what I said here boils down to keeping an open mind. You see, when people panic over problems, refrain from taking initiative, or remain crippled by impostor syndrome, then their minds are not open enough. I did benefit from having an open, problem-solving mind from time to time, and so should you.
So, I hope this gave you a little food for thought. Thanks for reading!
Cover image source (that's not the first time I use a Radiohead-inspired cover)