Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Smooth programming – T3chFest 2014

raul
February 06, 2014

Smooth programming – T3chFest 2014

(Spanish) talk at T3chFest 2014 where I spoke about a few principles and techniques that I find useful in order to keep down my levels of stress during my professional life as a developer.

raul

February 06, 2014
Tweet

More Decks by raul

Other Decks in Programming

Transcript

  1. Raúl Murciano Smooth Programming Except Heroku and the Heroku logo,

    this content is licensed under: http://creativecommons.org/licenses/by-nc-sa/3.0/ c_b_n_a Leganés! 6-7 Febrero 2013!
  2. Clients navegador, móvil, escritorio, consola… SaaS interfaz web, API, procesos

    background… IaaS sist. operativo, redes, hardware… la pila tecnológica de la nube
  3. navegador, móvil, escritorio, consola… interfaz web, API, procesos background… IaaS

    sist. operativo, redes, hardware… PaaS olvídate de la infraestructura Clients SaaS la pila tecnológica de la nube
  4. ! - el software es frágil - PaaS: montones de

    usuarios ! …seguro que he elegido el trabajo adecuado? !
  5. sistema de control de versiones + registro de pases a

    producción cambios trazables en código
  6. único scope en cada commit (requiere disciplina) ! múltiples cambios

    pequeños, mejor que uno muy grande cambios mínimos en código
  7. cada cambio que aún no has compartido con tu equipo

    aumenta tu ansiedad cada cambio que aún no has pasado a producción aumenta tu ansiedad
  8. cada cambio que aún no has compartido con tu equipo

    aumenta tu ansiedad cada cambio que aún no has pasado a producción aumenta tu ansiedad monitoriza tu aplicación y pasa tus cambios a producción tan a menudo como puedas
  9. automatiza ! si tienes que teclear más de una línea

    para hacer un típico pase a producción, tienes un problema
  10. git revert, git reset! ! ¿y en los pases a

    producción?! cambios reversibles en código
  11. automatiza ! si tienes que teclear más de una línea

    para hacer un típico pase a producción, tienes un problema ! si tienes que teclear más de una línea para deshacer un típico pase a producción, tienes un problemón
  12. el roadmap ideal del programador tranquilo cambios mínimos en software

    tiempo tamaño de los cambios pasados a producción
  13. el roadmap ideal del equipo de marketing cambios mínimos en

    código tiempo tamaño de los cambios pasados a producción
  14. “feature flags” ! tú tu equipo tu empresa usuarios beta

    % de usuarios todos los usuarios despliegue gradual (“gradual rollout”)
  15. escribe tests para tu código, cuanto antes mejor! ! ventajas:!

    detecta errores, ahora y en el futuro! mejora el diseño de tu código! ! desventajas:! pereza! parece que consume más tiempo! ! cambios testeables en código
  16. reversibles y testeables! backups, esclavos sólo lectura! ! heroku postgres:!

    heroku pgbackups! followers! forks cambios en datos
  17. testeables! paridad desarrollo / staging / producción! ventaja añadida: pipeline

    para pases a producción! ! heroku fork! git push X cambios en entorno de ejecución