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

Debugging Complex Stuff

Debugging Complex Stuff

A talk on how we debug complex stuff: software and ourselves.

A metaphor for better mental health, calmer life, better work-life balance.

I'd love to give this talk at your company or meetup. Feel free to contact me.

More Decks by Luiz Gonzaga dos Santos Filho

Other Decks in Technology

Transcript

  1. Signals ◦ Linting ◦ StackTrace ◦ TVs Monitoring on the

    wall ◦ Performance drop ◦ Higher number of tickets ◦ Unexpected side-effects
  2. Signals ◦ Might be false positives ‍♂ ◦ But we

    can't ignore them. Gotta give them some love ◦ Regardless if it’s a false positive it’s good for us — we learn and improve ourselves for the future
  3. Debugging code 1. Signals 2. Admit something is off 3.

    Analyze context && Test hypothesis && Repeat 4.
  4. Analyze context && Test hypothesis && Repeat See error line

    WTH could be wrong? Try to identify the cause When was it better? What changed? Smt I've done? Smt external and I can't change? Maybe my part is fine but due the context, it doesn't work? Ask for help
  5. Debugging code 1. Signals 2. Admit something is off 3.

    Analyze context && Test hypothesis && Repeat 4. Make it better & Learn \o/
  6. Make it better & Learn \o/ ◦ The sooner the

    better ◦ Even if (especially if) it has reached production (duh!) ◦ If we're in a safe environment we usually feel safe & supported to say: "Yo! Sorry! I broke the build! ‍♂ Let me try to fix it. Help is welcome" ◦ Monitor more / more often / more deeply
  7. Debugging code 1. Signals 2. Admit something is off 3.

    Analyze context && Test hypothesis && Repeat 4. Make it better & Learn \o/
  8. Debugging ourselves 1. Signals 2. Admit something is off 3.

    Analyze context && Test hypothesis && Repeat 4. Make it better & Learn \o/
  9. Signals ◦ Linting ◦ StackTrace ◦ TVs Monitoring on the

    wall ◦ Performance drop ◦ Higher number of tickets ◦ Unexpected side-effects ◦ Muscle tension ◦ Insomnia || Can't focus ◦ Acidic stomach . ◦ How people are reacting ◦ Irritability || Taking out on others ◦ Relationships starting to degrade
  10. Signals ◦ Might be false positives ‍♂ ◦ But we

    can't ignore them. Gotta give them some love ◦ Regardless if it’s a false positive it’s good for us — we learn and improve ourselves for the future Are we just a “bag of chemicals”?
  11. Debugging Oneself 1. Signals 2. Admit something is off 3.

    Analyze context && Test hypothesis && Repeat 4.
  12. Analyze context && Test hypothesis && Repeat See error line

    WTH could be wrong? Try to identify the cause When was it better? What changed? Smt I've done? Smt external and I can't change? Maybe my part is fine but due the context, it doesn't work? Ask for help
  13. Analyze context && Test hypothesis && Repeat WTH could be

    wrong? Try to identify the cause When was it better? What changed? Smt I've done? Smt external and I can't change? Maybe my part is fine but due the context, it doesn't work? Ask for help
  14. Debugging ourselves 1. Signals 2. Admit something is off 3.

    Analyze context && Test hypothesis && Repeat 4. Make it better & Learn \o/
  15. Make it better & Learn \o/ ◦ The sooner the

    better ◦ Even if (especially if) it has reached production (duh!) ◦ If we're in a safe environment we usually feel safe & supported to say: "Yo! Sorry! I broke the build! ‍♂ Let me try to fix it. Help is welcome" ◦ Monitor more / more often / more deeply
  16. Make it better & Learn \o/ ◦ The sooner the

    better ◦ Even if (especially if) it has had consequences (duh!) ◦ If we're in a safe environment we usually feel safe & supported to say: "Yo! Sorry! I messed up! ‍♂ Let me try to be better next time. Help is welcome" ◦ Monitor more / more often / more deeply
  17. Debugging code skills ◦ Can you imagine your career without

    the mentoring you’ve received, the 1-1s with your managers, the candid feedback, the hard conversations, the books, courses, conferences, proper tooling…?
  18. Debugging ourselves skills ◦ So why when it comes to

    our mental health and soft skills we take the isolationist approach and just wing it? ◦ There are similarly tons of resources, practices and professionals for improving our own debugging! ◦ Let’s chat and share what works for us.