Touhid Arastu
Feb 2024
Lets talk about
the ladder!
I’m not a great programmer; I’m just a good programmer with great habits.
– Kent Beck
knowledge of the tech stack and tools
level of ownership of the system(s)
relationship with the team(s)
level of engagement with the development process
scope of influence of the position
Enhances: successfully pushes new features and bug fixes to improve and extend the system
Designs: designs and implements medium to large size features while reducing the system’s tech debt
Owns: owns the production operation and monitoring of the system and is aware of its SLAs
Evolves: evolves the architecture to support future requirements and defines its SLAs
Leads: leads the technical excellence of the system and creates plans to mitigate outages
Software engineering is not just coding, but a continuous learning journey.
Adapting to new technologies, mastering skills, and creating innovations are key to growth.
All you need is the plan, the road map, and the courage to press on to your destination.
– Earl Nightingale
roadmap.sh is a community effort to create roadmaps, guides and other educational content to help guide developers in picking up a path and guide their learnings.
In software engineering, if you're the go-to person for, say, a programming language like Python, your colleagues might come to you for help with complex Python code, best practices, or when they need someone to lead a project that requires advanced Python skills.
Being a go-to person shows you've specialized in something valuable and are willing to share your knowledge and help your team.
Good engineers research and introduce new technologies to their team, often through proofs of concept.