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?
fuente
Respuestas:
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.
fuente
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.
fuente
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:
... y ahora me voy a revisar los enlaces que Thomas publicó
fuente
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:
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.
fuente
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.
fuente
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.
fuente