Hemos llegado a la última parte de nuestra serie.
Ya hemos hablado sobre los primeros pasos en la profesión.
Sobre lo que realmente vale la pena aprender. Sobre Code Review, Clean Code y el trabajo diario en equipo.
Queda una pregunta: ¿Cuándo de verdad dejas de ser Junior?
Esa pregunta aparece muy a menudo.
¿Después de un año? ¿Después de dos años? ¿Después de cinco? ¿O quizás cuando aprendes otro framework?
La respuesta puede sorprenderte. - No existe un número correcto.
Hemos visto desarrolladores con diez años de experiencia que todavía necesitaban guía en proyectos más complejos. También hemos visto personas con tres años de experiencia que diseñaban soluciones de forma independiente, apoyaban a compañeros más jóvenes y asumían la responsabilidad de módulos completos del sistema.
Por eso, en IT los años de experiencia son solo una pieza del rompecabezas.
Un Senior no lo sabe todo
Ese es quizá el mayor mito de la industria.
Muchos Juniors se imaginan al Senior Developer como la persona que tiene la respuesta a cada pregunta. La realidad es totalmente distinta.
Un buen Senior muchas veces dice: "No lo sé."
Pero inmediatamente añade: "Lo comprobamos."
Esa es una gran diferencia.
Un Senior no tiene que memorizar toda la documentación. No tiene que conocer cada librería. No tiene que saber escribirlo todo de memoria.
Sabe, en cambio:
- dónde buscar la información,
- cómo verificar una solución,
- qué riesgos conlleva una decisión,
- cuándo decir "no lo sé" en lugar de adivinar.
Esa es una de las características más importantes de un desarrollador maduro.
¿Programador o ingeniero?
Al inicio de la carrera la mayoría se centra en el código.
¿Cómo escribir una función? ¿Cómo hacer un API? ¿Cómo conectar la base de datos?
Con el tiempo empiezas a ver que el código es solo una herramienta.
La verdadera tarea es resolver el problema del negocio.
El cliente no compra una aplicación porque esté escrita en un lenguaje concreto. Compra la solución al problema.
Ese es justamente el momento en el que un programador empieza a pensar como ingeniero.
La mejor función a veces es la que no escribes
¿Suena extraño? Y sin embargo.
Imagina que un cliente solicita crear un nuevo módulo. Puedes empezar inmediatamente a diseñar la solución. También puedes hacer unas cuantas preguntas.
¿Para qué sirve esta funcionalidad?
¿Con qué frecuencia se usará?
¿Existe ya una solución similar?
¿Se puede lograr el mismo efecto de una forma más simple?
Muy a menudo resulta que el problema se puede resolver sin escribir cientos de líneas nuevas de código. Y por decisiones así paga el cliente. No por el número de commits.
La responsabilidad empieza donde termina el código
Un Senior no es responsable únicamente de su parte del proyecto. Mira más allá.
Se pregunta:
- cómo afectará el cambio a otros módulos,
- si la solución será escalable,
- si la nueva funcionalidad será fácil de mantener,
- qué riesgos implica el despliegue,
- si los usuarios realmente obtendrán un beneficio.
Es una forma de pensar totalmente distinta.
Un buen Senior forma a otros Seniors
Es una de las cosas más bonitas de nuestra industria.
Los mejores desarrolladores que hemos conocido nunca tuvieron miedo de compartir su conocimiento. Al contrario.
Se alegraban cuando alguien del equipo crecía más rápido. Porque un equipo fuerte siempre vence a un héroe solitario.
Durante más de veinte años hemos tenido la oportunidad de observar cómo personas que empezaron con prácticas con nosotros se convirtieron en miembros plenos del equipo. Una de esas historias la describimos en la primera parte de esta serie.
Hoy esa persona lleva a cabo tareas exigentes de forma independiente, diseña soluciones y apoya a programadores más jóvenes.
¿Ocurrió de la noche a la mañana? Por supuesto que no. Es el resultado de cientos de horas de aprendizaje. Decenas de Code Reviews. Incontables preguntas. Errores cometidos. Y una enorme curiosidad por el mundo.
La IA no sustituirá a un buen programador
No podía faltar este tema. ¿Cambia la inteligencia artificial nuestra industria? - Sí. Mucho.
¿Hace que los programadores dejen de ser necesarios? - Todo lo contrario.
Cambia el carácter del trabajo. Cada vez dedicamos menos tiempo a escribir código repetitivo.
Cada vez más a:
- analizar problemas,
- diseñar arquitectura,
- verificar soluciones,
- conversar con clientes,
- tomar decisiones.
La IA es un gran asistente. Pero la responsabilidad del proyecto sigue siendo humana. Y lo seguirá siendo por mucho tiempo.
Lo que no pondrás en el CV
El CV mostrará:
- lenguajes de programación,
- frameworks,
- certificados,
- experiencia.
Pero no mostrará cosas que con frecuencia deciden el éxito.
¿Eres capaz de admitir un error?
¿Sabes pedir ayuda?
¿Respetas el tiempo de los demás?
¿Cumples los acuerdos?
¿Sabes resolver conflictos con calma?
¿Asumes la responsabilidad de tus decisiones?
Son precisamente esas cualidades las que hacen que un equipo quiera trabajar contigo.
Si solo pudiéramos darte un consejo...
Tras más de veinte años creando software podríamos hablar de tecnologías.
De arquitectura. De frameworks. De inteligencia artificial.
Pero si solo pudiéramos dejarte un consejo, sería este: Nunca dejes de tener curiosidad.
Las tecnologías cambiarán. Los lenguajes de programación evolucionarán. Surgirán y desaparecerán frameworks.
Pero la curiosidad, la humildad, las ganas de aprender, la habilidad de hacer preguntas son competencias que siempre serán necesarias.
Glosario
Senior Developer
Desarrollador experimentado que no solo escribe código de alta calidad, sino que también diseña soluciones, toma decisiones técnicas, apoya al equipo y asume la responsabilidad de los proyectos.
Arquitectura de software
La forma de diseñar una aplicación y las relaciones entre sus componentes, que afecta al desarrollo, rendimiento y facilidad de mantenimiento del sistema.
Escalabilidad
Capacidad de un sistema para manejar un número creciente de usuarios, datos o procesos sin perder rendimiento.
Commit
Registro de cambios en el control de versiones Git, que permite seguir la historia del proyecto.
Mentoring
Proceso de transferir conocimiento y experiencia a miembros menos experimentados del equipo, apoyando su desarrollo profesional.
Resumen de toda la serie
Si has leído las cuatro partes, quizá hayas notado que rara vez hablamos de frameworks concretos.
A propósito.
Porque las tecnologías cambian más rápido que nunca.
Lo que hoy es lo más popular, en unos años puede ser solo una curiosidad.
En cambio, la forma de pensar de un buen desarrollador permanece: Análisis. Responsabilidad. Comunicación. Trabajo en equipo. Curiosidad.
Son esas cualidades las que hacen que de Junior pases a Mid Developer y con el tiempo a Senior.
En Web24 llevamos más de 20 años creando software para clientes de diversas industrias. Durante este tiempo hemos aprendido una cosa: a los mejores desarrolladores no se los reconoce por cuántos lenguajes conocen. Se los reconoce por cómo resuelven problemas, cómo colaboran con las personas y cuánto les importa la calidad de lo que crean.
Si estás empezando tu camino en IT, te deseamos que nunca pierdas la curiosidad.
Porque de ella comienza toda buena carrera.
