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

The Developer Journey Codemotion 2016

The Developer Journey Codemotion 2016

In our daily lives as a developers, testers, release engineers, or other disciplines, we are always pursuing to create the best code as possible but always responding to our customers without taking into account the quality of the code we are delivering. Creating good software is not possible without previous practice, learning from your co-workers, multidisciplinary teams, teaching to apprentices and having motivation to improve yourself as a professional.

Are you ready to start this journey? Join us!

Pablo Guardiola

November 19, 2016
Tweet

More Decks by Pablo Guardiola

Other Decks in Programming

Transcript

  1. www.twitter.com/JorgeCastilloPr
    www.github.com/JorgeCastilloPrz
    [email protected]
    The Developer Journey
    Jorge Castillo Pablo Guardiola
    www.twitter.com/guardiola31337
    www.github.com/Guardiola31337
    [email protected]

    View Slide

  2. 1
    Before the
    Code

    View Slide

  3. Meetings

    View Slide

  4. Efficiency
    ● Prepare the meeting
    ● Action points
    ● Number of people involved

    View Slide

  5. Product
    definition

    View Slide

  6. Feedback
    ● MVP & Iterations
    ● Product transparency

    View Slide


  7. Work with a user to think
    like a user

    View Slide

  8. PM education
    ● Estimations will be required
    ● User Story definition

    View Slide

  9. Estimation
    ● Avoid hot estimations
    ● It’s your responsibility to work on them
    ● Estimations are not deadlines

    View Slide

  10. Define contracts
    ● Discuss with involved people
    ● Coordination importance

    View Slide

  11. 2
    During the
    Code

    View Slide

  12. Professionalism

    View Slide

  13. Accountability

    View Slide

  14. Communication
    ● Efficient on dailies
    ● Centralize and persist information
    ● Be polite

    View Slide

  15. Code

    View Slide

  16. Don’t fear change
    ● Boy scouting
    ● Proactiveness

    View Slide

  17. Balance
    ● Perfect software doesn’t exist
    ● Working software is not enough

    View Slide

  18. Ownership
    ● Learn to criticize and to be criticized
    ● Collective mindset

    View Slide

  19. Tooling
    ● Master (IDE, Shell, shortcuts…)
    ● Create (libraries, scripts…)
    ● Automatize

    View Slide

  20. Testing

    View Slide

  21. ● Be clever
    ● Design testable code
    ● Test state instead of behavior

    View Slide

  22. Feel safe
    ● Find bugs once
    ● Test harness for refactoring
    ● Immediate feedback

    View Slide

  23. CI

    View Slide


  24. Test your software or your
    users will

    View Slide

  25. 3
    After the
    Code

    View Slide

  26. ● Invest in your knowledge
    ● Who owns your career?
    ● Choose who you want to
    work with

    View Slide

  27. Conclusions

    View Slide

  28. ● Honesty
    ● Be humble
    ● Professionalism
    ● Empathy
    ● Collective ownership
    ● Don’t stop learning
    ● Be an example
    ● ...

    View Slide

  29. Bibliography
    ● Pragmatic programer
    ● The Software Craftsmanship
    ● Clean code
    ● Working Effectively with Unit Tests
    ● Refactoring: Improving the design of existing code
    ● Debugging Teams
    ● Presentation template by SlidesCarnival

    View Slide

  30. Thanks!
    Any questions?

    View Slide