Para los desarrolladores de software, la mayoría de las veces, los títulos de los puestos no significan realmente mucho.
Toma como ejemplo estos:
- Desarrollador de software
- Ingeniero de software
- Desarrollador web
- Desarrollador de pila completa
¡Estos títulos podrían representar exactamente el mismo puesto y las mismas funciones!
Por lo general, se trata de la descripción del trabajo en sí y de cómo la empresa ve sus diferentes niveles de desarrolladores.
Pero cuando se trata de desarrolladores "senior" y "principales", por lo general hay una diferencia.
Senior Developer
A senior developer, in my view, is not marked by his title (of course), but by these traits:
- Very competent in the core technologies used in his/her organization
- Understands high-level architectural design and patterns
- Experience building "full" solutions
- Actively mentors intermediate and junior developers
The most important of these is the last.
Lead Developer
A lead developer has the abilities and skills of a senior developer. But more
The lead developer can act as a senior developer - mentoring, providing general design guidance and puts work into the foundation and early stages of a product's development.
Lead developers often:
- Aid in planning product development and timelines
- Provide feedback to marketing or sales teams
- Discuss and aid the CEO or top managers to make sure that the development team and technologies being selected are aligned with the business' goals and vision of the company.
This means lead developers require:
- Good communication skills
- Good understanding of the product
- Good understanding of the business problem the software is solving
- Good understanding of the field the software's users are part of (medical, HR, etc.)
- Understanding of other disciplines like management, product development, marketing, etc.