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

The Senior Software Engineer - FSL

The Senior Software Engineer - FSL

Fernando Perales

October 26, 2019
Tweet

More Decks by Fernando Perales

Other Decks in Programming

Transcript

  1. @FerPeralesM
    #FSL2019
    The Senior Software Engineer
    Fernando Perales

    View Slide

  2. @FerPeralesM
    #FSL2019

    View Slide

  3. @FerPeralesM
    #FSL2019
    Ingeniero de Software @ michelada.io
    Egresado Ing. En Computación @ B. UdeG
    Promotor @ FLOSS
    Doom Metal Lover
    Anfitrión @ traguitos de michelada meetup
    Co-organizador @ RailsBridge Mexico

    View Slide

  4. @FerPeralesM
    #FSL2019

    View Slide

  5. @FerPeralesM
    #FSL2019
    Antes de comenzar

    View Slide

  6. @FerPeralesM
    #FSL2019

    View Slide

  7. @FerPeralesM
    #FSL2019
    ¿Qué de un ingeniero de
    software senior?

    View Slide

  8. @FerPeralesM
    #FSL2019
    Problema de clasificación

    View Slide

  9. @FerPeralesM
    #FSL2019
    Años de experiencia

    View Slide

  10. @FerPeralesM
    #FSL2019
    Certificaciones

    View Slide

  11. @FerPeralesM
    #FSL2019
    Cantidad de lenguajes de
    programación utilizados

    View Slide

  12. @FerPeralesM
    #FSL2019
    Usar las nuevas tecnologías

    View Slide

  13. @FerPeralesM
    #FSL2019
    Memorizar las APIs de tu
    lenguaje favorito

    View Slide

  14. @FerPeralesM
    #FSL2019
    Matriz de competencia del
    programador

    View Slide

  15. @FerPeralesM
    #FSL2019

    View Slide

  16. @FerPeralesM
    #FSL2019

    View Slide

  17. @FerPeralesM
    #FSL2019

    View Slide

  18. @FerPeralesM
    #FSL2019

    View Slide

  19. @FerPeralesM
    #FSL2019

    View Slide

  20. @FerPeralesM
    #FSL2019

    View Slide

  21. @FerPeralesM
    #FSL2019

    View Slide

  22. @FerPeralesM
    #FSL2019

    View Slide

  23. @FerPeralesM
    #FSL2019

    View Slide

  24. @FerPeralesM
    #FSL2019
    TL;DR

    View Slide

  25. @FerPeralesM
    #FSL2019
    Un ingeniero de software senior es
    aquel que participa de manera efectiva
    en el ciclo completo del desarrollo de
    software

    View Slide

  26. @FerPeralesM
    #FSL2019
    ¿Cómo ser un ingeniero de
    software senior?

    View Slide

  27. @FerPeralesM
    #FSL2019
    Corrección de errores de
    manera efectiva

    View Slide

  28. @FerPeralesM
    #FSL2019
    Corrección rápida vs
    corrección a largo plazo

    View Slide

  29. @FerPeralesM
    #FSL2019
    Tiene una buena noción del origen
    de los bugs

    View Slide

  30. @FerPeralesM
    #FSL2019
    Toma medidas para que el bug no
    vuelva a pasar

    View Slide

  31. @FerPeralesM
    #FSL2019
    Toma medidas para que el bug no
    vuelva a pasar

    View Slide

  32. @FerPeralesM
    #FSL2019
    Kate Thompson

    View Slide

  33. @FerPeralesM
    #FSL2019
    How to debug anything - James Golick

    View Slide

  34. @FerPeralesM
    #FSL2019
    Desarrollo de funcionalidad

    View Slide

  35. @FerPeralesM
    #FSL2019
    Sabe traducir el lenguaje del
    negocio a requerimientos

    View Slide

  36. @FerPeralesM
    #FSL2019
    No deja lugar a ambigüedad

    View Slide

  37. @FerPeralesM
    #FSL2019
    Tiene entendimiento de todo el
    sistema

    View Slide

  38. @FerPeralesM
    #FSL2019
    Analiza y cuestiona la viabilidad de
    las funcionalidades requeridas

    View Slide

  39. @FerPeralesM
    #FSL2019
    Analiza y cuestiona la viabilidad de
    las funcionalidades requeridas

    View Slide

  40. @FerPeralesM
    #FSL2019
    Edmond Lau

    View Slide

  41. @FerPeralesM
    #FSL2019
    Michale Lopp

    View Slide

  42. @FerPeralesM
    #FSL2019
    Dave Copeland

    View Slide

  43. @FerPeralesM
    #FSL2019
    Gojko Adzic

    View Slide

  44. @FerPeralesM
    #FSL2019
    Lidiar con deuda técnica

    View Slide

  45. @FerPeralesM
    #FSL2019
    // TODO

    View Slide

  46. @FerPeralesM
    #FSL2019
    Analiza y determina cuándo es el
    mejor momento para
    adquirir deuda técnica

    View Slide

  47. @FerPeralesM
    #FSL2019
    Analiza y determina cuándo es el
    mejor momento para
    pagar deuda técnica

    View Slide

  48. @FerPeralesM
    #FSL2019
    Procura mejorar la calidad
    del código

    View Slide

  49. @FerPeralesM
    #FSL2019
    Prepara el sistema para las
    funcionalidades a futuro

    View Slide

  50. @FerPeralesM
    #FSL2019
    Prepara el sistema para las
    funcionalidades a futuro

    View Slide

  51. @FerPeralesM
    #FSL2019
    Martin Fowler

    View Slide

  52. @FerPeralesM
    #FSL2019
    Freeman & Freeman

    View Slide

  53. @FerPeralesM
    #FSL2019
    Gamma, Helm, Johnson & Vlissides

    View Slide

  54. @FerPeralesM
    #FSL2019
    Toma de decisiones ténicas

    View Slide

  55. @FerPeralesM
    #FSL2019
    Conoce sus herramientas a detalle

    View Slide

  56. @FerPeralesM
    #FSL2019
    Conoce las alternativas a las
    herramientas que domina

    View Slide

  57. @FerPeralesM
    #FSL2019
    Va un paso adelante del equipo

    View Slide

  58. @FerPeralesM
    #FSL2019
    Va un paso adelante del equipo

    View Slide

  59. @FerPeralesM
    #FSL2019
    McLaughling, Police & West

    View Slide

  60. @FerPeralesM
    #FSL2019
    Creación de nuevas
    aplicaciones

    View Slide

  61. @FerPeralesM
    #FSL2019
    Analiza el problema a resolver y
    selecciona las mejores
    herramientas para el trabajo

    View Slide

  62. @FerPeralesM
    #FSL2019
    Puede crear un sistema mínimo
    para producción / pruebas

    View Slide

  63. @FerPeralesM
    #FSL2019
    Puede crear un sistema mínimo
    para producción / pruebas

    View Slide

  64. @FerPeralesM
    #FSL2019
    Robert C. Martin

    View Slide

  65. @FerPeralesM
    #FSL2019
    Steve McConnell

    View Slide

  66. @FerPeralesM
    #FSL2019
    Soft Skills

    View Slide

  67. @FerPeralesM
    #FSL2019
    Sabe comunicar de manera
    efectiva

    View Slide

  68. @FerPeralesM
    #FSL2019
    Participa en la elección de sus
    compañeros de equipo

    View Slide

  69. @FerPeralesM
    #FSL2019
    De retroalimentación objetiva

    View Slide

  70. @FerPeralesM
    #FSL2019
    Colabora con otras partes del
    negocio

    View Slide

  71. @FerPeralesM
    #FSL2019
    Trabajo en equipo

    View Slide

  72. @FerPeralesM
    #FSL2019
    Es un líder

    View Slide

  73. @FerPeralesM
    #FSL2019
    Es un multiplicador

    View Slide

  74. @FerPeralesM
    #FSL2019
    Mentorea a su equipo

    View Slide

  75. @FerPeralesM
    #FSL2019
    Comparte su conocimiento

    View Slide

  76. @FerPeralesM
    #FSL2019
    Sabe que el éxito del equipo es
    más primordial que el éxito
    individual

    View Slide

  77. @FerPeralesM
    #FSL2019
    DeMarco & Lister

    View Slide

  78. @FerPeralesM
    #FSL2019
    Fitzpatrick & Collins-Sussman

    View Slide

  79. @FerPeralesM
    #FSL2019
    Gerald M. Weinberg

    View Slide

  80. @FerPeralesM
    #FSL2019
    Frederick Brooks

    View Slide

  81. @FerPeralesM
    #FSL2019
    Preocuparse por el gran
    escenario

    View Slide

  82. @FerPeralesM
    #FSL2019
    Seguridad de la aplicación /
    información

    View Slide

  83. @FerPeralesM
    #FSL2019
    Legislaciones locales
    (ej. Manejo de información
    confidencial)

    View Slide

  84. @FerPeralesM
    #FSL2019
    Copyright / Licenciamiento

    View Slide

  85. @FerPeralesM
    #FSL2019
    Escalabilidad de la aplicación

    View Slide

  86. @FerPeralesM
    #FSL2019
    Monitoreo

    View Slide

  87. @FerPeralesM
    #FSL2019
    Situaciones éticas / morales

    View Slide

  88. @FerPeralesM
    #FSL2019
    Entregar resultados

    View Slide

  89. @FerPeralesM
    #FSL2019

    View Slide

  90. @FerPeralesM
    #FSL2019
    ¿Por qué queremos ser un
    ingeniero de software senior?

    View Slide

  91. @FerPeralesM
    #FSL2019
    • Corregir bugs de manera
    efectiva
    • Desarrollo de
    funcionalidad
    • Lidiar con deuda técnica
    • Toma de decisiones
    • Creación de nuevas
    aplicaciones
    • Soft Skills
    • Trabajo en equipo
    • Es un líder
    • Preocuparse por el gran
    escenario

    View Slide

  92. @FerPeralesM
    #FSL2019
    La creación de código no es el objetivo de
    los ingenieros de software, sino el medio
    para alcanzar la resolución de problemas

    View Slide

  93. @FerPeralesM
    #FSL2019
    Un ingeniero de software senior es aquel
    que participa de manera efectiva en el
    ciclo completo de desarrollo de software

    View Slide

  94. @FerPeralesM
    #FSL2019
    ¿Preguntas?

    View Slide

  95. @FerPeralesM
    #FSL2019
    ¡Gracias!
    [email protected]

    View Slide