This differs in every company, but I think software titles should distinguish roles in two ways:
1) By distinguishing between techincal experience
2) By distinguishing between the type of work
For example, a Software Engineer I may be a title for more junior developers. The expectation may be that the developer will require hand-holding and a heavy investment of mentorship. The next milestone for someone in this role is to be able to work independently without hand-holding. A Software Engineer II may be a title for developers that can work without any hand-holding and start to show a capacity to write good quality code and make informed technical decisions.
Beyond that, you may start to break out into different tracks.
If a developer is more experienced and mature, you may have a Senior Software Engineer who can lead streams of work and onboard other employees.
If a developer prefers strategtical work (that is, architecture, technical direction, and "enabling" work), then you may give them that focus and call them a Lead Software Engineer.
If a developer shows strong leadership and managerial skills, they may be put on track to a Software Engineer Manager.
If a developer is more of a generalist and wants to provide technical direction across multiple teams, you may have a title of Principal Engineer.
In a word, all engineers will likely start out doing tactical work (writing code for features in a product). However, as they mature, that maturity can be captured as well as different skillsets that better fit more tactical work, or manangerial or strategical work.
Hey guys, 15-year developer! I code with Vue.js and Python, I love to learn but also love to teach! So I try and write informative tutorials and posts. I am new to blogging and would love any feedback
Do you think as a senior developer mentorship shoudl stop?
Does a senior engineer not need hand holding from time to time?
Why not just have pay bands? say 1, 2 and 3 - no tags or titles
As I've said in my article I have been developing along time but I still need mentorship and hand holding, more now than ever before as the landscape is changing so often.
Their needs to be more experienced developers that hand-hold, and more experienced developers do well to bounce ideas from other experienced developers.
I wouldn't get caught up in a particular scheme per se, just pointing out that there is a spectrum of skills and focus needed within an engineering organization--and we do well to put our finger on this spectrum and have roles that cover the width of it, using title as a helpful starting point for clarifying focus points and responsibilities.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
This differs in every company, but I think software titles should distinguish roles in two ways:
1) By distinguishing between techincal experience
2) By distinguishing between the type of work
For example, a Software Engineer I may be a title for more junior developers. The expectation may be that the developer will require hand-holding and a heavy investment of mentorship. The next milestone for someone in this role is to be able to work independently without hand-holding. A Software Engineer II may be a title for developers that can work without any hand-holding and start to show a capacity to write good quality code and make informed technical decisions.
Beyond that, you may start to break out into different tracks.
If a developer is more experienced and mature, you may have a Senior Software Engineer who can lead streams of work and onboard other employees.
If a developer prefers strategtical work (that is, architecture, technical direction, and "enabling" work), then you may give them that focus and call them a Lead Software Engineer.
If a developer shows strong leadership and managerial skills, they may be put on track to a Software Engineer Manager.
If a developer is more of a generalist and wants to provide technical direction across multiple teams, you may have a title of Principal Engineer.
In a word, all engineers will likely start out doing tactical work (writing code for features in a product). However, as they mature, that maturity can be captured as well as different skillsets that better fit more tactical work, or manangerial or strategical work.
Do you think as a senior developer mentorship shoudl stop?
Does a senior engineer not need hand holding from time to time?
Why not just have pay bands? say 1, 2 and 3 - no tags or titles
As I've said in my article I have been developing along time but I still need mentorship and hand holding, more now than ever before as the landscape is changing so often.
Their needs to be more experienced developers that hand-hold, and more experienced developers do well to bounce ideas from other experienced developers.
I wouldn't get caught up in a particular scheme per se, just pointing out that there is a spectrum of skills and focus needed within an engineering organization--and we do well to put our finger on this spectrum and have roles that cover the width of it, using title as a helpful starting point for clarifying focus points and responsibilities.