Qué deberías saber como Senior Developer

Publicado el 12 de mayo de 2023, por Borja Pérez

Qué esperan las empresas de un/a senior dev. Cortita y al pie: autonomía y mentorización. Además...

  • Proactividad
  • Participación todo el ciclo de vida del desarrollo del software (CVDS)
  • Especialización, pero ayuda general
  • Qué deberías aprender: arquitectura, formación, infra
  • Career path: posiciones de management vs. IC

Sin duda, no hay una definición estandarizada de qué características hacen a alguien senior. Nosotros no somos muy fans de que los años de experiencia midan la seniority. Por supuesto, los años ayudan porque las experiencias enseñan, pero no lo son todo. En artículos anteriores ya hemos visto qué esperan las empresas de una persona junior y de alguien mid. Vamos a desgranar ahora qué buscan las compañías en un/a senior.

Qué es ser senior

Aquí entramos en terreno pantanoso. Normalmente, nos encontramos con que uno de los requisitos principales para posiciones senior sea tener una cantidad determinada de años de experiencia. Varía entre 5-7, depende de la compañía. Pero, ¿soy senior ya si he trabajado más de cinco o siete años?

La respuesta es no. No tienes por qué tener las habilidades que se presuponen a alguien senior, lleves cinco, diez o veinte años en el sector. Porque, aunque las empresas suelan pedir años de experiencia, lo que realmente buscan son experiencias en los años. Experiencias buenas, que te hayan hecho avanzar y mejorar; y malas, que te hayan curtido en batalla. 

¿Por qué se suelen pedir entonces unos años de experiencia mínimos?

A nosotros no nos gusta mucho esta fórmula, pero, bien es cierto que está muy asentada en el sector y nos sirve a todos para entendernos. 

Se suelen pedir una cantidad mínima de años de experiencia por una sencilla razón: es prácticamente imposible (o muy muy difícil), adquirir los conocimientos y las habilidades necesarias para considerarte senior en menos años. El sector del software es tan complejo y gigante, que incluso los seniors necesitan seguir formándose y apoyarse en otros compañeros. 
Además, trabajar en una compañía te dota de una serie de experiencias transversales que no tienen que ver intrínsecamente con el software, pero que son extremadamente importantes para tu madurez profesional y personal: trabajar en equipo, gestionar la frustración, encajar bien un mal feedback, comunicarte de manera asertiva o aprender a priorizar son solo algunas de ellas. 

Pero, ¿qué piden las empresas de alguien senior?

  • Como senior, se te presuponen una serie de conocimientos técnicos adquiridos. Te habrás enfrentado a varios tipos de producto en tu carrera y dominarás varios lenguajes y herramientas. 
  • Habrás construido muchos servicios y procesos y tendrás un conocimiento general de todo el ciclo de vida de desarrollo de software. 

Así que con todo esto asumido, tendrás la preparación necesaria para afrontar retos técnicos donde puedas aportar todo ese conocimiento. 

Lo primero que buscan las compañías en alguien senior es autonomía: eres alguien con el conocimiento técnico necesario para tomar requisitos técnicos y funcionales y aterrizar eso en un desarrollo. Pero, y aquí está la gran diferencia, puedes aportar a la compañía en otras áreas como la arquitectura o la mentorización

Esta segunda parte es muy importante y está directamente relacionada con la capacidad de comunicación. Tienes unos conocimientos extensos, y puedes ayudar a otros juniors a andar más rápido en el equipo.

Otro de los puntos más importantes que se buscan es la proactividad. Te habrás enfrentado a multitud de problemas en tu carrera que has tenido que solucionar: a veces con tiempo y otras pidiendo ayuda. Pero, esa experiencia que te dan los años, te servirá para proponer soluciones ahora que eres senior. Y por último, tendrás una perspectiva general de todo el CVDS y esto te permitirá aportar en diferentes áreas. Habrás tomado requisitos funcionales, habrás hecho mantenimientos y puesto en producción nuevas funcionalidades, te habrás peleado con las caídas de infraestructura en momentos críticos, habrás hecho tests de todo tipo, habrás liderado o gestionado proyectos y/o equipos y con suerte, habrás creado infraestructura cloud o pipelines de CI. Y, por supuesto, habrás refactorizado cientos de líneas de código y participado en alguna que otra migración. 


Como ves, todo esto no se puede conseguir de la noche a la mañana y es complicado acelerarlo. Pero combinado con un buen kit de soft skills tendrás todo lo necesario para que se te considere todo un maestro/a Jedi. 

Qué deberías saber para ser senior

A nivel técnico, hay algunos puntos clave que suelen pedir las compañías para las posiciones más top. Muchas de ellas, las habrás puesto en práctica ya durante tu carrera, pero en este punto, deberás dominar algunas. 

  • Arquitectura: seguro que te has enfrentado a algún refactor complejo, un producto desde cero o una migración de las grandes. Y, también, es bastante probable que hayas tenido que definir el diseño de la estructura y las diferentes conexiones entre componentes del software. No tienes por qué tener experiencia en todos los modelos de arquitectura, pero seguro que has trabajado con los más básicos. Con todo esto, podrás justificar y argumentar qué modelo es el mejor para cada aplicación. 
  • Infraestructura: la infraestructura de despliegue de software ha cambiado mucho durante los últimos años. La irrupción de la cloud pública ha cambiado bastante el paradigma y muchas empresas han migrado de servidores onpremise a la nube. La nube tiene una suite de herramientas muy extensas que lleva tiempo dominar, algunas de ellas complejas. Y, por otro lado, están los costes que supone mantener esa infraestructura; optimizar la infra siempre será una tarea a hacer en vuestro backlog, y es bastante posible que no te tengas que encargar tú, porque en tu equipo habrá SRA y SysAdmins que lo hagan. Pero un conocimiento general lo necesitarás para construir buenas arquitecturas. 

Otras habilidades no tan técnicas, sino más humanas, también se esperarán de ti:

  • Mentorización: como senior, es bastante probable que lideres un pequeño equipo o squad, o que des formaciones de manera regular a compañeros con menos experiencia. Mentorizar a juniors en buenas prácticas será uno de tus objetivos. Ten en cuenta que aquí entran en juego las famosas soft skills: la paciencia, la comunicación, la motivación o explicar de manera sencilla conceptos complejos, serán tus grandes aliadas. No dudes en formarte si es algo que te cuesta. Así ayudas a escalar la compañía y esto tiene un impacto directo en el negocio. Sin duda, ¡es una de las habilidades gamechangers!

Career path - Qué y cómo mejorar en el futuro

Una vez has llegado a este punto, es posible que te preguntes, ¿y ahora, cómo crezco? Pues me alegra que me hagas esa pregunta, pequeño padawan. Porque aquí es cuando el camino tiende a bifurcarse. 

Hay dos pathings muy claros dentro del sector: 

  1. El pathing técnico: seguir contribuyendo a las soluciones técnicas, ya sea desarrollando o liderando y mentorizando. 
  2. El pathing de la gestión: en todas las compañías hacen falta personas que tomen las decisiones y que arropen al equipo bajo su paraguas. Están más focalizadas en la estrategia que en la ejecución. 

En el pathing técnico entrarían los roles de individual contributor (contribuidor individual o IC), que son aquellos que se mantienen pegados al código de una u otra forma y de los que no dependen otras personas: 

  • Tech lead, arquitecto/a, staff engineer o principal engineer son algunas de las posiciones más comunes

En el pathing de gestión meteríamos aquellos roles de liderazgo estratégico o humano, que suelen estar más alejados del código, pero normalmente, han sido técnicas o técnicos en un pasado no muy lejano. De ellos dependen otras personas: 

  • Team lead, Engineering Manager, Project Manager, Technical Product Manager, Head of Engineering, VP de ingeniería o CTO

Roles hay muchos y en cada empresa las responsabilidades sobre ellos varían. Lo importante es que te quedes con una idea: nada es irreversible. Es muy probable que pruebes el pathing de la gestión y no te termine de gustar, porque está más alejado del código. Piensa que siempre podrás volver atrás. No todo el mundo ha desarrollado las habilidades para gestionar personas: seguro que conoces developers increíbles a quienes les cuesta ser managers, y maravillosos/as managers que no eran tan buenos desarrollando. 

No te frustres con el crecimiento, es algo que llega de manera orgánica la mayoría de las veces. Ten tus momentos de análisis e introspección, y toma las decisiones sabiendo que siempre podrás volver atrás. 

Si quieres más información sobre el pathing del Individual Contributor, nuestro gran amigo Sven Peters hizo un gran post acerca de ello, la Guía del individual contributor, que puedes encontrar aquí: roles, responsabilidades y qué papel juegan dentro de las organizaciones. 

Y por último, seguro que tienes muchas dudas de hacia dónde avanzar en tu desarrollo profesional. No hay una respuesta correcta. Pero si podemos ayudarte en algún momento, escríbenos y nos tomamos un café. Hemos ayudado a muchas personas a tomar este tipo de decisiones y no hay una fórmula mágica. Pero, sí que te expondremos ventajas e inconvenientes de cada posición y te seremos sinceros con respecto a tu perfil :). See you soon!

Publicado el 12 de mayo de 2023, por Borja Pérez
¡Súbeme!