The software development industry is a very fast-paced one. New technologies keep popping up left and right. New development frameworks and tools turn existing ones obsolete. Don't blink—someone might have released a new front-end library! Everybody nowadays always have new ideas. Hell, we're just halfway through August 2018 and 36,000+ new Android apps have been published to the Play Store! The speed in which new stuff pops up in the software world is daunting, and as a developer there is definitely the pressure to keep up with these trends.
With my ~4 years of experience in the software development industry, I still consider myself junior (although most people would consider such experience level as mid-level). Although the years of my career haven't reached the double-digits yet, I can say I've already learned a lot in this industry in less than half a decade. However, even though I feel positive about my career growth from day 1 till now, there are still doubts—thoughts in the back of my head that there's still a lot to learn, and the gradual realization that I won't be able to master all there is, because the rate in which the industry is expanding with new languages, frameworks and products is admittedly too much for my mental capacity to handle.
When those doubts first hit me, I felt dread. I was constantly feeling the pressure to be on the cutting-edge, to be in the lead of everyone else trying to be an "expert" software developer/programming ninja/rockstar tech guru. I spent a lot of time learning the ins and outs of the projects we had at work, because I wanted to serve as a mentor to my peers. I spent a lot of time outside of work hours to binge watch the latest video tutorial just to get a glimpse of the newest JS library, or the tip of the iceberg on what's new in the .NET ecosystem, because I wanted to be the go-to guy when people wanted to know, "what's new in the developer world." In a sense, I enjoyed (and still do!) answering questions from my peers to look like I knew a lot.
But at what cost? I sacrificed a lot of my 24 hours in a day, both in the office and outside, just to look like a "rockstar". As the pressure grew, I felt it was gaining on me and I couldn't keep up. At times it felt like I was just keeping a façade. Was it impostor syndrome? I don't know. Did it contribute to burn out on my first job? I couldn't say.
What I could say is that, even though it's only been 4 years since I started, I've had enough of this cutting-edge culture. I'm losing my breath catching up with the latest and greatest, but I'd rather catch my breath right now than (mentally) die trying to keep up.
As I slowly mature into this career path, I've learned to accept that maybe I won't be at the top 1% at what I do. Maybe it's okay to be at the top 2%, or 10%. Hell, I'd take top 50% right now.
I still feel inferior to other developers who constantly get to touch projects with cutting-edge tech 8 hours a day. But now, I look at them, and say to myself, "as long as I enjoy what I do and what I learn from it, this is fine". As a consequence of that, I've actually turned down a couple of opportunities from startups who have shiny tech stacks, because now I weigh in work-life balance (i.e. will the workload burn me out in a short amount of time), and not simply if the career jump will look good on my LinkedIn profile.
If you've read this far and are still looking for a nugget of advice to take away from this blog post, consider this: there's no need to code outside working hours (you're not getting paid!); there's no need to binge watch e-learning courses (spend time destressing on Netflix instead!); it's okay if you're not using the latest version of Library X (it'll probably be buggy and a clusterfuck to maintain and integrate!). I got out of the "cutting-edge" mentality, so stop pressuring yourself and get out of it too.