Los 7 pecados capitales del mundo Tech - parte I
Roban tu energía, frenan tu crecimiento y te dejan en evidencia.
Cuando me imaginaba cómo sería trabajar, siempre pensaba que cada día sería una aventura y que tendría compañeros increíbles.
La realidad es que el mundo laboral (y la vida en general) es la típica campana de Gauss con gente normal, alguna gente muy top y otros pocos asquerosos.
Por desgracia, la gente cerda es la que hace más ruido y deja peores experiencias que el resto. Y hoy quiero hablar de algunos clichés y tópicos tan reales como ese bug en producción que tendrás esta tarde.
Soy Jorge Castaño y te comparto estrategias para mejorar tu carrera tech.
Hoy me pregunto:
¿Y si los programadores fueran pecados capitales?
Los commits de esta edición:
feat: villanos normales y de categoría
chore: impro @ pantomima full
fix: robots con sentido + nucleares
refactor: viaje antes que destino
¡Dale! (Zelda, dale)
La fauna más chunga del mundillo
Se habla mucho de los éxitos, de cómo salvaron millones, de cómo se sobrepusieron a la quiebra por tercera vez, de cómo un liderazgo astuto solucionó problemas gordos.
Pero se habla poco de lo malo.
La gente más caspa que te puedes cruzar en tu trabajo. Gente aburrida, egoísta, superficial y elitista que te harán la vida imposible.
Actitudes tan reconocibles que seguro piensas en antiguos compañeros de oficina. Espero que antiguos y no los actuales.
Los pecados capitales del mundo del software
Soberbia
Criatura que piensa que su código no necesita PR. Rechaza bibliotecas externas, puede desarrollarlo todo con sus propias manos. Rechaza ayuda, consejos y leer documentación. ¿Por qué perder 5 minutos leyendo si puedes perder 3 días haciéndolo tú?
Su código es arte. Si no entiendes una línea, no deberías trabajar en su equipo. Si no usaste jQuery, eres escoria. Les he oído decir "El Front es más complicado que el Back".
Los reconocerás porque se autodenominan Artesanos del Software.
¿Cómo combatirlo?
Tirar siempre de autoridad, dejarles claro que ellos no están por encima del resto.
Revisiones de código obligatorias y hasta que no se entienda cada línea, no se sube.
El código mantenible es preferible a depender de una persona para tocar cualquier mierda mínima.
Avaricia
Silo de conocimiento. Única fuente de sistemas legados y proyectos legendarios. Se hacen tan indispensables dentro de la compañía, que no pueden apagar el móvil en vacaciones. No porque se les necesite para asuntos importantes, sino porque es la única persona que sabe por qué X solo funciona con Y.
No ha compartido información en los 22 años que lleva en la empresa ni conoce la palabra "documentación". No lo verás hablando con un júnior. Ha echado tantas raíces que ya es parte del inventario en las mudanzas.
Huele a cerrado, a tumba abandonada, a Analista programador.
¿Cómo combatirlo?
Documentación obligatoria con IA o como sea. Que quede registrado el funcionamiento técnico o de negocio y las decisiones tomadas. Se puede camuflar con presentaciones a otros equipos.
Operación flautista: se le asignan juniors y se le va cambiando de proyecto o de rol.
Vacaciones forzadas, para que el equipo y la empresa aprenda a vivir sin este Deshecho.
Lujuria
Sobreingeniería. Abstracción. Patrones de diseño. El código le da placer. Controla el estado por query params en vez de guardar en memoria. Ni KISS (Keep It Simple Stupid) ni DRY (Don’t Repeat Yourself) ni SOLID ni POLLAS.
Pega código boilerplate de proyectos pasados "por si acaso", mete microservicios en cualquier landing page y monta un Agente de IA para poner el año actual en el footer.
Los verás en Linkedin como SaaS Solopreneurs.
¿Cómo combatirlo?
Aplicar de manera forzada el principio YAGNI (You Aren’t Gonna Need It) y si aparece código que no se usa, se borra. Si es código legado, tal vez necesites a Avaricia para este refactor.
Definir requisitos, objetivos y pensar soluciones en equipo. Si es una landing, nada de filigranas.
Menos cosas molonas y más código simple.
Ira
Violento por naturaleza, siempre tiene razón. Grita, interrumpe, se impacienta y te deja en ridículo delante de toda la empresa. ¿Justificas tus actos? Te grita más alto. Más gritos que El Chiringuito.
Debería hacer un cursito de control de emociones (y de infusiones). Plaza de garaje, chalequito de plumas y orgulloso de ser parte de la empresa. No le has visto nunca en vaqueros.
Consultor sénior de segundo año.
¿Cómo combatirlo?
Tira de autoridad. Este tipo de liderazgo autocrático se combate con alguien por encima. Sin gritos.
No te enfrentes a estos monstruos. Comparte cómo te sientes con superiores o con Recursos Humanos para que les den cursos de callarse la puta boca, de ser buen compañero o los larguen.
Opción arriesgada, pero le vendría bien saber lo que otros piensan de su actitud. Feedback respetuoso, pero asertivo.
Si nada funciona, cambia de proyecto, de empresa o de ciudad.
😵💫
Uf, demasiada caña por hoy. Me explota la cabeza de tantos recuerdos tan sanos.
La semana que viene el resto de pecados.
¿A cuántas de estas bestias has conocido?
🪳 Otra semana sobreviviendo al Software
Poca cosa esta semana, lo único reseñable este cameo que hago en el Pantomima Full que acaba de salir. Me parto, estoy emocionado.
La impro (y la comedia) ha sido parte de mi vida desde hace tiempo 😍
📰 Noticias (por si no te has enterado)
$() → Eventazo por los 20 años de jQuery - ¿Recuerdas el desarrollo web antes de poder usar el $? Yo solo en la universidad. En mi primer curro ya usábamos jQuery. Y, por desgracia, jQuery Mobile…
🐍 Después de 856 'mordeduras de serpiente', la sangre humana podría desbloquear un antiveneno universal - Tim Friede, autodidacta (y loco), se ha inyectado voluntariamente veneno de serpiente 856 veces a lo largo de 18 años. Contra todo pronóstico, su afición ha llevado a los científicos a crear el antiveneno para serpientes más eficaz del mundo.
🦾 Amazon afirma que su nuevo robot de almacén puede "sentir" los artículos, pero no reemplazará a los trabajadores - Ok, tener “sentidos” no es suficiente para reemplazarnos. Cuando tengan sentimientos ya hablaremos.
🧪 Google acuerda financiar el desarrollo de tres nuevas plantas nucleares - Destinará capital para desarrollar los proyectos y tendrá la opción de comprar la energía una vez que los emplazamientos estén en funcionamiento.
👨🏻🏫 Practica un poco, bro / sis / sib(ling)
Por último, te dejo un ejercicio rápido para que practiques un poco. Si lo resuelves a mano, con papel y boli, mejor. (Tienes los beneficios aquí)
Asume los datos que consideres.
/**
Crea una clase para controlar una máquina expendedora de billetes de tren:
- Muestra posibles destinos para seleccionar.
- Muestra el precio del billete según la distancia.
- Gestiona el pago y emite el billete solo si se recibe el importe exacto.
*/
class TicketMachine {
constructor() { }
showDestinations() { }
insertMoney(amount) { }
printTicket() { }
cancelTransaction() { /* Devuelve el dinero */ }
}
/**
Un punto extra:
- ¿Cómo habría que gestionar un control de cambio para que el usuario pueda meter más dinero del exacto?
*/
Y eso es todo.
Una semana más sobreviviendo al Software 💻 💻 💻 💻 💻 💻
Chao, pescao 🐠
* La promesa puede no ser cierta.