¿Por qué la mayoría de los ingenieros de software superiores tienen más de 35 años?

He contratado y promovido a muchos ingenieros superiores. Me gustan todas las respuestas que he visto hasta ahora, pero voy a adoptar un enfoque diferente y quizás más conciso.

Los desarrolladores me han preguntado cientos de veces cómo pueden ascender a un puesto de ingeniero senior y mi respuesta siempre ha sido la misma. El software es una profesión artesanal que requiere un aprendizaje además de una cierta cantidad de educación y estudio. Probablemente sea análogo a lo que era ser fontanero o electricista hace 50 años.

La respuesta breve es que si puede ir y tener un promedio de un día o más sin tener que pedir orientación adicional sobre los aspectos técnicos de su proyecto, entonces está listo para un rol de ingeniero senior.

Tenga en cuenta que los gerentes pueden decirle que no estaba preparado para un rol de ingeniero senior por razones que no son justas para usted y que solo sirven para sus propios fines. Puedo decirle que si un gerente encuentra una razón distinta de su capacidad para escribir software, entonces probablemente sea una razón de mierda. Puede ser una razón legítima dentro del contexto de su organización, pero no es una buena razón y debe tenerlo en cuenta cuando alguien le dice que no está calificado.

Me dieron una palmada con la etiqueta “Senior” cuando tenía 28 años, pero en ese momento había estado codificando durante 15 años, 13 de ellos profesionalmente.

La mayoría de las personas obtienen el título Senior en algún momento después de 10 años de experiencia, y mientras más y variada experiencia tenga, más probabilidades tendrá de sentarse en la mesa de los niños grandes.

Después de eso es matemática en su mayoría simple. Por lo general, te gradúas de la universidad cuando tienes 22 años, agregas 12 años a eso y ¡oye, tienes 35 años! El promedio termina conduciendo la conversación, pero siempre hay excepciones.

Como otros han dicho, ser un “ingeniero sénior” implica una combinación de conocimiento, experiencia y trayectoria, lo que generalmente implica la capacidad de resolver problemas serios sin pedir ayuda, además de ser capaz de guiar a más ingenieros junior.

En general, el conocimiento, la experiencia y el historial vienen con la edad (o al menos años de trabajo).

Contrariamente a los comentarios acerca de que la descripción del trabajo es muy nebulosa, existen algunas reglas generales que se aplican, particularmente en trabajos gubernamentales y de defensa.

La jerarquía básica es:

Ingeniero Junior: Principiante, necesita mucha dirección y supervisión.

Ingeniero: Oficial. Sabe cómo hacer el trabajo con una supervisión mínima.

Ingeniero Senior: Muy experimentado. Capaz de manejar grandes proyectos con mínima supervisión. Capaz de supervisar / entrenar / orientar a más personal junior.

Ingeniero principal: Responsabilidad asignada para una tarea importante. Por lo general, implica cierta cantidad de gestión de proyectos, tal vez la supervisión de otros ingenieros.

Ingeniero Principal Principal: Más experimentado que un Ingeniero Principal. Capaz de asignar proyectos más grandes y complejos. Por lo general, se asignan roles de liderazgo de equipo.

Ingeniero jefe: a veces se usa para designar al ingeniero más veterano de un grupo, división o empresa. (Títulos similares: ingeniero de división, vicepresidente de ingeniería, a veces CTO).

Compañero: Equivalente a “Profesor” – persona muy, muy superior, a menudo dejada para realizar sus propias investigaciones / proyectos, o para servir como un recurso general.

No hay un estándar común para lo que significa “senior”. Si comienza en el trabajo de desarrollo de SW pagado antes de los 25 años, la mayoría de las empresas lo considerarán senior mucho antes de los 35.

Entre las empresas que contratan desarrolladores de software, las que tienen mayores márgenes de beneficio (como ejemplos de Google y Facebook) parecen tener una fuerte preferencia por contratar desarrolladores más jóvenes. Supongo que si trabajas en una empresa como esta, verías muchos desarrolladores senior menores de 35 años. Más empresas típicas no pueden competir en términos de pago, por lo que ves menos desarrolladores en ellos menores de 35 años, señor o no. En los EE. UU., A medida que las personas envejecen y desean formar familias, las ventajas del país de “sobrevuelo” se vuelven más atractivas. Como el tiempo de viaje más corto y el poder adquisitivo frente al monto bruto de compensación en dólares. Entonces ves una concentración de desarrolladores mayores de 35 años en estas áreas.

“Senior” es solo otra palabra para “experimentado” y lleva tiempo adquirir experiencia, así de simple.

Si fuiste a la universidad y te fuiste a los veinte años, tienes poco más de treinta años para tener incluso 10 años de experiencia, y realmente 10 años no es tanto si lo piensas.

Creo que absolutamente * puedes * tener una sólida experiencia en 10 años, pero es la excepción, no la regla.

Se necesita esa cantidad de tiempo para acumular las habilidades y la experiencia necesarias para alcanzar ese nivel de antigüedad.

Los programadores aprenden cosas nuevas casi continuamente a través de sus carreras, y es una habilidad que requiere práctica para ser buenos.

Los programadores más jóvenes simplemente aún no han visto todos los problemas y dificultades: no tienen la comprensión inmediata de algoritmos y estructuras de datos, los trucos para evitar escribir código que no se puede mantener, la capacidad de escribir programas que no necesitan mucha depuración porque “Solo trabajo” la mayor parte del tiempo.

Sin embargo, esto no es muy diferente de otras carreras de cuello blanco.

En la medida en que dichos títulos tengan un significado que no sea una conveniencia organizacional para promociones y calificaciones salariales, probablemente se otorguen a los empleados asalariados basados ​​en años de experiencia o longevidad con la organización.

No sé si su afirmación es verdadera o anecdótica porque no tengo datos. Lo que he notado anecdóticamente es que los desarrolladores son promovidos a “senior” en algún lugar en el rango de 5 a 10 años de experiencia profesional.

Esa no es una regla general.

Realmente depende de Enviar lo que significa el “ingeniero superior” dentro de una empresa.

En el campo del software, lo que se espera de un superior es una combinación de experiencia, experiencia, autonomía, gestión de proyectos, gestión de equipos, presente en las proporciones correctas.

En la mayoría de las profesiones, los puestos superiores suelen ser mayores.

Lleva tiempo desarrollar experiencia y habilidades, no puede comprimir 10 años de experiencia a 1 año, simplemente no funciona así.

Muchas personas ingresan al campo alrededor de los 20 años fuera de la escuela. Se necesitan aproximadamente 10 años de trabajo para haber visto suficientes problemas y saber qué no hacer en diversas situaciones. La escuela te enseña qué hacer, pero solo la experiencia del mundo real te enseña qué no hacer, que es la mayor causa de fallas en los proyectos.

More Interesting

¿Los ingenieros de software de nivel básico generalmente realizan poco trabajo, que en su mayoría son correcciones de errores y agregan una pequeña funcionalidad?

¿Qué debo comenzar a hacer para sentirme bien conmigo mismo como desarrollador de software?

¿Puede un sistema operativo Linux ser tan estable como OS X para la programación?

¿Cuál es la tarifa típica de consultor por hora para un buen diseñador de productos?

¿Debo perder el respeto por los ingenieros de software que usan Internet Explorer como su navegador predeterminado?

¿Por qué los desarrolladores de software en Japón reciben tan poca compensación?

¿Qué empresas tecnológicas son las más atractivas para los ingenieros de software de Colombia y por qué?

¿Los ingenieros de software necesitan gerentes de proyecto?

¿Apple tiene un problema de retención de ingeniero de software en 2015, y finalmente perjudicará el rendimiento de las acciones de Apple?

Cómo cambiar de un puesto de ingeniero de software junior a un analista de negocios en CGI India

Si los desarrolladores aman tanto el concepto de abstracción, ¿por qué parecen odiar a los gerentes de producto?

¿Cómo adquiere experiencia un desarrollador web en diseño UX, diseño de interacción, arquitectura de información y disciplinas relacionadas en el área de Nueva York?

¿En qué medida debe un ingeniero de software de aplicaciones saber cómo funciona una computadora?

¿La velocidad de escritura rápida es una habilidad requerida para un ingeniero de software?

¿Cuál es su opinión sobre el hecho de que un gran número de personas extremadamente inteligentes en el Valle están trabajando para tratar de hacer que más personas hagan clic en los enlaces?