In the software industry we are advertised that above the Senior SW Engineer level there's a bifurcation in the career progression path (resembling the "Y" letter) and one could possible proceed to:
- A management career path
- A technical specialist career path
While there's plenty of material available on a manager's role and responsibilities, it's much harder to find a consensus on what a technical specialist role looks like.
So, are you on a technical specialist career path in you company? In case you are what are your responsibilities, and what does a typical work week look like for you?
Also, if your company provides a technical specialist career path (even if you've not reached it yet), how's it structured?
Thanks in advance!
Related discussions:
[1] On Being a Principal Engineer (https://news.ycombinator.com/item?id=19128489)
[2] What a Senior Staff Software Engineer Does (https://news.ycombinator.com/item?id=20851476)
I was on that path in my previous job.
First: I had to defend that path. When my manager was promoted to director, and needed someone to manage my team, he tried to covertly turn me into a manager after I declined. Fortunately, the VP of engineering intervened, but if he hadn't, I'd probably have left for a company that supported the technical specialist path.
Second: You are expected to lead in some way; you can't just do the same job that you did with 5-10 years of experience out of college. In my case, I was architect for a business critical component of the product. I designed critical path parts, reviewed other engineers designs, implemented critical path parts, reviewed other engineers code, ect. We promoted one of my co-workers to manager, and the manager and I worked very closely together, but I directly reported to the director.
2.5: Your job is no longer to "do what you're told." You need to be able to manage up and help management anticipate technical issues. You will need to push for major refactors, rewrites, protocol changes, code quality, ect.
Third: Job changes are going to take more time. No one wants to pay extra just because you have extra years of experience. Finding the match for your technical experience and career experience, with the pay premium, takes time. This mostly has to do with the learning curve of tech stacks; no one wants to pay a guy with 20 years experience in ABC stack to learn XYZ stack from the ground up. You will also have to walk away from opportunities that are just trying to hire cheap people who "do as their told."
Finally: Consider "consulting" when you change jobs. It's an easy way to leave if you don't work out in a new job. There's a lot of reasons why a job won't work out, and may of them aren't your fault. You just can't screen a company closely enough in a job interview to know if it's going to be a good match, so starting with a 3 month or 6 month contract, and not renewing it, is a good way to protect yourself when you realize that you just can't work with someone.