Transcripción automática con Whisper. Puede tener errores, sobre todo en nombres propios y términos técnicos.
Capítulos
= cuánto merece la pena el capítulo si solo quieres las ideas (de 0 a 3 compases). Haz clic en una tarjeta para saltar.
Resumen
German Del Zotto cierra la tarde de Pamplona Software Crafters 2018 con una charla sobre el espacio entre dos extremos, «solo soy programador, no necesito saber nada más» y «soy el arquitecto, no necesito programar». Trabaja en el equipo de ingeniería de Jobandtalent, una empresa que solo existe porque hay software debajo 1:03.
Empieza por las entrevistas. Preguntar cómo se implementa un Bloom filter arma un ejército de hackers, y en una empresa normal el software es bastante sencillo: formularios, datos que se cruzan, informes 1:40. Para eso quiere equipos pequeños de gente que sepa programar y que además sepa explicar lo que hace y pedir ayuda. Ahí aparece el generalizing specialist de Scott Ambler, que sabe un poco de todo y domina al menos una disciplina 4:47. Con especialistas puros que no se tocan hace falta alguien más que los coordine, se pierde información y todo queda esperando al DevOps o al de calidad 6:20.
El centro de la charla es la tensión entre problemas y soluciones. Las soluciones se eligen, los problemas te los encuentras porque vienen del contexto, y el mundo real es aburridísimo 9:09. Forzar el problema hacia la solución favorita termina en React con Redux para un formulario de login. A la pregunta de cuál es la mejor arquitectura de 2018 contesta que no lo sabe hasta ver tu problema 10:44.
Después repasa trampas. Competir por el 98 % de cobertura mientras la empresa va mal 12:41. El «eso no me lo han pedido», que estrecha el problema hasta que la solución parece elegante 13:46. La comodidad del programador que deja un sistema imposible de llevar a un idioma que se escribe de derecha a izquierda 15:19. Microservicios que inventan problemas de deploy y de testing integrado, pura complejidad accidental 17:42.
«El software se está comiendo el mundo, pero empezó por los postres» 19:35. Los casos que se cuentan en Medium (Twitter y la ballena, vender un único producto, empezar de cero sin datos históricos) rara vez se pueden replicar. Madurar duele, y llegan la GDPR, las auditorías, los registros de ventas de hace cinco años o la auditoría para entrar en el IBEX 35 22:29. No reinventar la rueda está bien hasta que la rueda es de madera y hay que facturar en 14 países 25:20. Algunas optimizaciones son dañinas, como exponer el esquema de Postgres directamente con GraphQL, asumir que todo pago cabe en una transacción o llamar MVP a un producto incompleto 27:48.
La diversión en el trabajo hace falta para atraer gente, pero sin entregar valor el equipo se convierte en un circo que reimplementa todo en React, luego en Vue y luego en Angular 29:57. Si siempre estás muy ocupado, probablemente la arquitectura no encaja con el tipo de problema de tu empresa 31:19. Cierra con tres sesgos que separan a programadores y arquitectos: explicar a un nivel que el otro no entiende, creer que lo tuyo es lo mejor y quedarte con la única solución que viste funcionar 34:01.
En las preguntas, alguien defiende reinventar la rueda para entender la caja negra. German contesta que meter una librería que no entiendes es irresponsable, porque no conoces sus límites 39:02. Otro asistente cuestiona su crítica al MVP y él responde que un MVP no tiene por qué ser cutre. Cuando la hipótesis se confirma hay que hacerlo mantenible, y un IVA guardado como constante en el código cambia de golpe todas las facturas 42:19. El último comentario lo resume como conocer dos cuadras por delante y saber qué harás si el producto va bien demasiado rápido 47:49.