Hello there, my name is Jônatas Davi Paganini and this is my personal blog.
I'm a Staff/Architect Software Engineer with extensive experience in database performance and architecture.
Former Developer Advocate at Timescale and I also have a few open source projects on github.

Check my talks or connect with me via linkedin / twitter / github / instagram / facebook / strava / meetup.

Latest Post

Mountain Learnings - Leadership Lessons from the Peaks

May 05, 2025 Leadership Personal Growth Adventure

As developers, we often find ourselves in challenging situations - debugging complex systems, making critical architectural decisions, or leading teams through technical challenges. But sometimes, the most profound lessons come from outside our codebase. This Labor Day, I found myself on a mountain trail that taught me invaluable lessons about leadership, risk assessment, and the importance of knowing when to stop.

The challenging trail ahead The starting point of our journey - a beautiful but challenging trail ahead

The Challenge

The trail was classified as “very hard” - much like those complex technical problems we face in our daily work. My partner and I, together for three years, embarked on this journey. As we reached the highest part of the peak, we encountered steel stairs that demanded absolute precision - there was no room for error, much like deploying critical production changes.

The steel stairs challenge The steel stairs that tested our limits and taught us valuable lessons

The Turning Point

At the summit, I noticed something was off. My partner was showing signs of fear while navigating the steel stairs. We were in a precarious position - 100 stairs with no safety measures, friends both behind and ahead of us. The situation reminded me of those moments in development when we push forward despite warning signs, driven by the sunk cost fallacy of “we’re almost there.”

The Decision

With just 20 minutes left in our 5-hour hike, I made a crucial decision. I stopped and asked my partner if she wanted to continue. This moment was pivotal - it wasn’t just about the hike anymore; it was about leadership, trust, and recognizing when to say “no.” She agreed to turn back, and as we descended, the adrenaline hit her hard, resulting in tears. It was a raw, vulnerable moment that taught us both valuable lessons.

Our journey together The journey that brought us closer and taught us about leadership and trust

The Lessons

1. Communication is Key

Just as we need clear communication in our development teams, we learned the importance of being vocal about our fears and limitations. My partner admitted she was afraid to “spoil the trail” or hold us back. This parallels how developers sometimes hesitate to voice concerns about technical debt or architectural decisions. We made a pact to always be honest about our feelings and fears, both on the trail and in our daily lives.

2. Vulnerability Builds Stronger Connections

The shared experience of vulnerability created a deeper bond between us. In development teams, showing vulnerability and admitting when we don’t know something can foster stronger collaboration and trust. It’s okay not to have all the answers, whether you’re on a mountain or in a code review.

3. Know Your Limits

We realized that high-adrenaline activities aren’t for us. Similarly, in development, it’s crucial to recognize when a particular technology stack, architecture, or approach doesn’t align with your team’s strengths and comfort level. It’s better to choose sustainable paths that match your capabilities rather than pushing for something that causes unnecessary stress.

4. Endurance Over Adrenaline

We discovered we prefer endurance over adrenaline. This translates perfectly to software development - sustainable, consistent progress often yields better results than high-pressure, adrenaline-fueled coding sprints. Building systems that can endure and scale is more valuable than quick, adrenaline-driven solutions.

Applying These Lessons to Development

  1. Risk Assessment: Just as we assess trail conditions, we should evaluate technical risks before making critical decisions.
  2. Team Communication: Create an environment where team members feel safe expressing concerns.
  3. Sustainable Pace: Focus on long-term sustainability rather than short-term adrenaline rushes.
  4. Knowing When to Stop: Recognize when a technical direction isn’t working and have the courage to pivot.

Trail Details

The hike was in the Conjunto Marumbi and here is my Strava activity recorded on my iPhone.

We tried the white track, which goes to the Olimpo view.

Conclusion

The mountains taught us that true leadership isn’t about pushing through at all costs. It’s about making informed decisions, communicating openly, and knowing when to change course. These lessons are just as valuable in the boardroom as they are on the mountain trail.

As developers and leaders, we should embrace these principles:

  • Listen to your team’s concerns
  • Be willing to change direction when needed
  • Value sustainable progress over adrenaline-fueled achievements
  • Build trust through vulnerability and open communication

Remember, sometimes the most courageous decision is knowing when to turn back and try a different path. Whether you’re on a mountain trail or in a development sprint, these lessons can guide you toward better decisions and stronger leadership.

What lessons have you learned from your adventures that apply to your development work? Share your stories in the comments below.

Recent Posts

Mountain Learnings - Leadership Lessons from the Peaks
May 05, 2025 Leadership Personal Growth Adventure
Community Buddy Notes - What I've Learned About Welcoming Newcomers
April 24, 2025 community career leadership
Paradoxical Spectrums of Dev Life
April 23, 2025 programming career philosophy
Gem Permission Manifests: Enhancing Security in Ruby Ecosystem
April 22, 2025 ruby technical security
Fatherhood Updates: Unexpected System Changes After Child Process Independence
April 21, 2025 personal
Four Years at Timescale: My Journey as Dev 🥑
April 15, 2025 career timescale postgresql
Authentic Tech Communities
April 10, 2025 community
Tropical on Rails 2025: A Celebration of the Ruby Community
April 09, 2025 community
Tech Community and Universities: Building Mindful Partnerships
April 08, 2025 community
Benchmarking Ruby ORMs: ActiveRecord vs Sequel Performance with TimescaleDB
March 19, 2025 programming