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

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.

Durante mis años en este sector, he aprendido que Senior Developer es un término relativo Clic para tuitear

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.

Pasé de considerarme un Senior Developer a un developer dinosaurio Clic para tuitear

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.

En los eventos te pones al día de verdad y conoces a gente de la que luego aprendes mucho Clic para tuitear

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.

Si un developer es Senior, se debe medir más por sus conocimientos que por sus años de experiencia Clic para tuitear

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.

Un Senior Developer debe saber escribir buen código por encima de cualquier framework o lenguaje Clic para tuitear

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.

Quizá también te interese…

RE: Estoy menospreciando a Flutter

RE: Estoy menospreciando a Flutter

En el último vídeo que publiqué de Kotlin vs Flutter, he recibido varios comentarios que se alejan bastante de la realidad de lo que comentaba en aquel vídeo, y sobre todo de lo que pienso realmente. Así que he decidido crear un vídeo contestando a todos esos...

Certificación Android Associate Developer, ¿merece la pena?

Certificación Android Associate Developer, ¿merece la pena?

A lo largo de esta semana me han llegado dos preguntas sobre este tema. Una de Nino Wanchope que Alan García suscribía: Y otra de Javier Martínez: Con respecto a certificaciones específicas de Kotlin, decirte que no existen de forma oficial, sino que JetBrains...

Ser programador de Apps móviles (Android | iOS) en 2021

Ser programador de Apps móviles (Android | iOS) en 2021

Mientras 2021 se presenta como un año de crisis mundial, el sector del desarrollo de App móviles no para de crecer. Esto tiene lógica desde un punto de vista muy sencillo: la transformación digital es ya una obligación, y a día de hoy nuestros posibles clientes se...

13 Comentarios

  1. Kilian Cerdán Ortiz

    Senior Developer es, bajo la experiencia que he tenido, un término que se utiliza más para inflar los precios de un proyecto que para reflejar lo que realmente aporta la persona.

    Estoy de acuerdo en que no por llevar X años trabajando en el sector ya tengas la medalla de senior, necesitas tener unos conocimientos y aportar algo de verdadero valor. He conocido a desarrolladores con 5 años de experiencia que considero más juniors que otros con 2 años.

    Buen artículo!

    Responder
      • Alex P.G

        Totalmente de acuerdo contigo sobre la variedad de conocimientos que tiene que tener un Senior Developer. Con respecto a la complejidad del código, considero que mientras más conocimientos tienes más legible debe ser tu código.

        Yo por mi parte siempre trato de escribir un código que pueda ser entendido por mi abuela, muy bien documentado y siempre apegado al buen uso de patrones de diseño.

        Muy buen artículo.

        Saludos.

        Responder
  2. Jorge Gómez Álvarez

    Creo que definir a alguien como Senior Developer es una tarea más compleja de lo que pueda parecer en un principio. Un nivel senior no solo lo determina el nivel de conocimientos que se tiene sobre una o varias especializaciones, sino también la experiencia profesional en diversos proyectos; y no es lo mismo haber estado trabajando durante x años en proyectos pequeños o medianos para diversos clientes, que haber afrontado grandes proyectos, para bancos por ejemplo, donde se han tenido que tocar tecnologías más complejas.
    El concepto Senior es muy relativo, puede que para ciertos proyectos o empresas seas un senior en toda regla, en cambio, para otro tipo de proyectos y empresas te quedes en mid o incluso junior.
    Personalmente, prefiero utilizar el concepto de Profesional, ser o no ser profesional, porque hay juniors que son profesionales en toda regla aunque les falte experiencia, y hay seniors que distan mucho de ser realmente profesionales.

    Un saludo.

    Responder
  3. Mar

    Madre mia. Me siento totalmente reflejada en esto que dice Jorge Sanchez, llevas años trabajando para una empresa y te crees que sabes mucho y cuando llegas a la realidad (cuando te echan) te das cuenta de que estas a años luz de la actualidad. No se si es relativo o no, en este mundo de la informática creo que no es el apellido que le pongan a tu profesion, es más cuantos lenguajes conoces para desenvolverte en el mundo profesional hoy en dia. Y me viene otra pregunta, ¿te pagan todos los lenguajes que conoces, es decir, si en lugar de especializarte en una cosa aprendes de todo un poco te lo remuneran de verdad o no? Me da la impresion que las empresas tampoco saben lo que buscan

    Responder
    • Jorge Sánchez (xurxodev)

      Hola Mar, por mi experiencia las empresas se mueven mucho por modas sobre todo en el mundo javascript. Yo lo que te recomiendo es tener una buena base de programación, buenas prácticas y conocimientos de arquitectura. Los lenguajes y frameworks son el medio de expresar conceptos por eso para mi lo más importante es conocer los conceptos.

      Responder
  4. mobiledevstories

    Totalmente de acuerdo. Yo también me consideraba senior hasta que tuve problemas con códigos mios de pésima calidad y empecé a reaccionar. Hoy día mi nivel es mucho mayor, y sigo sin tener claro del todo si puedo autodenominarme Senior.

    Responder
  5. Jules

    Como han dicho por aquí, senior es un termino relativo, pero a su vez hay cosas absolutas, me explico:

    Características absolutas de un senior:

    – Aprende siempre que puede y enseña siempre que puede.
    – Sabe diseccionar los problemas y darlos a conocer al equipo.
    – Sabe estructurar los proyectos en tareas simples y por supuesto, escribe código de manera que se entienda y dividido en clases, métodos, funciones que son reusables y de fácil lectura.

    Características relativas:

    – Eres de lo mejor dentro de la empresa. (hay muchos zoquetes/eres un crack/ tu manager te ama o tu mas a tu manager).

    – El mercado en el que te mueves hay pocos como tu.

    – Eres un especialista en un framework o producto de software (SugarCRM, SAP, Dynamics, Oracle, Bash de Linux…etc). Porque uno puede ser un crack programando, pero un especialista en un framework te dará sopas con ondas en cada iteración de desarrollo. Puesto que no es lo mismo hacer una casa con panel sándwich, que piedra a piedra desde cero.

    Responder
  6. Alexander Ferreras

    Hola muy buen detalle me gusto mucho, creo que se podria considerar senior alguien que tenga conocimientos en lenguaje tipiados y los que sumandole al mismo los patrones de diseño y patrones de arquitectura. Ya que sabiendo estas cosas no importando el lenguaje o el framework siempre aplicara buenas práctica.

    Creo que al final los buenos programadores siempre aplican buenas prácticas y esto es considerando los senior.

    Muchas gracias buen aporte me gusto.

    Responder
  7. Dónaghy Amachi

    Interesante artículo, opino que Senior debería basarse en la variedad de tecnologías que ha usado a lo largo de su experiencia laboral y la adaptabilidad que tiene frente a los cambios: cambio de tecnología, cambio en la magnitud del proyecto, cambio en los recursos, entre otros.
    Pues el avance de la tecnología, obliga a actualizarse para aspirar a que te consideren Senior, uno mismo humildemente no debería considerarse Senior, más bien dejar a los demás hacerlo, si lo consideran así.

    Responder
  8. Julian Andres Ortiz Moreno

    Eso es relativo de como se invirtió esos años de experiencia aprender código eso es lo mas fácil que pueda existir lo otro es tener la capacidad de resolver problemas y de decidir en que momento se emplea cierta estrategia o no eso no lo da el curso de un mes donde se aprende a echar unas cuantas líneas de código todo esto se resume en un mar de conocimientos y un milímetro de profundidad

    Responder
  9. Cristian

    El termino es relativo al espacio, si bien en ese espacio que comentas eras un gran desarrollador (con el fin de eliminar el termino senior), esto no indica que en otro espacio sea asi, tal como ocurrio, considero que existen algunos elementos que convierten a un programador en un gran programador, y me siento mas cercano a llamarlo unicornios que senior, entre esos elementos considero (solo por nombrar algunos de los cuales para mi son valiosos):

    Una capacidad de comprender una tecnologia framework o tendencia sean que estas sean nuevas o viejas.

    Vision para saber como mejorar sus herramientas actuales

    Disposición para aportar a cualquier proyecto sin importar tamanio o cliente final (grande o pequenio)

    No esta sujeto a una tecnología de manera exclusiva, aun cuando no sea su favorita o area de experiencia

    Un programador que tenga estos tres elementos se convertira rapidamente en un senior, lo cual creo que todos hemos experimentado, ver como personas recien llegadas crecen muy por encima de algunas que han estado alli por anios.

    Como resumen dire que el titulo senior esta sujeto al espacio, y que hoy se deberian buscar unicornios, pues a mi modo de ver es mas facil ver cualquier unicornio como senior y dificilmente los senior de hoy llegaran a ser unicornios

    Responder

Enviar un comentario

Los datos personales que proporciones a través de este formulario quedarán registrados en un fichero de Antonio Leiva Gordillo, con el fin de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento de la parte interesada. Si no se acepta, no podrás comentar en este blog. Los datos que proporciona solo se utilizan para evitar el correo no deseado y no se usarán para nada más. Puede ejercer los derechos de acceso, rectificación, cancelación y oposición en contacto@devexperto.com.

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Acepto la política de privacidad *