Team Insights: Johann, Back End Engineer and Passionate Learner

Johann is a functional programming enthusiast and a Back End Developer at Witnet.

Jose Garay
The Witnet Oracle Blog
3 min readMay 8, 2018

--

Hi Johann! We’re glad to have you for today’s interview. Could you tell us a bit about you and your background?

I’m a curious person, autodidact and very passionate about learning — specially about technology. I got an associates degree in software engineering and I’m pursuing now a computer engineering bachelor’s degree in my free time.

For me, a day without learning is a wasted day. I enjoy solving problems and playing puzzles. I’m a functional programming enthusiast and one of my dreams is getting into competitive programming.

I also love languages, which I mostly learn on my own. I speak English, French, Romanian, a bit of Japanese — which I studied while I was living in Romania — and Spanish, which is my native tongue. Right now I’m learning Dutch.

As a developer, what makes the blockchain space exciting?

The possibility to contribute to a highly disruptive technology that will change the world. The potential use cases are countless: decentralizing the economy, offering a mechanism for trust between individuals, enabling people to send money without going through a bank, being a haven in countries in economic or political turmoil, smart contracts, oracles, decentralized governance, provenance…

Witnet uses Rust as its back end development language. What makes it suitable for the project, and what are some challenges the team faced when making the decision to use it?

The Rust language allows us to be more productive because of its performance, concurrency and safety. We can rest assured that the compiler won’t allow us to ship unsafe code or have dangling pointers, race conditions or memory leaks, which are quite common in C or C++. We need to build a robust platform upon which a thriving community can build all sorts of interesting dapps.

One of the challenges while choosing Rust was that the language ecosystem is young and we had to be sure that it had good tooling and enough libraries to be productive during the development of Witnet.

Which are your favorite tools when you’re coding?

I love my Linux environment, I use i3wm, Vim, Intellij with IdeaVim, tmux, fish, ranger and Vivaldi with surfing keys. I try to learn my tools in depth and customize them to have a seamless workflow. I find it important to have a development environment that can work with me and help me be more productive.

We know you are someone who likes to put in the effort required to learn new things and stay up to date on others. What makes crypto a good learning environment?

It gives you the chance to learn and delve into many interesting topics like cryptography, distributed computing, mechanism design, algorithm design and many known hard computer science problems.

On a personal note, what are some things that you like to do in your free time?

I spend most of my free time learning about computer science and programming languages. When I’m not studying I’m watching anime, TV series in foreign languages or playing videogames with my wife and daughter. I also try to live a healthy life, I’m a vegetarian and I’ve been doing intermittent fasting 21/3 for the past five years, I exercise regularly and I don’t drink nor smoke.

Thank you for your time, Johann! /👁/

--

--