¿Qué tipo de espacio para el crecimiento profesional existe para los ingenieros de software en grandes empresas (es decir, Google, Facebook, Apple, Microsoft, etc.)?

Primero voy a responder la pregunta, luego le daré mi opinión sobre los profesionales del software, el progreso profesional, la gestión y el liderazgo.

Trayectorias de carrera típicas de ingeniería de software
Los ingenieros o desarrolladores de software generalmente se promocionan en función de sus habilidades técnicas. A medida que mejora y aumenta sus habilidades, es promovido a través de los “rangos” técnicos típicos, que generalmente son Jr. SW Developer, Intermediate SW Developer y Sr. SW Developer. Las diferentes organizaciones pueden tener diferentes nombres y diferentes calificaciones para cada función, pero en general, tienen aproximadamente las mismas pautas.

Opciones de antigüedad
A medida que avanza hacia los roles de Senior, generalmente tiene un par de opciones:

  1. La mayoría de las organizaciones (Google es un ejemplo) ofrecen una función de liderazgo técnico, que es una combinación de aspectos técnicos con algunos de gestión. Esto generalmente se considera la mejor manera de probar el trabajo de tipo gerencial sin estar completamente comprometido. A partir de este rol, la mayoría de las organizaciones permiten el avance a un rol de gerente completo o un rol técnico superior (ver # 2 a continuación). Personalmente, encontré este uno de los roles más difíciles en mi carrera porque los roles técnicos y de gestión son muy diferentes y requieren muchos cambios de opinión (más sobre eso más adelante)
  2. Los profesionales de software senior también pueden convertirse en gurús técnicos. Las diferentes organizaciones tienen diferentes nombres para este título que van desde “Arquitecto” hasta “Desarrollador de software Sr.” y “Director técnico”. Básicamente es una designación senior para roles técnicos. Este rol generalmente no tiene ningún informe directo, pero tiene la propiedad técnica de un producto o pieza de software. El rol es un rol de liderazgo técnico donde se espera la tutoría y el apoyo de más profesionales de software junior.

Ahora que describí las opciones, permítanme decir mis dos centavos sobre los profesionales y la administración de software.

Los grandes desarrolladores de software no son iguales a los grandes gerentes
La administración requiere un conjunto de habilidades completamente diferente a la creación de productos de software. Si está interesado en las diferencias, puedo compartirlas con usted; no hace falta decir que las habilidades son diferentes. Es peligroso asumir que un gran desarrollador de software puede ser un gran administrador, porque las habilidades que los convierten en un gran profesional del software no los convierten automáticamente en grandes administradores. Para completar el argumento, los grandes gerentes tampoco son necesariamente grandes desarrolladores de software, por la misma razón.

La gestión y el liderazgo no son lo mismo
Uno de los errores más grandes que la mayoría de las personas jóvenes (y algunas personas mayores) piensan, es que el liderazgo viene con la administración. Eso es completamente falso. Liderazgo no es lo mismo que gestión. La administración se trata de administrar recursos, ya sean personas, productos, finanzas, programas, etc. El liderazgo se trata de inspirar, apoyar, desarrollar y sacar lo mejor de las personas. Según esa definición, no es necesario administrar a las personas para liderarlas. Entonces, mientras considera la progresión y el crecimiento de su carrera, piense en lo que quiere hacer como una persona mayor. Puede liderar a su equipo sin administrarlos (consulte la opción 2 más arriba).

ee La probabilidad de que un ingeniero de software de “nivel básico” llegue a la cima de una burocracia corporativa es muy pequeña.

Las corporaciones mejorarán la gestión “superior” de varias maneras, principalmente de otras compañías donde el futuro empleado ya se encuentra en una posición similar.

El otro método es adquirir una empresa y mover el “talento”.

Casi el único aumento que una persona de nivel de entrada puede esperar es ascender a un jefe de sección de un subdepartamento en una división.

O unos 3 niveles …

Hay dos razones para unirse a una gran corporación.

1) uno ‘asesora’ la entrevista en la universidad y recibe una buena oferta en relación con cualquier otra cosa, y uno usa ese trabajo como trampolín para otra empresa, con aumentos salariales, aumentos de responsabilidad y debe ser dentro de los 3 años posteriores a la primera contratación .

2) Igual que el anterior para la oferta de trabajo inicial, pero en lugar de seguir adelante, desarrollar la capacidad política para sobrevivir a todos los demás en su mayor parte, y retirarse con una pensión, generalmente bastante generosa.

La única forma de llegar a la cima de una gran corporación, como ingeniero de software, es ser fundador, tener acciones suficientes que, si pueden, tendrán un valor negativo en el precio de las acciones. Espero que cuando uno haya sobrevivido a su utilidad como parte del inicio, haya suficiente para:

1) comience un nuevo negocio (pero evite oportunidades totalmente fuera de la caja como “Chuck E. Cheese” …)
2) Retírese a Tahití o algún otro lugar “agradable” para pasar el resto de su vida cómodamente.

La mejor manera de llegar a lo más alto en una gran empresa, comenzando como ingeniero de software, es pasar el tiempo necesario en las ‘trincheras’, obtener un MBA de una escuela ‘buena’ como Wharton, y luego unirse una gran empresa que está tratando de evitar choques y quemaduras desarrollando nuevos productos o servicios, y se desempeña admirablemente a pesar de que el proyecto se cuelga y quema de todos modos, pero salga antes de que llegue al suelo y continúe con cosas más grandes y mejores. El actual CEO y la Junta tomarán la culpa de las malas decisiones que llevan a la compañía al desastre, pero por eso, el ingeniero de software ascendente ahora móvil de alta gerencia con ‘entrenamiento de batalla’ ha avanzado.

More Interesting

Según mi horóscopo, ¿podré tener éxito como desarrollador de software, o existe la posibilidad de superar los mejores exámenes del gobierno?

¿Por qué la gente de negocios siempre trata de fastidiar a los desarrolladores de software?

¿Puedo ser desarrollador de software toda mi vida?

Cómo pasar de ser un desarrollador front-end Jr. a un desarrollador de software

Imagine un freelance de desarrollo de software que ha adquirido un proyecto extremadamente importante que requiere un equipo. Sin embargo, el prototipo supera la financiación inicial. ¿Cuál es el mejor enfoque para darse cuenta del éxito del proyecto?

¿Es posible que alguien se convierta en un desarrollador de software competente enseñándose a sí mismo? Si es así, ¿cuál es una lista de todos los recursos gratuitos que incluiría si desarrollara un curso intensivo de desarrollo de software en el hogar?

¿Qué tan alta es la barrera de entrada para Apache Spark para tareas que no son de aprendizaje automático?

Cómo encontrar los mejores desarrolladores de aplicaciones móviles

Cómo elegir entre trabajar de forma remota para una startup o ser un consultor desarrollador de software para una gran empresa

Cuando las grandes compañías como HP, Wipro, TCS, etc., contratan a un desarrollador o probador de software, ¿ponen a los alumnos directamente en el proyecto después de la capacitación? ¿Harán todos ellos exactamente el trabajo de desarrollo, prueba o soporte?

¿Cómo deciden los desarrolladores experimentados qué patrón de diseño usar? ¿Cómo pueden los desarrolladores menos experimentados aprender a hacer esto?

Cómo pasar mi tiempo buscando trabajo de desarrollo de software

¿Conseguir un trabajo de desarrollo de software será cada vez más difícil a medida que más personas quieran convertirse en desarrolladores de software?

Si Sundar Pichai estudió metalurgia en IIT KGP y una especialización en electrónica en Stanford, ¿cómo terminó en Google liderando el equipo de desarrollo de Chrome cuando ni siquiera tenía ningún conocimiento relacionado con el desarrollo de software en ese momento?

¿Cómo difiere el tiempo total de capacitación entre los desarrolladores front-end y back-end?