Impulsar una carrera de desarrollo después de alcanzar la competencia técnica [cerrado]

He estado involucrado en programación práctica intensiva durante aproximadamente 6 años, incluidos aproximadamente 4 años en el mundo laboral, y mucho estudio y lectura en mi tiempo libre, incluida la mayoría de las principales 'biblias de codificación'.

Sin duda todavía tengo algunos espacios técnicos en blanco, pero en su mayor parte soy un programador lo suficientemente seguro y mi experiencia es lo suficientemente amplia como para no sentir la necesidad de aprender constantemente en mi propio tiempo, aparte de mantener mi atención a las tendencias emergentes.

Dicho todo esto, estoy razonablemente seguro de que mi personalidad está orientada a roles técnicos. Soy demasiado introvertido para manejar, por lo que ser un trabajador lo es. Sin embargo, en ese sentido, parece que he llegado a un punto en el que soy lo suficientemente competente para desempeñar mi función, pero no tengo muchas posibilidades de mejorar mi seguridad laboral o desarrollar mi carrera.

Cambiar de rol no es una opción, ya que también me he estancado en términos de compensación en la ciudad en la que estoy y tengo algunos beneficios bastante favorables. Entonces, ¿estoy atrapado en el lugar clásico en el que terminan los desarrolladores introvertidos, o hay algo útil que pueda hacer?

Debes aprender mucho más rápido que yo. Llevo 50 años aprendiendo sobre computadoras, incluidos más de 30 años en el mundo laboral, y todavía hay muchas cosas que no sé.

Respuestas (4)

Ascienda como ingeniero senior, arquitecto u otro puesto en el que una persona necesite tomar decisiones técnicas importantes .

Cosas como diseñar una topología de sistema correcta, evaluar si un enfoque es factible, etc. requiere una persona capacitada y experimentada. Dar una opinión en la que se pueda confiar (frente a la programación junior que dice "Lo intentaré" o "Escuché que esto podría funcionar") puede ser muy valioso. Usted está en una buena posición para brindar esta retroalimentación ya que tiene sólidas experiencias trabajando en tareas prácticas de programación.

Estas decisiones pueden ser técnicamente muy desafiantes y ciertamente diferentes a administrar un equipo y establecer el horario de todos.

Algunas empresas tienen vías de promoción paralelas, lo que permite que los ingenieros y arquitectos senior ganen lo mismo que los gerentes. El OP debería intentar entrar en ese tipo de entorno.

Entonces, ¿estoy atrapado en el lugar clásico en el que terminan los desarrolladores introvertidos, o hay algo útil que pueda hacer?

Estás tan atascado como crees.

El período previo a su pregunta me parece una lista de excusas para quedarse quieto:

  • No necesitas aprender cosas nuevas porque... ¿ puedes aprender cualquier cosa cuando lo necesites?

  • Atascado siendo un seguidor porque... ¿ los introvertidos no pueden aprender a liderar?

  • No puedes cambiar de rol porque... ¿ tienes dulces beneficios?

  • Sus opciones de carrera son limitadas porque... ¿ ha dominado la práctica de la programación de computadoras después de cuatro años completos de experiencia laboral real?

Claro, he tergiversado un poco tus palabras, pero solo para dejar en claro que las cosas que crees que limitan tu crecimiento están principalmente en tu cabeza. Cada pared de la caja en la que crees que estás se puede derribar fácilmente:

  • La programación es mucho más que dominar una lista de herramientas. Es construir cosas y resolver problemas , y hay tantos enfoques y técnicas para esas actividades que no podrías dominarlas todas en tu vida.

  • Ser introvertido no significa que estés siempre limitado en la forma en que interactúas con otras personas más de lo que ser extrovertido te convierte en un líder nato. Aprender habilidades de gestión no significa tener que actuar frente a una multitud.

  • Si trabaja para una empresa que brinda algún beneficio, probablemente trabaje para una empresa que tiene una variedad de funciones que desempeñar y que podría estar interesada en ayudar a los empleados a ampliar sus habilidades. Es muy probable que el rol que tiene pueda cambiar o expandirse para ayudarlo a obtener una experiencia nueva y diferente, todo sin afectar su paquete de compensación.

  • Hay todo tipo de opciones de carrera para alguien que puede resolver problemas con el código, y hay todo tipo de cosas que podrías aprender en tu puesto actual que cambiarían tu forma de pensar sobre la programación y mejorarían tus habilidades.

No quiero suponer demasiado, pero me parece que estás un poco estancado y te has aburrido de tu trabajo. Si es así, es totalmente comprensible. Creo que la mayoría de la gente se siente así de vez en cuando. Y estar "atascado" es realmente solo un problema hasta que lo reconozcas y decidas hacer algo al respecto. Así que felicidades, es posible que ya esté en camino a cosas mejores.

No estoy seguro de que alguien aquí pueda decirte exactamente cómo despegarte y deshacerte del aburrimiento porque cada persona es diferente, pero hay algunos temas generales que se aplican:

  • cambia las cosas: haz algunos cambios en tu vida y en tu trabajo solo por hacer las cosas de manera diferente y obtener una nueva perspectiva. Tal vez vaya a dormir y levántese más temprano (o más tarde) de lo habitual. Intercambia tareas con algunos de los otros desarrolladores de tu equipo. Pase uno o dos días siguiendo a alguien en un departamento completamente diferente para que vea un lado diferente del negocio. Ve a almorzar con un compañero de trabajo con el que nunca hablas.

  • pruebe algo nuevo: esfuércese por salir de su zona de confort, y no solo en el trabajo. Si se considera un programador orientado a objetos, pruebe algo de programación funcional. Si nunca has sido un gran atleta, bailarín o artista, inscríbete en un deporte, una clase de baile o de arte. Incluso si no te mantienes firme, intentar algo nuevo te hace ver a ti mismo de una manera nueva y puede darte confianza para imaginar la siguiente fase de tu carrera.

  • busque asesoramiento externo: es difícil ser objetivo acerca de sus propias fortalezas y debilidades, por lo que puede ser difícil saber qué aspectos de usted mismo debe tratar de mejorar. El consejo de un líder de equipo, gerente o mentor puede ser invaluable para establecer metas para mejorar en lo que hace. Hablar con su gerente o líder sobre cómo mejorar también es una buena manera de hacerles saber que está ansioso por avanzar; si son buenos en lo que hacen, buscarán oportunidades para ayudarte a hacerlo.

  • no te rindas: No todo lo que intentes te ayudará a mejorar, pero no dejes que eso te detenga. Sigue así y estarás obligado a progresar. Puede ser útil llevar un registro o un diario de lo que está tratando de lograr.

Así que, una última vez: no es necesario que te quedes estancado en tu posición actual si no quieres estarlo; estás en un mínimo local cómodo, y avanzar más allá requerirá algo de esfuerzo y persistencia.

Siga aprendiendo: he estado en esto durante 10 años a tiempo completo y siempre hay algo nuevo: nuevas herramientas, actualizaciones de lenguajes (PHP y C ++ han cambiado bastante con los años), nuevos patrones y enfoques. Estoy constantemente revisando mis conocimientos sobre diseño de software y diseño de experiencia de usuario.

Diversificar: comencé con PHP; me familiaricé con XSL, Javascript, HTML, CSS; diseño de base de datos (todavía hay mucho que aprender allí); tomé un poco de Python y Perl; y ahora en su mayoría hacen C++. Todo lo que he aprendido para todas esas cosas me ha ayudado a aumentar mi conocimiento general sobre el diseño de software.

Sepa que siempre hay algo nuevo, ni una sola vez sentí que solo tenía "algunos pequeños agujeros", simplemente hay demasiado conocimiento para aprender.

Busque una perspectiva más amplia: comience a familiarizarse con el diseño de sistemas.

Profundice y domine el conocimiento que ya tiene: cada vez que creo que domino algo en software y diseño de aplicaciones, descubro una capa completamente nueva debajo de la cual atascarme.

Estoy de acuerdo, aunque siento que he llegado al punto en que si realmente necesito saber algo, puedo retomarlo en unas pocas semanas, por lo que aprender cosas que no son relevantes en este momento tiene un rendimiento bastante bajo.
@mcraen ¿Quién puede decir qué es y qué no es relevante? Hay cosas que aprendí en Python, Perl y C++ que me ayudaron a mejorar mis habilidades en PHP. Hay cosas que aprendí de varios marcos (incluidos los que nunca usé para ningún proyecto real) que me ayudaron a aprender mejor. enfoques para el diseño (y también lo que no se debe hacer). Si realmente has llegado al punto que crees que has alcanzado después de unos pocos años, te envidio; parece que siempre encuentro cinco cosas nuevas que aprender después de cada cosa que domino.

Busque un nicho que no haya sido cubierto por oscuro que sea y desarrolle algo original. Todavía hay mucho por ahí. No necesitas inventar Windows para ganar dinero.

Una vez que tenga un producto, busque comercializarlo, pero mientras tanto solo desarrolle un producto.

Hablo con muchos profesionales experimentados en muchos campos, estoy interesado en sus industrias porque a veces puedo detectar algo que se necesita, más eficiente y potencialmente lucrativo, simplemente no lo saben todavía porque nadie lo ha mirado con mi conocimiento de las diferentes formas en que se pueden resolver los problemas.