Nomadic Labs is delighted to host apprentices (apprentis). These are students — usually studying for an undergraduate or Master’s degree — who work with us in parallel with their studies for a period of one to two years. Each apprentice has a unique story to tell about how their understanding of blockchain as a practical and applied technology has developed during their time with us.
In this blogpost, we will ask three questions of one of our current apprentices: Killian Delarue (and a couple of questions of his mentor at Nomadic Labs).
Killian — so happy to have you with us! We hope you’re having a wonderful and educational period with Nomadic Labs. We’d love to hear a bit about you and your activities chez nous …
Questions for Killian
1. Please present yourself and your academic background
My name is Killian Delarue, I’m a 24 year old student and an apprentice at Nomadic Labs.
I’m in the final year of a five-year degree in computer science and software engineering at ENSIIE graduating in September 2021. My subject specialization is functional programming and formal methods.
In summer 2020 I did a three-month internship at Nomadic Labs, and I was very pleased in September 2020 to return on a professional development contract. This means that I get to work on a project with Nomadic Labs, in parallel with the final year of my engineering studies. The contract will continue until my graduation in September — so it’s a full year of apprenticeship with one of the best companies in the sector!
2. Tell us more about your apprenticeship: main subject, who is your mentor, what you have learned and especially, what surprised you the most within these months?
I’m working with the Node and Tooling team, mentored by Julien Tesson on a project to build a user interface to launch and interact with a Tezos node on the terminal. My project aims to improve the user experience of Tezos. It provides a clean, easy and flexible way to run and monitor a Tezos node on your terminal.
My project requires me to understand the architecture of Nomadic Labs’ software and to carry out an efficient technical development within it. I already had some familiarity with the basics of functional programming (especially OCaml) from my engineering school, but this project has taught me more advanced aspects of programming, and more about the OCaml toolstack.
This project has also helped me to develop new communication skills, as it requires close coordination with the development teams of Nomadic Labs. We have to discover, understand, and take into account the needs and suggestions of the developers and users, and conversely I have to communicate back to them about the progress of the project.
Working at Nomadic Labs has been an opportunity to be part of a team of awesome people with great human values and a great attitude to mentorship. Undergraduate courses are done by individuals but software is created by teams, so it has been a delight to learn how important it is to be technically competent and also well-integrated working with members of the team.
3. Why did you choose to become a part of the blockchain ecosystem and Nomadic labs? What are your plans after completing this apprenticeship?
Before my 2020 summer internship at Nomadic Labs and my year’s apprenticeship since then, I didn’t know much about blockchain. I heard about Nomadic Labs and Tezos from a teacher at school. I started to read Tezos project documentation and found myself fascinated by the algorithms, the techniques, the libraries used, and in general the detailed software architectures that help achieve robustness in a large-scale safety-critical distributed system. Also, I like that it is open-source and uses OCaml.
So I was delighted to get an apprenticeship with Nomadic Labs to develop my technical skills while learning more about OCaml, the blockchain ecosystem, and about Tezos in particular.
I have found the experience thrilling and hope to keep working in the OCaml community, and hopefully within the blockchain ecosystem.
Questions for Killian’s Nomadic Labs mentor Julien Tesson.
What is your input to the work carried out by Killian?
We started the project from scratch at the beginning of Killian’s apprenticeship back in September 2020, and he has become highly committed to it. Killian did a very good job of designing his prototype, and we have had some great discussions on the project architecture and on the user experience offered.
During the year of Killian’s apprenticeship it’s been my pleasure to watch Killian learn and evolve as a software engineer, and I have been impressed by his determination and his progress. His apprenticeship with us will end soon, when he graduates, and I wish Killian all the best for his future!
Why is the topic of this apprenticeship important?
Currently, you can download Octez the Nomadic Labs implementation of Tezos, and fire up the command tezos-node
to run a Tezos node (tutorial here). And this is all good — but even a professional developer would agree that the tezos-node
logging output is not the easiest to read.
A command-line client exists which can query a node for more information, but it does not necessarily deliver more easy-to-read information. Developers also have specific tools to monitor node health — you launch a dedicated program to query the node, that feeds a Prometheus service that itself feeds a Grafana service, which serves you a webpage. This is powerful, but not necessarily well-suited to every end-user.
Killian is developing a lightweight and user-friendly standalone prototype control utility with which a user can run a node and interact with it, getting meaningful and easily-digested diagnostic information from the node, and being able to issue commands via the utility to control the node’s behaviour. Think: a “a dashboard, for Tezos nodes”.
This is quite a large project that would greatly improve the user experience, and Killian’s prototype has laid the foundations for it. I am very pleased with his work.