There might be career ladder available that would give you decked guidelines.
Then work hard, make sure you deliver you core responsibilities with quality and as fast as you can. For most things good full day of focused and structured work should do the trick. If you fall behind don’t hesitate to put some extra time to catch up but you shouldn’t need to make the overtime a norm.
Learn new things, first listen to feedback you receive and make sure you don’t make same mistake twice. Ask questions to your colleagues, they are much more happy to help than you’d ever expect (at least that was the case for me). Read a lot of books. If you have passion for your work do some side projects, don’t feel bad if you don’t finish or ship them. Listen to conference talks and go to conferences.
Think about the projects you work on and how you can improve them. If you find yourself with some spare time propose and work on projects that improve your codebase, refactor, optimise builds.
Understand your business, try to look at what you do from perspective outside of the tech team and understand what is the value of the work your team is delivering.
Stay up to date with latest news but don’t drink the kool-aid.
Volunteer for everything you can at work. There are plenty of micro roles at work for example I became the Kubernetes “expert” but that’s a relative term of course I’m pretty much a beginner but I take responsibility for the Kubernetes stuff and am willing to learn as I go. This is some of the quality you need at least in SME or startup land.
Check if your company has a career development matrix or plan too. If not check out public ones posted online, many companies share them these days.
Experience will also teach you working with people. Verbal warfare is a reality. You need not be hostile, but you will learn how to hold your own. Most people are driven by persuasion and not technical reasoning.
You need to think multiple steps ahead, and act on it, without showing all your cards.
Finally, to yourself, you must be 100% honest. Don't bullshit yourself. Work hard. "Be the hardest working person in the room".
Find happiness in the work rather than the results. Results may or may not go your way.
I am a JavaScript developer and I am able to write code without frameworks or querySelectors. That doesn’t sound like much (it isn’t) but most JavaScript developers can’t do that. Therefore I can write code others cannot and solve problems others cannot.
Junior to Mid: Become independently and predictably productive.
Mid to Senior: Mentor Juniors and Mids, and lead projects competently.
- https://news.ycombinator.com/item?id=19924100 (understanding codebases, etc.)
- https://news.ycombinator.com/item?id=22873103 (making the most out of meetings, leveraging your presence)
- https://news.ycombinator.com/item?id=22827841 (product development)
- https://news.ycombinator.com/item?id=20356222 (giving a damn)
- https://news.ycombinator.com/item?id=25008223 (If I disappear, what will happen)
- https://news.ycombinator.com/item?id=24972611 (about consulting and clients, but you can abstract that as "stakeholders", and understanding the problem your "client", who can be your manager, has.)
- https://news.ycombinator.com/item?id=24209518 (on taking notes. When you're told something, or receive a remark, make sure to make a note and learn from it whether it's a mistake, or a colleague showing you something useful, or a task you must accomplish.. don't be told things twice or worse. Be on the ball and reliable).
- https://news.ycombinator.com/item?id=24503365 (product, architecture, and impact on the team)
- https://news.ycombinator.com/item?id=22860716 (onboarding new hires to a codebase, what if it were you, improve code)
- https://news.ycombinator.com/item?id=22710623 (being efficient learning from video, hacks. Subsequent reply: https://news.ycombinator.com/item?id=22723586)
- https://news.ycombinator.com/item?id=21598632 (communication with the team, and subsequent reply: https://news.ycombinator.com/item?id=21614372)
- https://news.ycombinator.com/item?id=21427886 (template for taking minutes of meetings to dispatch to the team. Notes are in GitHub/GitLab so the team can access them, especially if they haven't attended).
- https://news.ycombinator.com/item?id=24177646 (communication, alignment)
- https://news.ycombinator.com/item?id=21808439 (useful things for the team and product that add leverage)
- https://news.ycombinator.com/item?id=20323660 (more meeting notes. Reply to a person who had trouble talking in corporate meetings)
- https://news.ycombinator.com/item?id=22715971 (management involvement as a spectrum)