I interviewed Pierre about how he came to work at Aragon, his thoughts on the future of Ethereum and tips for aspiring developers and teams

Another new member has joined the team! Pierre is a Frontend Developer that will help the team in fulfilling the Aragon vision. We talked about his experience as a software developer making beautiful user experiences, his thoughts on Ethereum, what tools he uses and what tips he has for aspiring developers and teams working in the space.

Past team interviews:

Luis*| Jorge | Tatu | María | *Luke

Hello Pierre, welcome to the team, happy to have you with us! Let's start with you telling us a little about yourself.

Who you are, what kind of background you have and how you came to working on a blockchain project?

Hi! I am Pierre, a frenchman living in London, and I came to Aragon to help build the user interfaces. Before this I was working at Canonical, spending my time building a few different things. I was in the design team as a prototype developer, working on the Ubuntu PhoneUnity 8Ubuntu UI toolkit and some related Design tools for those.

At first, I got interested in Bitcoin. The fact that it was unstoppable seemed interesting and I liked how it was challenging our conceptions of money. I started hearing about Ethereum a couple of months before the Frontier launch. I didn't quite get it the first time. I read about it, watched a few videos, and it seemed like an interesting project, but I couldn't quite grasp its full potential. How a technology similar to Bitcoin could embed a Turing complete programming language? And why doing that would be useful at all?

After some time it hit me: Ethereum could be used to build decentralized, transparent and unstoppable services! Services that don't require you to trust any third parties! In my mind so many things could be built using this. I started to get quite excited and to read a lot more on the subject. Began talking about it with friends, going to meetups, and checking what imaginative things people were building with it.

I found it interesting how Ethereum, like Bitcoin before, made people think and discuss about concepts like trust, contracts, truth, money or democracy. And how technology could help humans to build better and fairer systems. It's a technology that could potentially have a massive impact on our lives, but everything is still to be built, which seems quite exciting to me.

We're still in this phase where we're focused on the technical aspects of Ethereum, which is something that is needed to make people aware of the technology. I expect the next phase to be more focused on the actual products. As Ethereum-based solutions start to get mature, the user experience takes more importance. That's when I come into play!

And of all the great projects out there, what brought you to Aragon?

Aragon is about making organizations more accessible, transparent, reliable, and universal. The way people interact with each other has been transformed in the last 20 years, but governments haven't adapted to it.

Nowadays, you can start a project with a person living at the other side of the world. And you can work as if you were in the same room, thanks to the progress of collaboration tools. But setting up any kind of organization together is complicated, if not impossible. Aragon aims to fix that.

Apart from Aragon Core app itself, I can't wait to see Aragon UI (the Aragon interface toolkit) becoming complete and stable. That will help make it as smooth as possible to build DApps for Aragon. I'm also eager to improve the developer experience. I want to make sure that nothing gets in the way of someone wanting to build their solution on Aragon.

What's your view of the current situation with Ethereum? How do you see it's future?

I don't think we can realize today the full potential of distributed ledger technologies. People often compare this era of distributed ledger technologies to what 1999 was for the web. And it sounds right on several points: the technology is getting mature and the excitement is high. But it is too early to imagine the most important use cases of the future. We are now in this period of giving a lot of attention to the technological aspect of Ethereum, which impacts the way products are designed.

But, like with the web, I believe the change will happen more progressively than we expect. Ethereum itself will keep evolving, implementing the planned features, getting faster and more stable. Decentralized solutions will get better at understanding the users needs. Users will get more familiar with the technology and its specificities. We will reach an important milestone when Ethereum users won't even realize they are using it.

There is also the possible side effects that could emerge from the current "blockchain frenzy". Take asymmetrical cryptography for example. All of a sudden, much more people are getting familiar with the concept, only because they want to use Ethereum. It is one of these things that is hard to solve using only design solutions. To this day, understanding what public/private key pairs are is essential to benefit from them, and people are getting more familiar with it.

In the future I'm particularly interested to see how projects related to decentralized organizations progress. Apart from Aragon, Colony is an interesting project that looks solid. I also find Status interesting because this kind of user interface could be the key to make Ethereum more usable by people that are not tech-savvy. Also I can't wait to see the Swarm protocol becoming stable, making decentralized Ethereum apps a reality.


You're an experienced developer, what kind of tools do you use yourself and how did you learn to use them?

I owe most of the things I know to the people I worked with, the web, and the open source movement :)

I've used many languages, but the one I am the most familiar with is JavaScript. I learned it mostly from the web (special thanks to MDN), but also by reading JavaScript: The Definitive Guide by David Flanagan. I also know some PHP, Python, QML, Lua and Shell scripting.

I enjoy having tools I feel good with. I spend my days using them, so I find it important to make the process of building things as fluid and enjoyable as it can be.

As a developer, the most important piece of my toolbox is obviously my editor, which is Vim (Neovim). I used to use Textmate 1, but its development stagnated at some point, and I felt the need to move to another editor. The trend was to move to Sublime Text at the time, but as good as it was, it was not open source. Which meant that the same problem would probably appear at some point. So I started to consider Vim, also because it runs everywhere, it's installed on almost every Unix, and I was curious to learn about the specific way you interact with it.

But the thing that convinced me to spend the time to learn it is when I went to a meetup in Paris to see Ryan Dahl. He's the Node.js inventor, and was there live coding some demos. I was impressed to see how proficient he was, moving around his cursor and pieces of code as if he wasn't even thinking about it. I decided to learn it and, after some effort, the "Vim language" became a second nature. Switching to it made writing code (or anything else) a more pleasant experience.

I am also using the BÉPO keyboard layout, which is the equivalent of the Dvorak layout but optimized for French. And it works well for English too. Like Vim, it's not a choice I made to be more efficient, but to provide myself a more pleasant experience when typing. I also enjoy the process of learning something new, especially when it involves muscle memory. So it's a bit like a little game I like to play from time to time.

Another thing that I'm using is tmux. It allows me to manage my shell sessions in tabs and workspaces, that I can access using keyboard shortcuts. Combined with Vim, it makes developing in a Unix environment quite powerful. My terminal is iTerm2, and my shell is ZSH.

Finally, a really important tool to me is my browser, which is Firefox (Nightly). I recommend anyone to try it if you haven't recently! Firefox is becoming super fast in the recent releases, and the developer tools are now complete and well designed. More importantly, I think it is the only mainstream browser that truly cares about its users, their privacy, and innovation on the web. Mozilla Foundation, being a non-profit organization, has no incentive to give up on these principles. Which is not true for the giant tech companies that are behind the competitors. Use Firefox! :)

What kind of tips would you have for the aspiring developers out there?

Perfect is the enemy of good

Build yourself a workflow where it is possible to iterate as quickly as possible. Always keep in mind that things can change. Which means that you need to develop a habit of refactoring things whenever it becomes necessary. Also, don't try to be too generic at first. I find it better to solve a specific problem first, then to think about making the solution generic. It means you will have to move code, but it's always easier to deal with that than having to refactor a bad abstraction.

Having incomplete features is better than having no features at all. You can start sharing it with others and adapt things based on the feedback you get. That's why, as an interface developer, I also set a high priority on being able to share what I produce. Sharing a URL to people so they can see exactly what I am working on, without having to install anything, can really help to get into a fast build -> get feedback* ->** build* loop.

What about tips for teams, ours and others? Is something like having a common vision important as things progress?

Having a common vision is something hard. It's not something that you can completely define. It tends to evolve as individuals interpret it for any given context they are dealing with. The most obvious thing is to communicate as much as we can with others. Requesting and giving constructive feedback, making sure we never lose sight of the big picture.

One other thing that is important is to never assume that something is obvious. A team should always take care of making any member feel allowed to ask or share about anything they have in mind. That's how you ensure that there is as little fragmentation as possible in our shared perception. It also provides an engine for the vision to adapt.

One last thing: happiness matters! Happy people can move mountains.

And what kinda things do you enjoy doing outside of your work life?

Apart from building things, I always had a passion for video games. Even though I now tend to spend more time reading about games and game design than actually playing! I enjoy all kinds of genres, but RPGs have always been what I've had interest in. I am also a huge Nintendo fan ✌️

I also recently started playing with PICO-8. It is a virtual console including everything you need to build games in a constrained environment. I wish I had more time to make things with it!

Craft beer is another passion of mine. I even made my own beer last year, and I plan to do it again soon! Some other things I enjoy are cooking, coffee, history, politics, space exploration, and playing foosball.

Thank you Pierre! Can't wait to see all the beautiful things you'll build at Aragon!

You can also follow Pierre on Twitter!