¿Cómo puedo pasar de un desarrollador de software a un administrador de software o líder de equipo? [cerrado]

42

He sido desarrollador de software (ya sea a tiempo parcial o completo) durante casi 3 años. Siempre he sido el tipo de persona que tiene esa habilidad para liderar las cosas y brindar a la organización la tarea de hacer las cosas. Desde que fui el líder de mi proyecto de diseño senior en la universidad, sentí que esta era mi verdadera vocación, no estar sentado detrás de un código de escritorio. Ahora, sé que necesito entender cómo codificar para que otros desarrolladores realmente me respeten. Además, realmente me encanta la codificación. Trabajo en muchos proyectos paralelos en el hogar fuera del trabajo, me mantengo al día con las mejores prácticas de codificación y trato de ampliar continuamente mi conocimiento del dominio.

Mi pregunta principal es, ¿qué tipo de cosas u oportunidades debería estar buscando que me ayuden a progresar en mi carrera hacia un rol más gerencial, en lugar de un rol de codificación? Como dije, me encanta codificar, sin embargo, me encantaría aún más poder diseñar cosas a un alto nivel y organizar el equipo de tal manera que se hagan las cosas y monitorear su progreso, mientras ayudo con la asistencia técnica. decisiones aquí y allá. Este tipo de cosas realmente me hacen feliz, en lugar de estar sentado detrás de un escritorio codificando todo el día.

Obviamente, uno de mis principales sueños es producir algún tipo de software por mi cuenta que eventualmente explotaría y lo haría grande, y luego comenzaría a contratar un equipo y hacerlo todo yo mismo, pero siento que las posibilidades de que eso suceda son mucho peores que solo alterar un poco mi carrera profesional para llegar a donde quiero ir. Siento que puedo obtener esa misma satisfacción haciéndolo para un empleador en lugar de para mí. Aunque no me había sentido así antes, siento que fue principalmente porque no estoy haciendo lo que REALMENTE quiero hacer.

¿Algún consejo, sugerencia o cosas a tener en cuenta? Cualquiera que haya hecho esto, y si es así, ¿cómo lo hiciste?

mosquito
fuente
¿Qué tipo de educación tienes? ¿Cuánto tiempo has estado en tu posición actual?
Thomas Owens
Tengo una licenciatura en ciencias de la computación. He estado en mi puesto actual durante aproximadamente un año.
1
@slandau Diría explícitamente que no está buscando ingresar a un rol de PM. mientras que eso puede aparecer como la dirección obvia; su descripción y deseos difieren de un rol de PM y no creo que un rol de PM sea lo que finalmente busca.
Aaron McIver
1
@AaronMcIver Depende de dónde trabajes. Algunos PM son negocios, algunos PM son de naturaleza más técnica. En algunos lugares, "gerente de ingeniería" podría ser un título más común, o en otros, simplemente podría ser "ingeniero de software".
Thomas Owens
2
Bueno, primero, entrega tu alma ... :-)
Paul Tomblin

Respuestas:

41

Pasar de un rol de desarrollo de software a un rol gerencial o de liderazgo es algo que lleva tiempo. Me especialicé en ingeniería de software, enfatizando el proceso de ingeniería de software, y me especialicé en gestión empresarial y comunicación. Incluso con esa experiencia académica sobre cómo administrar proyectos de software, cómo reclutar y contratar, cómo liderar equipos y cómo comunicarse con grupos verbalmente y por escrito, descubrí que la mayoría de los roles gerenciales y de liderazgo, especialmente en la industria que quería para trabajar, requieren más de 5 años de experiencia en ingeniería de software (tenía 2, incluyendo cooperativas y pasantías).

Mientras tanto, simplemente continué mis estudios sobre temas de gestión de proyectos.

Lo primero que recomendaría es convertirse en un buen comunicador y negociador. Aprenda a tener las conversaciones que importan. Incluso como desarrollador, hay que tomar decisiones con compañeros de trabajo, clientes y usuarios. A veces tienes que tener conversaciones difíciles y llegar a un acuerdo que beneficie a todos. No es un objetivo fácil, pero el libro Conversaciones difíciles: cómo discutir lo que más importa es uno que recomendaría que cubra esto. Hay otros, como Pasar No y Pasar Sí: negociar un acuerdo sin ceder eso también sería útil. Estos son relevantes independientemente de la posición en la que se encuentre.

En el aspecto más técnico, una comprensión del ciclo de vida de desarrollo de software es importante para liderar y administrar equipos de software. Los puestos de liderazgo probablemente significan que usted está involucrado con la ingeniería de requisitos, la arquitectura del sistema de software, el diseño, la implementación, las pruebas y el control de calidad y las tareas de mantenimiento. Aunque no puede ser un experto en todo esto, un gerente o líder debe al menos comprenderlos a todos. Como desarrollador, probablemente realice la mayor parte de su trabajo en diseño, implementación y mantenimiento, con algunas pruebas también. Recomendaría mucho libros como Requisitos de software (y su compañero, Más sobre requisitos de software ), Arquitectura de software en la práctica (aunque mi universidad cambió aArquitectura de sistemas de software: trabajo con partes interesadas utilizando puntos de vista y perspectivas después de tomar el curso de arquitecturas, y me lo recomendaron), y métricas y modelos en ingeniería de calidad de software .

Desde una perspectiva de gestión de proyectos, puede aprender sobre modelos de procesos y metodologías. Existen métodos ágiles, como Scrum y Extreme Programming, y métodos basados ​​en planes como Waterfall y Spiral. También hay marcos metodológicos, como CMMI y el Proceso de software personal / Proceso de software de equipo. Los que son relevantes para usted dependen de dónde trabaje, en términos de la industria y la empresa. Hay varios libros sobre diversas metodologías y marcos, pero recomendaría Rapid Development: Taming Wild Software Schedules para la gestión de ingeniería de software general y el proceso de ingeniería de software.

Si desea continuar su educación, puede mirar más de una vía de gestión técnica frente a más de una vía de gestión empresarial. Si desea un puesto de gestión técnica, consulte los programas de ingeniería de software, gestión de ingeniería de software y gestión de ingeniería. Para obtener más información sobre la gestión empresarial, puede considerar programas MBA, gestión empresarial o algunos programas de gestión de ingeniería que tienen un fuerte componente económico o financiero.

Thomas Owens
fuente
1
Sí, pero ¿cómo se pasa del ingeniero de software senior al gerente? Quiero decir, suponiendo que siento que sé todo lo que mencionaste anteriormente, ¿qué hago ahora para demostrar que puedo hacerlo teniendo en cuenta que no tengo experiencia oficial en el cargo de gerente y solo la sensación de que realmente sé todo eso? ¿Cómo se da este paso?
trusktr
19

Estas otras respuestas son geniales, pero arrojaré mis $ 0.02. Pasé de ser un desarrollador junior en mi compañía actual a través de los rangos a desarrollador senior y luego líder del equipo y ahora arquitecto. Tomó varios años. Cada vez que recibía un ascenso era porque ya estaba haciendo aspectos del trabajo, y mi gerencia simplemente lo reconocía y me daba el título apropiado. Por lo tanto, mi consejo es que no espere a que le digan que es un líder técnico o un gerente. Simplemente comience a asumir las responsabilidades que tienen las personas en esos roles. Después de unos meses o un año, descubrirá que básicamente está haciendo el trabajo al que se dirige, y puede señalarlo a su gerencia si no lo han notado.

RationalGeek
fuente
2
Me despidieron por hacer exactamente lo que dijiste en una empresa (y ese gerente que me despidió más tarde también dejó la empresa). No fue un buen ajuste. Parecía que siempre era una lucha para llegar a los primeros puestos de la empresa, muy competitivo y egocéntrico. Es mucho mejor estar en una empresa donde, cuando las personas toman la iniciativa para tratar de lograr cosas más grandes que antes, reciben apoyo, aliento y dirección de aquellos que ya son superiores.
trusktr
9

No intentaré proporcionar una respuesta completa ya que Thomas Owens ya enumeró algunos consejos realmente buenos (+1 a eso).

Solo quería agregar algunos consejos / sugerencias:

  1. No esperes a que alguien te haga liderar; solo comienza a hacerlo. No quiero decir que vaya en contra de tu jefe actual, sino que toma la iniciativa para ayudarlo. Si tu jefe es como el mío, generalmente está sobrecargado con demasiadas tareas / reuniones en su plato. Si ve que usted está brindando instrucciones en las que puede que no tenga suficiente tiempo para mantenerse al día, lo más probable es que esté más que feliz de delegarle alguna responsabilidad administrativa. Con el tiempo, si hace esto correctamente, su jefe le delegará más y más (menos de lo que se preocupe) y es más probable que lo apoye para que asuma más responsabilidad hasta el punto en que usted sea el líder oficial.
  2. Tenga en cuenta que el trabajo en equipo y el liderazgo tienen más que ver con la sociología que con la tecnología (de uno de los libros de metodología de software populares, tal vez Brooks). Como guía, su objetivo es comprender a las personas y cómo se comportan, lo cual es muy diferente a comprender cómo funcionan las computadoras. Sin esta comprensión, los buenos ingenieros son algunos de los peores líderes del equipo porque no hacen este cambio mental y se dan cuenta de que no puedes controlar a las personas de la misma manera que controlas las máquinas. De hecho, el único enfoque que parece funcionar no es controlar a las personas sino darles dirección. Lee, lee y sigue leyendo libros / artículos / blogs sobre liderazgo. Un libro que podría recomendar es Management 3.0

... y ahora me voy a revisar los enlaces que Thomas publicó

DXM
fuente
Este es un mal consejo, ya que sugiere que alguien hace algo que su jefe no le ha pedido que haga, la mayoría de los jefes desaprueban a las personas que hacen cosas que no se les ha pedido que hagan.
Profesor de programación el
Respondí esta pregunta hace 5 años, cuando era desarrollador. Ahora volviendo a eso, puedo leerlo desde la perspectiva de un gerente. @Bonner: tienes razón. Hay diferentes gerentes con diferentes estilos por ahí. Algunos te fruncirán el ceño si haces algo que no te dijeron que hicieras. En ese caso, mi consejo para usted es huir de ese gerente. Desde que me convertí en líder, todo lo que he hecho es enseñarles a mis muchachos a pensar de manera independiente y hacerme reemplazable. Le pido a cada uno que equilibre el enfoque estrecho de su (s) propia (s) tarea (s), pero también mire hacia adelante y vea una imagen más amplia.
DXM
5

Personalmente, no deseo abandonar mi posición actual en este momento, pero dependiendo de dónde nos encontremos en el ciclo de lanzamiento, paso del 10% a casi el 100% de mi tiempo en otras tareas que no sean la codificación. Si es paciente y observador, hay muchas oportunidades que puede aprovechar para hacer algo más que "simplemente codificar" en su posición actual. Por ejemplo:

  • Voluntario para ser mentor de un nuevo miembro del equipo.
  • Conviértase en un experto en nuevas herramientas, procesos o tecnologías que la compañía está considerando adoptar.
  • Voluntario para comités interfuncionales.
  • Habla sobre las ideas que tienes.
  • Invítese a diseñar reuniones para las próximas funciones.

Hágale saber a su gerente que está interesado en este tipo de oportunidades, y suponiendo que le va bien con sus responsabilidades actuales, él dirigirá las oportunidades hacia usted cuando surjan. La iniciativa cuenta mucho. La mayoría de los gerentes al menos te permitirán observar, incluso si no piensan que estás calificado en este momento.

Karl Bielefeldt
fuente
4

Si desea pasar a una función de gestión de proyectos, entonces no está de más tomar clases nocturnas y trabajar para obtener su MBA.

Otra opción sería estudiar la certificación del Cuerpo de Conocimientos de Gestión de Proyectos de PMBOK . Muchos lugares no lo considerarán a menos que tenga algunos años de experiencia de liderazgo real o uno de los dos elementos enumerados anteriormente.

El PMBOK es una prueba extremadamente difícil y requiere MUCHO estudio para aprobarlo. También creo que tienen requisitos sobre la gestión real del proyecto y la experiencia de liderazgo solo para ser elegibles para tomar el examen.

maple_shaft
fuente
3
Tal vez solo soy yo, pero me inclinaría por un título de gestión de ingeniería de software o un título de gestión de ingeniería, especialmente si desea ingresar en gestión técnica o liderazgo. He visto a los ingenieros obtener un MBA y ser empujados al lado comercial de un programa de software, en realidad no administrando o liderando a los ingenieros.
Thomas Owens
@ThomasOwens, esa es una buena nota. Siempre dudé en obtener un MBA ya que no estaba seguro de si eso se traduciría en la mayoría de los lugares técnicos o no.
slandau
El examen PMP no es tan difícil.
Morons
@Morons Voy a lo que algunos PM me dijeron sobre su experiencia, nunca lo tomé yo mismo. Pero ahora que lo pienso, estas dos personas no eran tan brillantes.
maple_shaft
2

Eso me parece que es posible que desee trabajar hacia la gestión de proyectos. Una gran cantidad de puestos de PM dentro del desarrollo de software también requieren experiencia en codificación.

Buscaría puestos en los que pueda crecer y asumir responsabilidades que le permitan obtener la gestión / liderazgo que desea. Subir la escalera puede verse diferente en función de cómo funcionan las cosas donde está trabajando. Pero incluso con pequeñas cantidades de experiencia en codificación, los puestos de PM están disponibles si tiene alguna experiencia de liderazgo y gestión.

RE..
fuente
Esto se afirmó en la pregunta original: "... qué tipo de cosas u oportunidades debería estar buscando que me ayuden a progresar en mi carrera a un rol más gerencial, en lugar de un rol de codificación ...". @slandau está buscando consejos sobre cómo hacer esto.
Thomas Owens
1
Sí estoy de acuerdo. ¿Tienes algún consejo sobre cómo comenzaría a trabajar para lograrlo?
slandau
Sí, accidentalmente presioné el botón de publicación antes de lo que pretendía.
D ..
@D ..., tengo algo de experiencia de liderazgo, pero todo ha estado en proyectos paralelos y proyectos que hice en la universidad ... no estoy seguro de si eso es suficiente. ¿Lo es?
slandau
Lo más probable es que no desee orientarse hacia cualquier experiencia laboral profesional que le brinde eso. Puede resultarle más fácil trabajar hacia un rol de desarrollador senior en algunos lugares. Me gustaría estar atento a los puestos vacantes que hacen lo que quieres, ver los requisitos y aprovechar cualquier oportunidad para obtener los más comunes. La mayoría de los lugares en los que he trabajado han sido pequeños y me permitieron avanzar al siguiente nivel sin mucho esfuerzo. Mira tu trabajo actual ... ¿puedes subir allí? Tal vez tenga un camino definido desde donde se encuentra ahora que pueda aprovechar.
D ..