¿Cómo puedo comunicar mi preferencia por quedarme donde estoy ahora en mi trayectoria profesional y no "subir"?

Soy desarrollador y estoy 100% feliz de ser un desarrollador escribiendo código por el resto de mi vida. Todo lo que realmente quiero hacer es escribir código. Sin duda, nunca quiero ser gerente de proyectos, lo que comparo con el trabajo de secretaria, o cualquier cosa que involucre la gestión de personas.

En varios puntos de mi carrera, me he enfrentado a propuestas para desviar mi carrera hacia la gestión de proyectos. Realmente no quiero hacer otra cosa que no sea escribir código, y no estoy interesado en nada que no implique programación la mayor parte del tiempo.

¿Cómo puedo comunicar educadamente pero con firmeza mi preferencia de trayectoria profesional para quedarme donde estoy y no avanzar en la dirección que la mayoría de la gente percibe como "hacia arriba" en mi trayectoria profesional elegida?

Una de mis principales preocupaciones es parecer poco ambicioso, lo cual no es el caso. Soy ambicioso, pero dentro de los límites de mi carrera profesional elegida, y no estoy interesado en crecer en lo que algunos perciben como su progresión natural.

Hay una gran diferencia entre "nunca quiero un ascenso" y "nunca quiero hacer gestión".
El 'tío Bob' Martin ha dicho: "Mi lema en este momento es 'Quiero que me encuentren con la nariz entre las teclas'... He hecho la pista de administración por un tiempo y me convertí en un arquitecto para un tiempo... lo que realmente descubrí que quería hacer es escribir mucho código". Entrevista completa: se-radio.net/2009/11/…
Por cierto, si cree que la gestión de proyectos es un trabajo de secretaría, entonces no tiene idea de lo que hace un gerente de proyectos. El hecho de que solo quieras codificar no significa que otras profesiones no sean tan desafiantes y difíciles o más que la profesión que elegiste. Una buena gestión de proyectos es un trabajo mucho más difícil que la codificación. La mala gestión de proyectos podría verse como un trabajo de secretaría, pero también la mala codificación (los codificadores de cortar y pegar simplemente están escribiendo el trabajo de otra persona sin necesidad de entenderlo).
Por cierto, The Codist escribió un artículo llamado Mi mayor arrepentimiento como programador que parece estar relacionado con este tema.
No veo cómo ser un PM se ve como un paso adelante. Ni siquiera es una extensión del desarrollo de software. Es más como arrear gatos.
¿Es usted la persona discutida en Workplace.stackexchange.com/questions/87085/… jejeje? (Estoy bromeando solo para que quede claro). Sin embargo, esta pregunta realmente suena como el lado opuesto de eso +1
@HLGEM Creo que su enfoque defensivo es innecesario. Nunca dijo que PM fuera más fácil que codificar. Y de hecho hay un paralelo en el trabajo de secretaria si lo piensas. Eso no significa que PM sea tan fácil como el trabajo de secretaria. Bueno, ¿quién dijo que el trabajo de secretaria era fácil? Nunca intenté.
@MatthewWhited - "Es más como pastorear gatos". Esto hizo mi dia.
youtube.com/watch?v=WTdqqJI02HE <= esto puede ayudar a que sea aún mejor
@HLGEM, nadie dijo que ser gerente de proyecto no fuera desafiante. Pero es un tipo diferente de trabajo y está bien no querer hacerlo. No quiero ser dentista, pero es un trabajo duro.

Respuestas (17)

Muy difícil responder a esta definitivamente. Cada empresa tiene diferentes reacciones, en mi experiencia.

He trabajado para una empresa donde no había otro camino para un desarrollador. Si no te cambiaste a la gerencia, entonces nunca obtuviste un aumento de sueldo más allá de la tasa de inflación.

He trabajado para varias empresas en las que se esperaba que los desarrolladores quisieran seguir siendo desarrolladores. Y fueron bien recompensados ​​​​por ser buenos desarrolladores y se los miró de manera extraña si mostraban ambición de ser algo más.

He trabajado para una empresa en la que podías seguir muchos caminos desde el desarrollo hasta la gestión de personas o la gestión de proyectos, o simplemente ser un desarrollador realmente bueno y recibir el pago correspondiente.

Sugiero ser honesto acerca de tus aspiraciones y dejar que ellos decidan si encajas con su filosofía. De esa manera no te quedas atascado en la primera empresa que he mencionado anteriormente.

+1 por la honestidad. Debe sentir que puede acercarse a su gerente en cualquier momento de todos modos. No están allí solo para administrar el negocio; los gerentes también manejan personas. Por cierto, soy un desarrollador que se ha convertido en un 'gerente de producto' (en la pequeña empresa para la que trabajo, esto es similar a una combinación de desarrollador líder y gerente de línea). Les puedo asegurar que no nos dan poderes mágicos para saber lo que piensa la gente. Aunque creo que un buen gerente ya lo sabrá, es bueno que se lo digan.

En mi carrera en Microsoft, mis gerentes me preguntaron muchas veces si quería ejercer una función de administración o permanecer en el camino de IC (colaborador individual). Ambos estaban perfectamente bien allí. Si siguió IC, terminaría siendo arquitecto y, finalmente, miembro técnico, y en el camino de la administración terminaría siendo vicepresidente de una línea de negocios.

Siempre respondí que quería seguir en el camino de IC porque esa era mi pasión como tú. Tuve mis oportunidades de gestión, como respaldar al líder de mi equipo o crear un equipo virtual en todos los departamentos y llevarlos a un proyecto paralelo. Pero mi trabajo principal siempre había sido escribir código, resolver problemas de ingeniería, optimizar cosas.

Sin embargo, lamento esa decisión hoy por dos razones: primero, realmente podría usar esa experiencia hoy como propietario de mi propia startup. Microsoft pone un gran esfuerzo en capacitarlo, brindándole los mejores recursos para que pueda ascender en su función de administración y creo que me podría haber beneficiado más o menos.

La segunda y más importante es que la administración le permite crear software que no puede imaginarse creando por sí mismo. Creo que esa es la parte que nos perdemos en la imagen del camino de la gestión. De hecho, amplifica nuestra capacidad para crear software en órdenes de magnitud. Sé lo atractivo que es trabajar en el código usted mismo, pero cuando ve que con la dirección y la orientación adecuadas, puede lograr diez veces, cien veces su propio rendimiento, es muy emocionante. Piense en un universo paralelo donde Linus Torvalds insistió en codificar todo Linux él mismo. ¿Hasta dónde habría llegado? Por supuesto, ninguno de sus desarrolladores codificará como usted, pero algunos lo harán incluso mejor que usted, y aprenderá a lidiar con la falta ocasional de calidad o la falta de comunicación. Estarás haciendo crecer a cada uno de ellos para ser un mejor tú,

Si su pasión por crear un buen software supera su pasión por resolver problemas técnicos, el camino de la administración puede no estar muy lejos.

Solo mis dos centavos.

Ese es un muy buen punto. Como contrapunto, conozco a cofundadores de empresas que vendieron su participación en la empresa porque no querían administrar. Sid Meier de Microprose hizo esto. Me gustaría saber si Spielberg ha hecho algo similar. Desde el exterior, parece que preferiría dirigir una nueva película que administrar Dreamworks SKG (su compañía).

Su opinión es algo que otros desarrolladores pueden entender, pero los gerentes no. En lugar de decir lo que no quiere hacer (y sonar negativo), le sugiero que enfatice lo que SÍ quiere hacer.

Diles que quieres mantener tus manos 'sucias' y que te gusta programar. Tal vez crearán un puesto de "superdesarrollador senior" solo para ti a medida que pase el tiempo. He visto pasar cosas similares.

La promoción no significa necesariamente que ya no será un desarrollador; podría significar, por ejemplo, que puede tomar decisiones técnicas de mayor alcance.

+1: muchos gerentes que ascendieron de rango estaban muy felices de dejar de codificar y comenzar a administrar. Pero, en la mayoría de las jerarquías en las que trabajé, necesariamente el Gerente de proyecto está un paso por encima del Líder del equipo de desarrollo, que está por encima del gradiente de desarrolladores senior a junior. Si esa superioridad se refleja en las escalas salariales depende de la empresa, pero mientras quieras programar, jerárquicamente hablando, permanecerás relativamente bajo en el tótem.
@KeithS no siempre es cierto. He visto Senior Dev->Architect->Senior Architect. Senior Architect estaba jerárquicamente por encima de los PM y la mayoría de los mandos intermedios.
Algunas empresas incluso tienen un CTO, pero incluso ese título podría implicar más gestión de personas de lo que le gustaría al OP.
La mayoría de las empresas, de hecho, tienen un CTO, y sí, se trata de gestión de personas. En cuanto a "Arquitecto", esa posición generalmente hace menos codificación y más HW/SW A&D. Los arquitectos son "administradores de proyectos múltiples", que trabajan para unir proyectos para hacer el mejor uso de las bases de código existentes y el hardware de alojamiento, etc.

Simplemente indique sus ambiciones como lo hizo aquí.

Después de haber trabajado en varios puestos de gestión de tecnología, esto es lo que más aprecio: no hay nada más fácil de gestionar que los empleados que saben lo que quieren (si está en línea con sus capacidades).

Los gerentes sin experiencia a menudo promueven al mejor ingeniero que tienen para que sea gerente, suponiendo que lo estén haciendo bien. El resultado: intercambian al mejor ingeniero que tienen por un gerente a menudo mediocre. (Llevar ese concepto más allá a menudo se conoce como el Principio de Peter ). La razón es que la gestión requiere un conjunto de habilidades diferente al de la ingeniería, lo que significa que los gerentes experimentados dedicaron su tiempo de trabajo a desarrollar habilidades de gestión en lugar de habilidades de ingeniería.

Dígale a su gerente que quiere convertirse en desarrollador/arquitecto sénior, y que sería mejor que pensara en una carrera profesional para esta dirección si quiere que se quede por más tiempo.

Dígales que desea una carrera técnica en lugar de una carrera gerencial . Incluso dentro del desarrollo de software, existen roles junior y senior. Los miembros junior del equipo tienden a corregir errores y escribir código para los módulos de los que son responsables. Los miembros sénior diseñan API y toman decisiones arquitectónicas. Se necesitan muchos años de experiencia para ser un desarrollador de software senior. Por ejemplo, tienes que

  • Adquirir experiencia con una amplia gama de tecnologías.
  • Detecte las tendencias de la industria (¡y reconozca las modas para ignorar!)
  • Aprende de los errores técnicos y evita que tu equipo los vuelva a cometer
  • Diseñe soluciones elegantes que también funcionen de manera eficiente

En resumen, puede ser valioso como desarrollador de software sénior que no está en la gerencia. Si su empresa actual no tiene oportunidades de avance en la vía técnica, es posible que desee proponerse para el liderazgo técnico (¡solo si cree que está listo!) o encontrar una empresa que tenga una vía técnica.

Nunca digas nunca. ¿Quién sabe dónde estarás dentro de diez años? Las cosas cambian.

Dicho esto, otras respuestas han abordado qué decir, pero tan importante como qué es cuándo . Usted y su gerente deben tener discusiones periódicas sobre su carrera, al menos como parte de las revisiones anuales de desempeño. Este es el momento de exponer lo que quiere y juntos identificar oportunidades y obstáculos. Cuando su gerente está decidiendo cómo dotar de personal a los proyectos, debe considerar los deseos de su gente, lo cual no puede hacer si no sabe cuáles son.

Si esto no es parte de su proceso de evaluación del desempeño, pídale a su gerente una reunión sobre este tema específico. En esa reunión, habla sobre las cosas que estás haciendo que te encantan, las habilidades que te gustaría tener la oportunidad de desarrollar más, los tipos de proyectos en los que quieres trabajar, etc. Si tiene otras cosas en mente para ti, probablemente las mencione, y luego puedes responder en lugar de tener que decir de forma preventiva "no quiero manejar".

Personalmente, no haría esta declaración en ningún momento porque A) Probablemente suene mal para los superiores, como si no tuvieras ambición/dedicación a tu trabajo/carrera B) Me han dicho que nunca diga que no considerarías convertirte en gerente algún día en entrevistas y esto te haría mentir en un futuro posible y C) Nunca sabes si te sentirás diferente en el futuro. ¿Cómo sabes que NUNCA en tu vida querrás convertirte en gerente? Creo que sería mejor simplemente rechazar las promociones cuando se ofrecen.

+1 Mi yo de 18 años habría sido feliz programando en ensamblador y COBOL para siempre (porque cuando tienes 18 años es hasta los 21), pero hoy encontraría la tortura física menos dolorosa.
Depende de lo que estés codificando. Un trabajo como el mío actual que te expone a diferentes tecnologías, donde haces una cosa, luego la siguiente que te dan es muy diferente, es desafiante e interesante y algo que disfrutaría durante décadas, siempre y cuando se mantuviera. asi que. He trabajado en trabajos, por otro lado, que fueron 99.99% de mantenimiento de exactamente la misma pieza de software. Una base de código frágil junto con una atención al detalle anal-retentiva recién descubierta por parte de la gerencia (porque habían dejado pasar ese lapso en los años anteriores) hizo que el trabajo de codificación fuera extremadamente doloroso.

Cíñete a lo que quieres y trata de evitar declaraciones negativas sobre lo que no quieres. Después de todo, cualquier conversación sobre promociones es probablemente algo que tendría con su gerente, que es uno de esos maníacos homicidas que estaban lo suficientemente locos como para querer hacer gestión de personas. Decir que "solo los locos harían ese trabajo" puede ser correcto, pero difícilmente políticamente inteligente.

En su lugar, describe la promoción que deseas, si te estoy leyendo bien, que incluye:

  • Desafíos técnicos en constante evolución y aumento
  • Responsabilidad y conocimiento de partes más grandes de la solución técnica que desarrolle
  • Una oportunidad de aprender y dominar nuevas tecnologías a medida que el negocio las necesita.
  • Eventualmente, la responsabilidad de descubrir futuras soluciones técnicas y ayudar a la empresa convirtiéndose en un experto técnico antes de los impulsores comerciales.

Esa ES una carrera profesional promocionable. Tal vez no sea obvio en su empresa, pero la mayoría de las empresas tienen un camino para los trabajadores del conocimiento que quieren mejorar su experiencia técnica sin costo/horario o responsabilidades de personas. Es posible que tengan que enseñar a otros o ser mentores, pero eso es muy diferente de "dirigir" a las personas.

Cíñete a lo bueno de tu trabajo y cualquier promoción futura.

Lo mejor que puede hacer es esperar hasta que le hayan ofrecido una promoción, evaluar esa oferta y, si no la quiere, rechazar la promoción.

La mayoría de las empresas publican puestos vacantes y quieren que sus empleados aprovechen las oportunidades que les interesan. Después de un tiempo, si hay un puesto para el que su gerente cree que sería bueno para usted, es posible que le sugieran que lo solicite. En ese momento puede comunicarle a su gerente cuáles son sus objetivos a corto plazo. Si prefiere permanecer en una posición que es más técnica, entonces su gerente puede estar atento a las posiciones que lo desafiarían más pero que realmente podrían interesarle. O simplemente dejar que te quedes donde eres feliz y productivo. Las empresas necesitan abejas obreras y si eres feliz siendo una de ellas y eres bueno en tu trabajo, es raro que te veas obligado a hacer algo en lo que te sentirás infeliz y menos productivo.

Creo que muchos programadores profesionales se enfrentan a este "problema" en algún momento de su carrera. No muchos elegirán quedarse "en el piso" codificando, pero aquellos que lo hacen son los que eventualmente se convierten en verdaderos maestros del arte.

Pero creo que tus ambiciones deberían mostrarse de forma natural a medida que trabajas en diferentes equipos y siempre eres el que usa nuevas construcciones de programación, usa los mejores patrones y crea los mejores algoritmos entre ustedes. De esa manera, les indicas a los demás que realmente eres un codificador profesional y, al mismo tiempo, sigues comunicando tu deseo de seguir codificando buenas soluciones para siempre, esto eventualmente se extenderá y la gente comenzará a mirarte como un verdadero nerd de la codificación. y dejar de preguntarte si quieres un puesto como jefe de equipo administrativo o lo que sea.

Piense en personas como Bjarne Stroustrup, James Gosling, Dennis Ritchie, Larry Wall, Sergey Brin y Anders Hejlsberg, entre otros, no creo que hicieran nada más que codificar, aunque podrían haberse movido a posiciones más lucrativas en su camino.

Creo que tu objetivo principal debería ser hacerte indispensable. Cree un código que sea tan bueno que nadie en la empresa pueda hacer lo mismo o mejor. ¡Luego puede solicitar tantos aumentos de sueldo como desee y seguir programando!

Si no obtiene el aumento, ha fallado en el paso mencionado anteriormente sobre comunicar sus ambiciones. Los jefes no entienden tu superioridad. Si ese es el caso, ¡asegúrate de tener mucha documentación que confirme tus habilidades y ve a trabajar para Google o algo así!

Indíquelo en su contrato o redacte un nuevo contrato que diga que hasta nuevo aviso, preferiría permanecer en tal título/clase de empleado, pero al estar allí renuncia a la capacidad de avanzar.

Mientras lo hace, también solicitaría al mismo tiempo que, dado que ha renunciado a la posibilidad de obtener un puesto mejor pagado, se garantice que sus ingresos aumenten un porcentaje cada año en leu del incremento del título del trabajo, hasta un se ha acordado el valor monetario.

Porque si trabajas para un tipo específico de persona, es posible que te mantengan en la misma escala salarial ya que no tienes interés en avanzar en el trabajo y, en su opinión, nunca aprenderán nada nuevo. Aunque los idiomas pueden cambiar, para ellos lo ven como si estuvieras haciendo el mismo trabajo que estás haciendo ahora. Lógico o ilógico, estoy en un lugar como ese ahora, así que hablo por experiencia en el último momento.

Gracias. Supongo que debería agregar a OP que una de mis principales preocupaciones es parecer poco ambicioso, lo cual no es el caso: soy ambicioso pero dentro de los límites de mi carrera profesional elegida, no para crecer en lo que algunos perciben como su progresión natural.
Sé lo que quieres decir, y también lo diría directamente, porque en realidad lo que buscas hacer no es solo permanecer en una zona de confort, sino un trabajo que sabes que disfrutas. Que está lejos y pocos en el medio en este momento. Me aseguraría de que entiendan esto claramente, de lo contrario, puede pegarse un tiro en el pie si no tiene cuidado.

Lo que creo que es importante aquí es cuál es su ambición y comunicarla de manera efectiva. Dices que eres ambicioso dentro de tu propia trayectoria profesional, pero "simplemente codificar" no es una trayectoria profesional . Si le presentan problemas para resolver, resolverlos y luego pasar al siguiente problema, esa es una descripción del trabajo. No hay nada de malo en eso, pero lo que debe pensar es cómo quiere aprovechar eso para ser más valioso para la empresa y cómo traducir ese valor en algo que su gerente pueda entender, que es donde viene el aspecto de la trayectoria profesional. en.

Como programador, su ambición podría ser de la siguiente forma: quiero aprovechar mis habilidades para comprender la tecnología para ser responsable de diseñar/construir/mejorar herramientas que reduzcan drásticamente los costos de nuestro negocio, o que puedan venderse, o que de alguna manera agreguen valor a un producto existente, lo que permite que se venda a un nuevo mercado (por ejemplo, una aplicación basada en web que migra a iOS, etc.)

Le corresponde a usted buscar oportunidades o posiciones dentro de su negocio que le permitan aprovechar esas habilidades de la manera más efectiva. Tenga en cuenta que esto puede significar trabajar más en el lado del diseño/arquitectura de lo que le gustaría y, dependiendo de la estructura de su empresa, puede ser limitante.

Usted puede tener otras ideas. Pero la clave es mirar a las personas en nuestro campo a las que le gustaría parecerse, ver dónde están y hacer que su ambición sea llegar allí. Luego describa su rol en términos de lo que aportan a su negocio. Y si encuentra que está mirando a personas que han subido menos alto, no hay nada de malo en eso .

Todas las empresas valoran a las personas que impactan en el negocio, la visión y las ganancias. (no necesariamente en cualquier orden). Si puede comunicar el valor de ser un colaborador individual y cómo eso impacta en la visión general de su empresa/división, será genial.

Definitivamente podría reformular su objetivo profesional. Por ejemplo, escribir código realmente será solo una pequeña parte del trabajo, incluso para un rol individual. Colaboradores individuales que siguen aprendiendo cosas nuevas, dedican la mayor parte del tiempo a hacer varios idiomas y tecnologías y, por lo tanto, generalmente son útiles para muchas personas en mi equipo. Creo que hay una ganancia de productividad para el equipo cuando hay personas que ayudan a otras con conocimientos superiores. Libros como Pragmatic Programmer y Clean Code enfatizan la necesidad de desarrolladores que sean "apasionados" por el desarrollo.

En cualquier caso, uno no puede ser puro desarrollador y evitar los llamados ángulos de gestión. Se le pedirá que dé una estimación, haga comentarios sobre las prioridades, cree problemas de emergencia para los clientes, comunique ideas sobre nuevos productos ... ninguno de los cuales es 'codificación'

Así que mi opinión será crear un nuevo mensaje, ensayarlo y luego comunicárselo a su gerencia.

Podrías considerar contratar. Si es un desarrollador de software competente (o mejor) y está dispuesto a cambiar de trabajo ocasionalmente, entonces puede ganar mucho dinero como contratista. Ese movimiento me pareció muy liberador. Me anuncié como ingeniero de software sénior (que lo soy) y me contrataron específicamente para funciones de desarrollo desafiantes. No había ninguna expectativa de que pasaría a la gerencia precisamente porque era contratista.

Esto no solo evita la presión de cambiar lo que haces, sino que me pareció extremadamente enriquecedor trabajar en muchos entornos diferentes y ver por mí mismo cómo se realiza el desarrollo en una variedad de empresas.

Muestre su ambición convenciéndole a su empleador la idea de crear una trayectoria profesional que tenga varios niveles de desarrollador. Tal vez te dediques un poco más al diseño y tengas información para la planificación y realices más revisiones de código, pero aún así te concentres en la programación. Para muchos, la programación no debería ser una fase introductoria de su carrera, sino una carrera en sí misma. Ahora bien, si su empresa se está estancando en sus necesidades de desarrollo y todo es el mismo soporte para el mismo código base, esto podría ser difícil de vender, pero hágalo de todos modos.

Sugeriría que mucho depende de lo que entienda por gestión y gestión de proyectos, así como del estilo de gestión en el que trabaje.

Sin querer entrar en un largo debate (¡hay muchos en la red!), si como profesional técnico está interesado/involucrado en los enfoques de desarrollo Agile/Scrum, entonces el concepto de "gestión de proyectos" o "líder de equipo" no No siempre encaja en todas las interpretaciones de estas técnicas.

Dos miembros de mi equipo de desarrollo en un curso de certificación Scrum-Master comentaron recientemente que al menos la mitad de los asistentes eran "jefes de proyecto" "clásicos" en cascada que intentaban averiguar cuál era su papel en Scrum...

En muchas organizaciones, el rol de PM ya no existe.

Tengo miembros del equipo como usted: eligen trabajar para mí porque, en parte, no espero que realicen ninguna gestión o liderazgo formal (aparte de dentro de la estructura plana de Scrum), y también tengo un sinfín de (!) suministro de problemas técnicos extremadamente desafiantes, impulsados ​​por una industria rica en efectivo y hambrienta de I+D. La contrapartida es que tienen que trabajar en un equipo Scrum, no ser un "héroe solitario".

Si su organización es en gran medida un asunto de tipo alquiler-árquico, de comando y control, puede que le resulte difícil crear una carrera técnica siguiendo las líneas que está buscando; vale la pena discutirlo, como sugiere la gente, pero si trabaja en una empresa grande, el cambio puede ser un desafío.

En última instancia, es posible que deba encontrar una cultura organizacional que se adapte a la carrera profesional elegida, pero si comprende qué es lo que está buscando, está muy lejos de lograrlo.

Con sus otros comentarios sobre las habilidades de especialista versus generalista, le sugiero que sea un activo importante en cualquier entorno Agile/Scrum.

¡Solo una cosa en este mundo es constante y eso es "CAMBIO"!

En muchas empresas, generalmente hay un puesto llamado "Analista de sistemas", y las personas en estos puestos siempre están involucradas en la escritura de código de alto nivel, como la creación de la estructura de la aplicación.

Lo que esto significa es que aún puede progresar hacia arriba en una carrera profesional, pero sin alejarse necesariamente de los aspectos técnicos que le encantan de la codificación.

Hola Ali, creo que tu respuesta inicialmente no fue muy clara, así que la edité con la intención de dejar en claro hacia dónde te dirigías con esto. Siéntase libre de hacer otra edición si no capturé el espíritu de lo que estaba tratando de decir. ¡Espero que esto ayude! :)