Dear new developer,
I remember the first full time coding job I had. I was able to work on a great team, on interesting problems. I was able to get into the “flow” that is such a magical state. I was paid well. I had free snacks.
I remember going into my manager’s office and chatting with him. He seemed a bit stressed. He was constantly interrupted. He had lots of meetings. He seemed to want to code, but didn’t have time for it.
Me being the naive young optimist, I asked him once why he wasn’t coding. Why would he leave a really fun job for management?
He looked at me with a knowing smile and said something like “one day, you’ll understand”.
I don’t code for a living now. Oh, sure, I write some code. And it still gets me into flow. And I still enjoy it.
But the honest truth is that when I am coding, I have the leverage of one person. As I grow older, I grow more impatient to effect change in the world. The best way to effect change is to have more leverage. Some options for higher leverage:
- project management
- product management
- leading a team
Most of these involve communicating about coding (or other technical systems), but coding is not the primary work output. Instead, the emphasis is on knowledge or alignment of a team.
Now there are also code specific ways to get more leverage. Two that I can think of.
- work on really big systems that have a lot of users (FAANG companies, or something similar).
- work on open source libraries or projects that have a lot of users
If either of those floats your boat, then pursue that. I don’t like the first because I don’t really enjoy the bureaucracy and politics of big companies. I am not a fan of the second because I don’t really enjoy working for free.
By the way, no one says you have to have leverage. I’ve just seen that happen again and again across many companies and many individuals. Part of that might be the crowd I run with, but part of it might be that more leverage typically means more pay.
Your career is long. My guess is that one day you won’t want to code for a living. Enjoy it now, but keep your head up and think about what other areas, focusing on communication or team alignment, might eventually be of interest to you. Learn about those areas. Meet people who are currently doing them, and ask questions.