Our Users

Jonatas Davi Paganini

Engineering Team Lead, Toptal

Who are you, and what do you do?

Nerd, cyclist, and backend developer. I’m a pair programming evangelist, and a Vim editor user and enthusiast. In love with Ruby since 2007.

My highlight experiences involve performance and architecture. I worked a few years writing automated strategies for financial markets, processing millions of events per day.

I also worked in different domains and technologies including embedded systems, 3D printers, Web and mobile development.

I’m a happy dad. I even started a podcast with my four-year old son.

I love to be with people, and I discovered that I love pair programming and learning from watching other people workflows.

I like to talk and share what I’m learning. For several years I was voluntarily mentoring people I worked with, and then I realized I was so amazed by the discovery process, I decided to dedicate my career to mentor and support people.


I’m currently working in the core team for Toptal. I’m a team leader of an initiative called Boot Camp. It’s a special team that embraces newcomer developers in the core crew, helps them learn about the company culture and process, and aligns expectations before they join a regular team.

I’m from Brazil; I talked at RubyConf Brazil in 2015, 2016 and 2017.

I also talked in TheDevConf and other community events. I have some slides and videos here. My website is http://ideia.me. I’m jonatas on GitHub, and @jonatasdp on Twitter.

I founded two companies in the past, and have been a Ruby developer for over ten years.

What hardware do you use?


I use a MacBook Pro 2015 and an ErgoDox keyboard. See my first setup version.


Now, I’m building a prototype of my keyboard to be used as a belt — a wearable ErgoDox EZ. It works, and I need to spend more time practicing with it.


And what software?

I’ve been fighting with Vim for more than ten years, and I love it. :) I used pure Vim for a long time and tried hard not to install any plugins, so I don’t know many plugins very well.

I’ve been using MacOS for around ten years now, and it’s pretty stable and beautiful for me.

I love iTerm2 and multiple tabs manipulation. I’ve been trying to migrate to tmux, but it’s still hard to switch completely.

I use Fish Shell, and I’m addicted to ctrl-f on the terminal. It saves a bunch of typing, and now I’m even more efficient since I eliminated 2cm of movement because the z key works as a secondary ctrl.

What’s your keyboard setup like? Do you use a custom layout or custom keycaps?

I bought the ErgoDox EZ Original Standalone with Kailh Silver switches a few months ago, and my main layout is a QWERTY one. I use the “Caps lock” key (the key in that position) to switch to layer one.

I try to use hjkl for movement control in my second layer. I’ve been using the same approach for the third layer, to use it as a mouse. For Vim, I mapped an extra Esc in the “thumb region”, left of the space bar.

I spent three weeks adjusting my layout until I was happy with it. First I tried the default layout but it was so far from my current setup that I abandoned it. Then I started with the basics, mimicking my MacBook layout and making small changes every time I found myself uncomfortable.

The hardest part was the day I started working officially with the keyboard. I was so depressed that I decided to use it only for things I do inside the editor, but not on Slack. I mistyped too many times, and now I developed more experience with it.

I tried to configure holding n as an extra shift, but sometimes it was hard because it’s a very commonly-used character.

What would be your dream setup?

I’d love to have better interfaces that allow me to escape the chair and table setup. My 14 years of programming resulted in three herniated discs in my low back, and I’d love to have multiple ways to use the computer and interact with my current work.

I see typing as the most manual task I won’t be able to avoid in the next few years, which is why I invested my money acquiring an ergonomic keyboard.

I’d love to work with VR and program using a gesture-based language that I could interpret using symbols and easily manipulate everything visually.

Now with my belt, I hope to get more freedom and work with some movement. I’m looking forward to a wireless solution that would let me walk more! Let’s see. :)

© 2021 ZSA Technology Labs, Inc.