Sin Mac, con dos monitores y un mini PC en el despacho, y un portátil a secas en casa. Windows por fuera y Linux por dentro. Mi setup actual y el principio que lo gobierna todo, mínima fricción para cambiar de proyecto. Bromas sobre el Mac incluidas.
Con los años he cambiado de monitores, de terminal y hasta de forma de guardar los secretos de los proyectos, pero mi principio de trabajo sigue siendo el mismo: mínima fricción para cambiar de proyecto. Trabajo en varios a la vez, y cada minuto que pierdo "preparándome para trabajar" es un minuto que no estoy produciendo.
Este es mi setup actual. No es una recomendación universal, es lo que a mí me funciona después de muchos años de probar cosas.
Empiezo por la confesión que más bromas me ha costado en la comunidad de desarrollo: no uso Mac. Nunca lo he necesitado. Me han enseñado pegatinas de manzana, me han mandado memes, y sigo aquí, tan feliz con mi PC.
Mi razón es práctica: con WSL (el subsistema Linux de Windows) tengo un Linux completo dentro de Windows (el mismo entorno que mis servidores) con hardware que elijo yo, amplío yo y pago a precio de PC. Cuando el entorno de desarrollo es idéntico al de producción, la discusión del sistema operativo del escritorio se vuelve estética. Y en estética no me meto: cada cual con su cacharro.
Durante una época usé un monitor en vertical para leer código: más líneas a la vista, menos scroll. Gustaba más de lo que servía: al final giraba la cabeza más que el monitor.
Hoy mi despacho son dos monitores (un ultrapanorámico curvo para el código y otro al lado para navegador, terminal y logs) movidos por un mini PC Minisforum HX90: una caja del tamaño de un libro que rinde como una torre y no hace ruido.
Y cuando estoy en casa, un portátil a secas, sin pantalla externa ni periféricos. ¿La lección de estos años? La productividad no vive en el cristal ni en el tamaño de la máquina: vive en que el entorno sea el mismo en todas partes. Si mi flujo solo funciona con tres pantallas, mi flujo está roto.
Mi día a día entero pasa por tres piezas:
La terminal es zsh, y ahí llega la parte que de verdad me ahorra tiempo cada día.
Tengo un repositorio interno de documentación y utilidades que se carga en cada terminal que abro.
Un script recorre el repo y carga automáticamente cada archivo .alias que encuentra:
uno por proyecto, uno por herramienta. Resultado: cada proyecto se arranca, se prueba o se despliega
con un comando corto que no tengo que recordar: está escrito una vez, bien, y para siempre.
Ejemplos reales de mi día a día:
pso: un visor de procesos con colores que me dice de un vistazo qué se está comiendo la máquina (Docker, Node, navegadores...).Puede parecer exceso de orden. Es lo contrario: es pereza bien invertida. Cada alias son diez minutos de escribirlo una vez contra treinta segundos perdidos cien veces.
Las pequeñas piezas que, sumadas, marcan más diferencia que cualquier monitor:
Todos mis proyectos llevan linter y formateador configurados en el editor y en la integración continua. No es (solo) por elegancia: es para no gastar ni una neurona en decidir dónde va una coma. El formato lo decide la máquina; las personas discutimos las cosas que importan.
La pieza de la que más orgulloso estoy. Uso Bitwarden como gestor de contraseñas personal, como todo el mundo, pero también como almacén de secretos del pipeline de desarrollo.
Cada proyecto guarda sus variables de entorno (.env) cifradas como adjuntos en Bitwarden.
Tengo un par de comandos propios para subirlas y bajarlas, y el pipeline de despliegue las recupera
solo en el momento de desplegar. Lo que consigo con esto:
Sin Mac, con dos monitores o con ninguno, Windows por fuera y Linux por dentro, alias para no pensar, linters para no discutir y Bitwarden para no filtrar. Nada de esto es lo importante. Lo importante es el principio de fondo: que empezar a trabajar cueste segundos.
Así trabajo en Soft2Help. Y así se construye también el software a medida que entrego: con el mismo cariño por el orden y la misma alergia a la fricción.
Sí. Con WSL, el subsistema Linux de Windows, tienes un Linux completo dentro de Windows, el mismo entorno que los servidores de producción, con hardware que eliges, amplías y pagas a precio de PC. Cuando el entorno de desarrollo es idéntico al de producción, la discusión del sistema operativo del escritorio se vuelve estética.
Con tres piezas: Windows como escritorio (drivers, ofimática, diseño), WSL con Ubuntu como sala de máquinas (Docker, repositorios, zsh, todo lo que se ejecuta) y VS Code con Remote WSL como puente, con el editor en Windows y el código y la terminal en Linux. La frontera entre los dos mundos deja de notarse.
En Bitwarden, y no solo las contraseñas personales: cada proyecto guarda sus variables de entorno cifradas como adjuntos, y el pipeline de despliegue las recupera solo en el momento de desplegar. Resultado: cero secretos en los repositorios, montar una máquina nueva son dos comandos y rotar una clave se hace en un solo sitio.