¿Qué significa ser programador senior? Dependiendo de la empresa, puede significar distintas cosas. Por ejemplo, puede implicar tener ciertos años de experiencia laboral o destreza dominando ciertas tecnologías. Hay empresas que incluso tienen distintos niveles de seniority: semi senior, senior avanzador, senior 1, senior 2, entre otros.
Sin importar la definición de senior que exista en tu empresa, un programador senior tiene un nivel de madurez que lleva a que desarrolle soluciones de mayor calidad a las que tendría un desarrollador principiante. En esta serie en video y texto quise documentar algunos de los conceptos que separan un programador junior de un senior.
¡Espero que sea de utilidad!
Separación de responsabilidades
Nunca olvides la famosa frase: “divide y vencerás”. Ya sea que afrontes el diseño de un nuevo sistema, o el desarrollo de una funcionalidad específica, separar en partes más pequeñas el esfuerzo siempre será una buena idea.
Idealmente, cuando separes, cada parte debería tener una responsabilidad muy clara y definida.
Cohesión
¿Qué tan relacionadas están las funcionalidades de un componente o módulo? Esa es la pregunta que te ayuda responder la cohesión.
En este capítulo de la serie, te explico porque es buena la alta cohesión, y los distintos tipos de cohesión que existen.

Principio KISS
La simplicidad es de esas cualidades que podemos evaluar fácilmente en las aplicaciones de otros, pero nos cuesta ver muchísimo en las nuestras.
En este capítulo te doy algunas ideas para que apliques el principios KISS en tu código.

Principio YAGNI
En inglés existe un término muy interesante: busy work. Es cuando te pones a hacer trabajo que te mantiene ocupado, pero realmente no es importante ni relevante en el momento.
El principio YAGNI plantea unas ideas bien interesantes para evitar el busy work.
Acoplamiento
Varios de los problemas de la mantenibilidad en el software vienen de dependencias mal definidas entre componentes. De aquí viene la importancia del acoplamiento.
En este capítulo hablamos de los distintos tipos de acoplamientos y por qué es necesario reducirlo lo más que se pueda.
Principio de menor conocimiento
Entre menos sepas, mejor. En términos muy simples, de eso trata el principio de menor conocimiento o Ley de Deméter.
En este capítulo mencionamos estrategias concretas que plantea el principio para lograr un bajo acoplamiento y una buena encapsulación en nuestras clases.
Principios SOLID
El tío Bob tomó 5 ideas para diseñar módulos y componentes, y las agrupó bajo la sigla SOLID. Solo aplicar estos principios va a mejorar radicalmente la forma en que programas.
El video está orientado a mostrar situaciones donde se aplican cada uno de los principios. Para una explicación más detallada, te invito a que te unas a mi mini curso gratuito de principios de diseño.