Thread: You're no longer a junior developer, so what type of role do you take on next?
Generally, there are 3 types of work for a web developer:
1) Stream work - Creating new features on a product or API service
2) Platform work - Keeping up a platform via bug fixes, CI/CD, dependency upgrades, etc.
3) Enabling work - Specialized work to bring code to an ideal
Stream work includes close collaboration with a product team and affords the most direct level of influence over an end product. It is focused work with opportunities for creativity when implementing features, creating code patterns, suggesting business solutions, etc.
The cons of this work are that you don't always get the time to develop your craft. Stream work may be combined with platform and enabling work which can be either a learning experience or a theft of focus.
The work is only as exciting as the features--which you don't control.
If you love debugging then you'll love platform work. It is not as creative as the other types of work, but it is foundational to the success of any application. It requires the least collaboration with non-technical people and has a predictable cadence to it. Some dig this.
Enabling work is the most specialized. You can work on creating tools and assets that help a variety of engineering teams across a company. You can focus on developing your craft and stimulating creativity without the usual distractions. An example is working on a design system.
Enabling work is influential to products but in a more indirect way. If you prefer to be more of a jack of all trades and/or collaborate about feature development, stream work can be a better fit.
In order to know what you want to do, you first need to evaluate what you are currently doing.
Are you doing stream, platform, or enabling work (or a combination of each)?
Now, evaluate your enjoyment of this type of work.
Next, is there a type of work that seems most appealing to you? What would make you tick? What aligns with your skills and interest?
If you aren't sure or like doing a little bit of everything, stream work at a non-enterprise company is usually the way to go.
If you want to focus on one type of work, you need to be careful to ensure you only sign up at a place with mature engineering organizations and processes.
If you want to do 2/3 types of work, you will either need to take initiative to say no to a certain type of work (i.e. platform work), or you will need to take initiative to be more involved in another type of work (i.e. informally work closely with the design system team).
What's your mental model for determining what type of work you want to do?