Son la solución al problema con más frecuencia que la causa.
Dejando a un lado las frases ingeniosas, algunas cosas que asociaría con el término “desarrollador senior”:
- Habilidad y experiencia, lo cual es evidente. Tienen un fuerte conocimiento técnico y una gran experiencia técnica. Elige cualquiera de los dos.
- Habilidades técnicas “más grandes”. Ser capaz de diseñar soluciones y arquitecturas que se mantendrán en el desarrollo futuro, pero que también harán el trabajo cuando sea necesario. Al menos una familiaridad pasajera con el mundo más amplio de tecnologías y conceptos que no utilizan activamente.
- Liderando desde lo anterior: saben lo que no saben. Tienen una buena comprensión de los límites de su conocimiento, y al menos una idea general de la naturaleza de lo que está más allá de esos límites, y cuáles son sus límites finales. No tiene que saberlo todo de manera espontánea, pero debe tener un conocimiento bastante bueno de lo que no sabe y tener una buena idea de cómo llenar los vacíos a medida que surgen.
- Comprensión, comprensión y habilidades de pensamiento crítico. Entienden lo que están haciendo y por qué lo están haciendo. Esto puede parecer obvio, pero no sería inusual (o necesariamente algo malo, si se administra) que un desarrollador junior no entienda completamente alguna pieza de código en la que están trabajando, por qué funcionó alguna solución o qué son se supone que lo está logrando. Un desarrollador senior, no tanto.
- Juicio. Pueden evaluar con precisión razonable si algo es una buena idea, producir buenas estimaciones para el trabajo, evaluar la gravedad de los problemas, anticipar problemas, etc.
- Cuadro grande, contexto. Son conscientes del contexto más amplio en el que operan: preocupaciones comerciales, usabilidad, horarios, recursos, diseño de productos, prioridades, mercados, relaciones con los clientes, gestión de proyectos, etc. Entienden que están intrínsecamente interconectados con todas estas cosas, y son capaces y están dispuestos a actuar sobre esa comprensión en beneficio del esfuerzo en su conjunto.
- Habilidades blandas Todos los desarrolladores deben tener estos de todos modos, pero ahora, las habilidades de comunicación, colaboración y trabajo en equipo deben ser fuertes. Al menos algún grado de habilidades de liderazgo debe estar presente.
- Establezca el estándar, mejore el estándar. Los desarrolladores senior se esfuerzan por mejorar el trabajo de otros desarrolladores y equipos y el suyo propio, y establecer estándares. Independientemente de la responsabilidad formal, lo hacen ante todo con el ejemplo. Enseñan, educan y orientan, nuevamente, independientemente de la responsabilidad formal.
- Liderando desde varios de los anteriores; toman la iniciativa y la responsabilidad. Intensifican, mejoran y arreglan cosas (en un sentido amplio, ya sean procesos o código o lo que sea) sin que se lo digan o supervisen.
- ¿Cuáles son los módulos "esenciales" node.js para un marco web robusto por ahora?
- ¿Cómo obtengo un archivo adjunto en la función de correo usando PHP central?
- ¿Cuáles son algunas buenas ideas para que mi cartera de desarrollo web muestre mis habilidades en php y diseño receptivo? Aparte de un jpg y un enlace al sitio en vivo
- ¿Qué sucede si copio el estilo de tema premium de WordPress, imágenes, apariencia, y hago la misma interfaz en un sitio web de arranque con fines comerciales sin comprar ese tema?
- ¿Qué significa 'apilar' dentro de la programación?