I used to think this was applicable for tech jobs at non-tech companies (of which I've had two thus far), but now that I'm at job #3, a software engineer at a tech company, I think it's universal.
It's absolutely right that no one will look out for your career other than you, because it's no one else's job to help you advance. It's completely politics - not that it has to be cut-throat, but you have to own your own work destiny.
Of course, not wanting to advance is fine. Many of the techies-turned-managers I've worked for hated the advancement because it removed them from the actual tech. A few even made "lateral" moves to get back to the tech. Likewise, many of the engineers I've worked with are perfectly happy writing code, and just want a merit increase annually.
Someone once told me "dress for the job you want, not the one you have." It's basically that. If you want a better job, do your current job better. It will get noticed, and that's how you advance.
> If you want a better job, do your current job better. It will get noticed, and that's how you advance.
This has not been my experience. If it were true, I'd be the lead architect. I think politics are more important. It's not simply good enough to do your job well - you have to make sure everyone sees you doing your job well. In fact, you don't even need to do your job well to get ahead, you just have to step out a few critical times and make sure people see you doing a good thing. Hoping that you get noticed is, in my experience, the worst advice you can give.
Of course, not wanting to advance is fine. Many of the techies-turned-managers I've worked for hated the advancement because it removed them from the actual tech.
Advancement doesn't require becoming a manager. (If it does, in your company, then change companies yesterday.) It means working on more interesting, higher-impact projects.
Most engineers that I know only become managers because there is no other way to control the division of labor and get quality work. (Of course, in reality, managers don't get to do the decent work either because they spend all day in meetings.)
What you really need is enough control over the division of labor to continually have high-quality projects to work on. One solution would be only to work for open-allocation companies.
Totally, and I didn't mean to suggest it is. The lateral moves I mentioned were to technical architect roles, which aren't daily coders, but also aren't management. However, that's not the path some people want to take, either.
When I interviewed for my current position, I was very upfront with the interviewers that I was not interested in any kind of management position that takes me away from coding. I let them know that if they were looking for an engineer to groom for management that they needed to look elsewhere. Coding is my passion, and I don't want anything that takes my main focus away from that. Now I'm the technical lead for multiple projects, where I do about 75% coding vs 25% other stuff, and I'm very happy at this level.
It's absolutely right that no one will look out for your career other than you, because it's no one else's job to help you advance. It's completely politics - not that it has to be cut-throat, but you have to own your own work destiny.
Of course, not wanting to advance is fine. Many of the techies-turned-managers I've worked for hated the advancement because it removed them from the actual tech. A few even made "lateral" moves to get back to the tech. Likewise, many of the engineers I've worked with are perfectly happy writing code, and just want a merit increase annually.
Someone once told me "dress for the job you want, not the one you have." It's basically that. If you want a better job, do your current job better. It will get noticed, and that's how you advance.