¿Qué significa ser un Senior Developer? Teorías y realidades que te harán llegar a otro nivel

J
Jorge Sánchez
5 min lectura

La figura de Senior Developer juega un papel importante en cualquier proyecto de envergadura que se precie. Un Senior Developer debe ser capaz de dar confianza al equipo, de solucionar problemas de forma proactiva, y de llevar la calidad del software a un nivel superior.

Pero no es esta la mentalidad que tienen muchas empresas, y por eso hoy Jorge Sánchez nos quiere contar cuál ha sido su experiencia a lo largo de su carrera profesional.

Jorge ha trabajado mucho tiempo como empleado, pero actualmente ha creado su propia empresa (Kirei Studio) donde, junto con su compañero Miguel Ángel Bueno, trabajan por crear software de calidad.

Os dejo con su artículo.


¿Qué significa ser un Senior Developer?

Senior Developer es un término que todo el mundo suele asociar como un desarrollador con cierta experiencia, que no acaba de empezar en esto del desarrollo de software y se le suponen ciertos conocimientos.

Sin embargo, durante mis años en este sector, he aprendido que es un término relativo.

Mi interpretación en los primeros años

Llevo trabajando como desarrollador de software 14 años. Cuando llevaba 5 años trabajando yo me consideraba un Senior Developer, porque llevaba unos cuantos años ya en esto y dentro de mi empresa era una pieza importante dentro del equipo.

Tenía la sensación de que sabía mucho.

Era el encargado de desarrollar el core de un ERP que teníamos en esa empresa por aquel entonces. Escribía código que a otras personas les resultaba difícil de entender y eso me hacía sentir importante.

Era común en los equipos el no poder tocar cierta parte de código hasta que viniera la persona encargada ya que solo él era capaz de entender ese código.

Estaba claro que no podía estar más equivocado sobre mí por aquel entonces y tuve que aprenderlo de una forma bastante dura.

Cambiando mi interpretación

Un suceso que me ocurrió hizo que cambiara mi interpretación drásticamente. Mi empresa cerró y me encontré en el paro con un conocimiento de bastantes años pero en Visual Basic 6 y SQL Server 2000.

Fue un shock bastante importante para mí, pasé de considerarme un Senior Developer a un “developer dinosaurio” con sólo veintitantos años en cuanto vi lo que se demandaba en las empresas.

El conocimiento que tenía no se ajustaba a la demanda del mercado laboral y me llevó un tiempo asumir mi nueva realidad.

El no estar en contacto nada más que con mi entorno de trabajo hizo que no fuera consciente de cómo iba evolucionando el sector.

Por aquel entonces es cierto que los blogs no estaban tan de moda como ahora, pero yo tampoco hacía nada por estar al día. Además existen libros desde mucho antes que incluso a día de hoy todavía tienen vigencia y yo los desconocía por completo.

Por suerte reaccioné.

No fue fácil, le eché muchas horas para ponerme al día. Empecé a hacer cursos, leer libros, aprender patrones de diseño, buenas prácticas y creé mi primer blog.

Un blog donde iba compartiendo todo lo que iba aprendiendo, donde se refleja muy bien mi paso por diferentes tecnologías como ASP.NET, WPF, Android e iOS a medida que iba cambiando de empresa.

También empecé a asistir a eventos donde te pones al día de verdad y conoces a gente de la que luego puedes aprender mucho a través de sus blogs y lo que comparten en las redes sociales.

Desde hace un año tengo un nuevo blog donde intento seguir compartiendo conocimiento, pero desde mi propio dominio.

Actualmente he montado un estudio de desarrollo con un amigo, Kirei Studio.

He intentado aprender de mis errores en el pasado y desde luego mis vivencias en los últimos años no tienen nada que ver con los primeros. Mi situación actual no tiene nada que ver con la de hace 10 años.

Mi interpretación actual

En los últimos 15 años, para algunas empresas y personas no ha cambiado mucho qué significa ser un Senior Developer, y siguen pensando que se basa en los años de experiencia.

Para mí, después de lo aprendido, si un developer es senior se debe medir más por su conocimiento que por sus años de experiencia.

En la actualidad, no es lo mismo una persona, como era yo, que lleve 7 años trabajando en Visual Basic 6 en un modelo de cascada tradicional, que una persona con 4 años de experiencia pero en una empresa moderna de desarrollo móvil en un modelo ágil.

Además un Senior Developer debe saber escribir buen código por encima de conocer cualquier framework o lenguaje, utilizando buenas prácticas y teniendo conocimientos de arquitectura. Este conocimiento va a hacer más fácil que te puedas adaptar a otras tecnologías.

En el mundo actual, ser senior no sólo se mide por la capacidad que tengas de escribir código. Los desarrolladores modernos tienen que saber cómo hablar con un cliente, entender los objetivos de negocio y ayudar a sus clientes a definir y priorizar requisitos.

También tienen que saber cómo automatizar tests, despliegues,… y tener capacidad didáctica para transmitir sus conocimientos, ya que el conocimiento se comparte muchísimo más en la actualidad.

Tienes que conocer cada vez mejor las herramientas de las que dispones, tienes la responsabilidad de formarte y de escribir código limpio con la finalidad de que sea fácilmente leído e interpretado por tus compañeros y no sólo por el compilador.

Todo esto está muy relacionado con el movimiento Software Craftsmanship.

No estás limitado sólo a aprender de tus compañeros de equipo. Tienes acceso a blogs, meetups, Coding Dojos, eventos y no hace falta ser Martin Fowler o Uncle Bob para compartir conocimiento.

Siempre hay personas que pueden aprender de ti y tú de ellas.

Conclusiones

Senior Developer es un término cuyo significado ha cambiado bastante para mí y creo que debe ser un concepto que se mide más por el conocimiento que se tiene y no por los años de experiencia.

¿Qué opinas tú? Déjame tus ideas en la sección de comentarios.