“There comes a point where you have to do more than just develop and implement features.”
“You can be a people manager or you can be an expert in one area or the other, the choice is yours.”
(from https://taetaetae.github.io/2019/07/07/review-first-half-2019/)
These are thoughts I’ve had for quite some time, ever since I started working. As a developer, your primary job is to “write code that works as intended.” But at some point, you have to do more than that. You need to bring something extra to the table.
The first time I had this thought was when I was just starting out as a developer. The code I encountered at work was on a completely different level from what I had been used to as an amateur. The self-confidence I had built from writing a bit of code in college was badly shaken. At that point, I thought several times a day about the company’s expectations and my current level. I tortured myself with thoughts like: am I really worth the salary I’m getting, how many mistakes are acceptable for a new employee, and shouldn’t I be able to drop the rookie label within six months and pull my own weight? At the end of each day, I always asked myself, “Did I really do a day’s worth of work today? If I were the one hiring me, would I pay me this much today?”
By the time I made my first job change, I was even more deeply troubled. What role am I supposed to play here, what expectations does the CTO have of me, and where am I meeting them? These thoughts were sometimes nourishing and sometimes draining to my self-esteem. All the while, I was constantly thinking about the expectations I had to fulfill and my value.
If you asked me to break down the kinds of people an organization needs, I’d say there are two main types: people who decide where we need to go, and people who actually do the work to get us there. The former are usually in senior leadership roles, while the latter tend to be practitioners. Most people start at the bottom and work their way up the ladder, taking on more authority and responsibility as they go. Sometimes I wonder if the weight of authority and responsibility is exactly what makes higher salaries feel heavy.
Once most people are past the newbie stage, they can fully pull their own weight. Add a couple of years of experience and you begin to look like a veteran. But practical efficiency does not keep improving in a straight line forever. Depending on the nature of the job, the rate at which hands-on skill increases gradually slows over time. That doesn’t mean companies freeze salaries after a certain point. By offering higher pay and higher titles, a company is asking for something beyond simple efficiency at assigned work. What that “something extra” means varies by company, role, organization, and even by individual. Each person has to sharpen their own weapon and prove why they matter inside the company.
There is a certain anxiety in knowing that if I stop finding and sharpening that weapon, the everyday life I’ve taken for granted might one day slip away like sand through my fingers. When I was younger, I didn’t realize how costly it was to sustain an ordinary life. But after enough experience in the workplace, that kind of anxiety no longer feels so strange.
The weapon I’m sharpening for now is the technical domain. Simply being able to write clean code that reads well and does what it’s supposed to do should be a given at this level of experience. On top of that, having knowledge and experience in a specific technical domain is probably the best weapon to have at this point in my career. I found that domain to be cloud and monitoring, which is how I ended up at my current company.
I’m constantly thinking about what my next weapon might be. One way to approach it is to look for what I lack and need to acquire, but I also suspect the answer may lie more in building on my strengths than in filling every weakness. I hope to have a clearer answer to that question by sometime next year.