¿Hay un futuro más allá de escribir un gran código?
Publicado: 2022-03-10Hagamos un ejercicio rápido. Digamos que ha estado trabajando profesionalmente como desarrollador durante más de cinco años. Obtuvo experiencia práctica a través de docenas de proyectos y mantuvo sus habilidades afiladas aprendiendo sobre nuevas técnicas, herramientas y marcos. Contribuye a diferentes bibliotecas, refactoriza rutinariamente el código que escribe e intercambia periódicamente revisiones de código con sus colegas.
Pero luego aparece alguien y te hace esa pregunta que no has tenido la oportunidad de descifrar: ¿Dónde te ves dentro de diez años?
Es posible que le preocupe la idea de que, si continúa por el mismo camino, simplemente será un desarrollador mayor que programará un poco mejor y un poco más rápido. Algunos desarrolladores están felices con este pensamiento y simplemente no pueden esperar para continuar por ese camino. Pero otros pueden darse cuenta de que esta montaña rusa de lecciones y crecimiento por la que ha pasado está cambiando rápidamente al modo de control de crucero.
Una vez que siente que tiene el control total de su rol como desarrollador, comienza a sentir ganas de hacer más. No más de lo mismo, sino más crecimiento personal. Tal vez algo diferente.
Durante los últimos años de mi carrera, he estado buscando respuestas. Tuve la oportunidad de trabajar con (y aprender de) muchos desarrolladores exitosos que lograron hacer la transición a roles muy influyentes en los que aprovechan al máximo su experiencia técnica. Cada uno de ellos exploró un camino diferente en el que pudieron hacer una transición orgánica, basada en un equilibrio entre sus habilidades básicas y sus habilidades complementarias.
¿Dónde podemos ir desde aquí?
Hay algunos caminos nuevos que podemos explorar, que pueden obligarnos a crecer más allá de nuestras zonas de confort y, al mismo tiempo, beneficiarnos del conjunto de habilidades que hemos trabajado tan duro para cultivar.
Como desarrolladores, la mayoría de los artículos que leemos, los libros de programación e incluso los consejos de nuestros compañeros, están diseñados para ayudarnos a centrarnos únicamente en escribir un mejor código. Aparte de eso, en realidad no se nos enseña cómo trabajar mejor o, para ponerlo en una perspectiva más filosófica, cómo evolucionar.
Por lo general, no tenemos idea de lo que sucede después de lograr los objetivos que nos propusimos cuando comenzamos nuestras carreras o si hay algo que queremos hacer además de programar ocho horas al día, por el resto de nuestras vidas. Es común incluso subestimar nuestra posible contribución al equipo si tuviéramos que hacer algo más que escribir código en un futuro cercano. No estamos seguros de cómo podemos tener un mayor impacto, aunque nuestra perspectiva y habilidades definitivamente se necesitan en posiciones de mayor influencia.
Escuche a la industria
Allá por 2008, cuando comencé mi carrera como desarrollador frontend, no había nadie en el mundo que no hubiera oído hablar de Mark Zuckerberg, el joven programador que se hizo millonario mientras cambiaba la forma en que la gente se comunica. Los millennials comenzaron a idealizar la idea de hacerse rico legalmente usando una sudadera con capucha. De repente, casi todas las personas de mi generación querían convertirse en desarrolladores.
Ahora, más de una década después, comenzamos a sentir el verdadero impacto de este auge de programadores. A través de la Encuesta de desbordamiento de pila de este año, descubrimos que más de dos tercios de los encuestados tienen menos de diez años de experiencia profesional en codificación.
Podemos ver claramente que los desarrolladores experimentados con habilidades de liderazgo son escasos, por lo que ahora las empresas tienen que encontrar formas creativas de contratar a sus mejores talentos de manera que puedan supervisar a más desarrolladores junior y mantener la calidad del trabajo. Esto crea una estructura de liderazgo orgánico dentro de los equipos en crecimiento.
La industria sigue creciendo a un ritmo acelerado, al igual que nuestras funciones como desarrolladores. Se ha vuelto más común encontrar directores y gerentes que comenzaron como programadores, y las empresas ahora están abriendo más posiciones de liderazgo que requieren antecedentes de desarrollo.
Es seguro decir que, a pesar de que la programación se consideró como el próximo trabajo de cuello azul, el papel del desarrollador se está convirtiendo en posiciones muy influyentes dentro de las organizaciones. Pero no existe una hoja de ruta escrita o una fórmula comprobada que nos guíe a través de esa transición.
¿Cuáles son algunas de nuestras opciones?
Llegó un momento de mi carrera en el que me hicieron la temida pregunta sobre el futuro que imagino para mí. No tuve respuesta. De hecho, provocó aún más preguntas que no se me habían pasado por la cabeza.

Ya estaba trabajando como líder de frontend, por lo que me habían dado más y más responsabilidades además de escribir código, lo que me hizo pensar en un posible futuro en el que probablemente no estaría programando. La posibilidad de tener más impacto en diferentes proyectos fue definitivamente atractiva.
Así que me puse a investigar qué opciones podrían ser interesantes para mi futuro. Observé el camino que habían tomado algunos colegas en el que habían hecho una transición exitosa del rol de desarrolladores a posiciones importantes dentro de la empresa. La mayoría de los casos consistieron en dar pequeños pasos y estar en el lugar adecuado en el momento adecuado. Pero en general, todos terminaron involucrándose en estos tres grupos principales de actividades:
- Gestión de equipos y proyectos.
Liderar a un grupo de personas hacia la grandeza suena emocionante, pero no es fácil. Como desarrolladores experimentados, hay muchas opciones de crecimiento que implican administrar un grupo de compañeros desarrolladores como un equipo o administrar proyectos en equipos multidisciplinarios. Aunque es una opción muy gratificante, requiere alejarse del teclado y aprender a delegar, lo que puede ser muy complicado para los desarrolladores que están acostumbrados a resolver personalmente todos sus problemas.
Pasar a una posición en la que tengamos un mayor control del proceso y el equipo involucrado a su alrededor probablemente conducirá a la necesidad de sacrificar el control que estamos acostumbrados a tener cuando se trata de código. - Mentoría y desarrollo del talento
¿Cuántos jefes han fantaseado con clonar a sus mejores desarrolladores? En el mundo real, es poco probable que esto suceda, por lo que los jefes inteligentes hacen lo mejor que pueden hacer: establecen procesos en los que los programadores más inteligentes pueden transmitir activamente sus conocimientos a sus compañeros.
Tenemos que tener en cuenta que, aunque algunos desarrolladores hacen esto de forma natural en su día a día, siempre es más efectivo si se les da a los desarrolladores senior un rol más formal en el que puedan asignar su tiempo de forma rutinaria para trabajar en el crecimiento de sus equipos Esto se puede hacer con revisiones de código, talleres y evaluaciones individuales con algunos colegas. - Estar en el negocio de la tecnología
Es muy común escuchar a los desarrolladores quejarse de cómo se lanzaron o definieron los proyectos cuando se vendieron a los clientes. Y, en la mayoría de los casos, suele ser demasiado tarde para quejarse.
En mi experiencia, me sentí más feliz trabajando en proyectos en los que los desarrolladores habían estado involucrados durante la venta. Siempre es genial tener un aliado con mentalidad lógica que señale posibles problemas técnicos en una sala donde nadie más tenía ni idea.
Los roles de consultores y directores técnicos son cruciales en los grandes proyectos digitales. La participación de los desarrolladores en los talleres de los clientes y la redacción de la documentación técnica al comienzo de cualquier proyecto pueden cambiar potencialmente las reglas del juego para el ciclo de vida de un proyecto.
Trabajando en un nuevo conjunto de herramientas
Digamos que queremos seguir creciendo y queremos embarcarnos en un futuro en el que queremos hacer algo más que escribir código. Una vez que tenemos una idea de hacia dónde nos dirigimos, es muy probable que aún no estemos preparados para el salto. Después de todo, nos hemos estado enfocando en adquirir habilidades que nos hagan mejores desarrolladores.
Una vez que nos damos cuenta de que tenemos mucho que aprender, debemos comenzar a trabajar en el conjunto correcto de habilidades. Esta vez será diferente: no aprenderemos nuevos lenguajes, marcos o bibliotecas. Tendremos que abastecernos de habilidades que tal vez no hayan sido importantes en el pasado, pero que son cruciales para dar los próximos pasos en estos territorios inciertos.
Comunicación
Para cualquiera que tenga un trabajo en cualquier empresa, esto sería una obviedad. Se sabe que la comunicación es el núcleo de la colaboración dentro de cualquier tipo de organización. Desafortunadamente, a los programadores se les ha dado un pase gratis en esta área durante muchos años. La necesidad de encontrar personas apasionadas, trabajadoras y de mente lógica nos ha permitido prosperar sin la necesidad de tener realmente grandes habilidades de comunicación e incluso ser un grupo muy incómodo socialmente.
Si tenemos alguna aspiración de trabajar con diferentes equipos y clientes, está muy claro que tendremos que trabajar en mejorar todos los aspectos de nuestra comunicación. Las reuniones individuales, las presentaciones y los correos electrónicos importantes deberán pulirse cuidadosamente a partir de ahora.
Propiedad
Tener una mentalidad lógica ha impactado en la forma en que organizamos nuestro trabajo. Como desarrolladores, generalmente tenemos una idea clara de dónde comienza y dónde termina nuestro trabajo. Esto es positivo cuando nos permite tener una comprensión clara del trabajo que debemos hacer, pero a veces nos impide superar nuestros límites y trabajar fuera de nuestras zonas de confort.
La primera orden del día es comenzar a tomar posesión de todos los aspectos del trabajo en el que estamos involucrados. Al desdibujar la línea que define dónde termina el trabajo de un desarrollador, podemos asumir nuevas responsabilidades y, finalmente, hacer la transición a diferentes roles.
Liderazgo
Dondequiera que nos dirijamos en nuestras carreras, vamos a necesitar que nuestros compañeros de equipo confíen en nosotros. Necesitaremos que sepan que vamos en la dirección correcta, aunque por un momento no esté del todo claro.
Para lograr esto, tendremos que ser capaces de demostrar nuestro conocimiento, tendremos que tener confianza en nuestras decisiones y, definitivamente, tendremos que ser capaces de reconocer nuestros errores y aprender rápidamente de ellos.
Esta no es una tarea simple y no es algo que pueda marcar en una lista. Requerirá nuestra dedicación durante el tiempo que deseemos seguir creciendo fuera de la burbuja del desarrollo.
Ponte a trabajar
Una vez que estamos seguros de que queremos dar un salto en nuestra carrera, tenemos que empezar a movernos en la dirección correcta. El primer paso sería explorar las opciones, decidir qué camino desea seguir y ver cómo ese camino se alinea con su rol actual.
¿Tu empresa ofrece un espacio en el que podrías ser un mentor o un gerente? ¿Crees que existe la posibilidad de que esto suceda allí o crees que necesitarás continuar tu crecimiento en otro lugar? Estas son solo algunas de las preguntas que debe hacerse y también conducirán a una conversación con algunos de sus compañeros de equipo y gerentes.
Dar un paso en una nueva dirección requerirá trabajar duro, tener una mente abierta y ser lo suficientemente resistente como para fallar y volver a intentarlo, tantas veces como sea necesario.