Speaking

  • Let's Debug Like Scientists

    I share a set of tools to build a collaborative process of debugging. I show how centuries-old scientific practices can be adopted in our young profession. All this supported with real-world stories that prove those methods to be effective.
  • API Optimisation Tale: Monitor, Fix and Deploy (on Friday)

    Lessons learned during extraction of a complex service from 1M+ LOC monolith. During this project, we migrated an internal API from REST to GraphQL optimising it heavily. I talk about old patterns in a new setting, incremental changes and broken production.
  • Database Internals (series of talks)

    I've given a series of in-depth talks about database internals at Rzeszów Ruby User Group meetups:
    • Why Doesn't the Database Use My Index? - how the indexes are built, and how to use them efficiently
    • SELECT or There and Back Again - query processing details, from parsing down to storage and back to the client
    • Full-text Search Inside Out - inverted index explained with simple implementation in Ruby as an illustration
  • Writing Slow Regexp is Easier than You Think and Want it to Be

    Talks and workshops about the performance of regular expressions. I show the internals of a regex engine and this lets me explain how various types of patterns are processed. Finally, I give real-word examples of regular expressions that harmed production applications.
  • Who is a Senior Developer

    I interviewed several engineers and managers to understand how they perceive seniority in our industry. I summarised the findings in a short talk. As a follow-up, I also moderated a discussion panel about being a senior developer. We discussed traits of a senior developer, career progression and title inflation.
  • We All Build Distributed Systems

    After working with a system built with only 3 apps - web UI, Android client and API backend I realised that a lot of the problems inherent to distributed systems happen also in this simple setting. In this talk, I describe how we dealt with offline mode, data synchronisation and error resolution