Interview with the Linux-guru

Louis working in the Server Rack where he makes sure Bivrost runs as it should

As yet another internship student get ready to leave Kelda for new internship opportunities we managed to do an interview with Louis Meyrat before it got too late. Louis has, like Thomas, been a part of the Bivrost product and an ever-growing list of interns from Mines ParisTech in France. Since he arrived at Kelda, Louis has constantly shown his dedication to the development of Bivrost. His feeling of responsibility to the product also shows in the interview below. We’re happy to present another interview in the interns-series of the Kelda blog, with what I think we could safely say is the most experienced coder we’ve had as an intern so far.

First of all, you’ve been here for nearly 6 months now, how has your overall stay been?

That’s a very general question, but I have to say it’s been good. Like Thomas, this is my first time in Norway and in any Nordic country actually. Kelda was my first internship and real work experience. I have done an internship at a factory to learn how it is to work, but that was much shorter and didn’t give the same kind of experience. My stay here at Kelda has been great. It’s a very small company where everyone is friendly. Even though I don’t have that much work experience I think I contribute more to the product by working in a small company than in a bigger one. We’ve still had sort of a top-down approach in the Bivrost project with a Product Owner that decided the next steps in the development, but our inputs were also listened to.

On a more personal level, can you tell us a little bit about yourself, your age, where are you from in France and how did you end up at your school?

I’m 21 years old from Toulon in southern France. A fun fact is that this city has one of the best rugby teams in France. After finishing high school I started preparation for engineering school at a school close to Versailles. Here we learned a lot of math and physics. I then started at Mines ParisTech two years ago were I’m studying Management of Information Systems. One of the reasons I wanted to do computer science is that it interested me greatly since high school when I started coding by myself. I’ve done some computer science courses at Mines, but I also enjoy physics which I want to be proficient in. To learn more coding languages I’ve done many small projects by myself and with others. From this, I’ve learned that planning is very important, even when you code by yourself since you easily end up with a very messy code if you don’t have a plan.

What about outside school, what do you like to do?

Sort of related to school, but in my spare time, I’ve been part of the robotics group at schools. I didn’t work very much with the automatics, but I made most of the logic in the code. Like I mentioned earlier, I’ve done code projects by myself and with others. Other than coding I like anime moves and Japanese culture and language. I know enough Japanese to be understood, but not the advanced stuff.

How did you hear about Kelda, and what made you want to go here?

Like Thomas, I heard of Kelda from Pierre-Nicolas. I wanted to do an internship that involved full-stack development and Kelda offered this opportunity. I was not very familiar with web development before coming here, which was another motivating factor for me. When I applied I expected to work on frontend and backend tasks in Bivrost and learn to use the newest architectures in web development. In hindsight, the internship was exactly how I expected it to be.

When you arrived in June, we had quite a large team working together on the Bivrost project. Due to this reason we started working with Scrum, how was it work in a big team and what did you like with the way we worked with Scrum?

I’ve just heard the word Scrum before starting at Kelda, so it was really new to me. It was interesting to have two weeks deadlines where we had to deliver running code in the end. Overall I think the Scrum process was great to work with and we got to do much work together as a team.

While you’ve been here we have quickly come to realize that you’re brilliant on Linux and you’ve become our go-to-Linux expert. Especially if our main servers need maintenance. You are a hardcore Linux user, right? 

I don’t feel like I’m a Linux expert, but I chose to work in it because I think it’s the best platform to do development in Bivrost. I also did some maintenance of the Kelda servers that host Bivrost and ensured that they were updated and running. To me, this is a part of being a full-stack developer. Other than that, I don’t feel like I did too much in Linux while I was here. I got to learn more about Apache and Docker when deploying Bivrost to the servers, but still, I’m not too familiar with those frameworks.

Do you feel that your ideas and suggestions are taken into account in the Bivrost development and future tasks?

Yes, I would say so. Most of my suggestions were related to organization and optimization of the code. This are things the product owner does not directly notice since he is not inside the code himself. The suggestions I’ve posted shows up quite fast in the product backlog.

Since you arrived the Bivrost project has taken huge steps and is now being shipped out to our customers. How do you feel about other people (outside Kelda) now starting to use it, is it motivating?

I think it’s very rewarding to see the product in use by external users. It is good to have Kelda using employees the product, but it is even more interesting when we have external users. Of course, this gives much more responsibility to the developers to ensure the code works as it should. We need to be more careful when we deploy a new version of the Bivrost code and test it thoroughly before finalizing a deploy.

Throughout your internship, we’ve seen that you are quick to respond to bug reports on Bivrost. This has also happened in some weekends, where you have stepped in and fixed the problem with short notice. 

I don’t like bugs and when I hear about something not working properly I want to fix the problem right away. I feel that when we have deployed some code that does not work as intended I need to take responsibility and fix them. This is especially true when we have external customers using the product.

After working with web development for almost half a year now, do you have a favorite framework? And what frameworks don’t you like working with?

For my favorite framework, I have to say React. It is a very nice way to make UI without templating. You can also add small logic in the rendering which is very convenient, but be careful it can easily get too much logic in the rendering and that is very bad. React is very nice since it can be used to create mobile and desktop applications as well as web applications. For instance, the new Skype application is written with React. Based on what I’ve learned in my internship I can absolutely see why javascript is getting bigger and bigger.

On the other hand, I can’t find a framework I dislike. I would rather say that I dislike the lack of framework. Some parts of the Bivrost code still don’t use all frameworks as they are intended to be used, which quickly becomes a bit frustrating.

Can you mention some of the main packages you’ve worked with?

The main packages/frameworks I’ve worked with are Material UI, React, D3, Redux, Meteor packages. Python and javascript. All these packages are used extensively in Bivrost.

What is the biggest challenge you’ve encountered in your internship, especially related to the development you have done here?

I think it’s really hard to write proper documentation. It should not be too long, but still descriptive. Someone not working with Bivrost should be able to understand the documentation without spending too much time. I think it is hard to be concise and give proper information at the same time.

What is the biggest outcome of your time as an intern here at Kelda?

When I got here I didn’t know any of the frameworks we use. In my six months stay, I learned a lot about all of them and are now quite proficient. I also learned about Scrum & Agile development which I think will be very useful in the future.

What do you think about Norway as a country? While you were here we had the warmest summer in 70 years. Did you notice the warm weather, or is it just a usual summer in France?

Well, for one thing, the summer was warmer than expected, but now it’s starting to get too cold and dark for me. I’m glad I can avoid the Norwegian winter. One thing that surprised me a bit is how nice the city is and how much nature it is close to the city. It might be because Porsgrunn is a small city, but it was really nice. I like the public transport system and bike trails which is really nice for the population. Many cities in France don’t have these things, even larger cities. The infrastructure in Norway is really nice I think.

Has this work been something you would return to?

The work has been very interesting, but if I get to chose I would like to work on more low-level programming. I think that debugging C/C++ code is very fun, especially when you have to find really challenging bugs. I miss bugs due to pointers and compilers, which we didn’t have much of in the Bivrost project.

Before we let you go, can you tell us a little bit about what you plan for your next internship? Also, where do you want to be in the future? Do you imagine yourself working as a developer or are there other career paths that interest you more?

I definitely want to be a developer, but maybe not web development. Of course, I’m open for web development if I can’t find anything else, but preferably I would work with more low-level coding. I would also like to do something with more users than we have in Bivrost now. I think it would be very rewarding to have 1000+ users, but of course, this comes with more responsibility.

I don’t know where my next internship will be yet, but I’ve applied to a company in Canada which does cloud computing on GPUs and also to a place in Japan. I’m considering to apply to UK or Germany as well. Maybe it is time to practice my German again?

Again, thanks for taking the time to talk to us. The Kelda Blog editorial office wish you all the best in your time ahead. Thanks for taking the time to talk to the Kelda Blog editorial office.

An in-depth Interview with the Bivrost Scrum Master

Thomas working on Bivrost development

At Kelda we’ve had quite a few interns the last years. The last six months several students have been working with our online data portal Bivrost. This data portal stores and visualizes all our field data from drilling and provide a simple interface for analysis and downloading of data for our clients. Thomas is one of these interns which has been an important part of the development team the last six months when Bivrost went from being a somewhat immature product to a fully functional product we can license out to our clients. He studies at Mines ParisTech in France as most of our interns has done so far. Without further ado, I would like to introduce Thomas.

First of all, you’ve been here for nearly 6 months now, how has your overall stay been?

It’s been great! This is my first real working experience and it was very interesting doing it in Norway. My stay at Kelda was my first of two internships which I chose to do at my school. Actually, the last six months had many “firsts”. First job, first internship, first time I’ve done development and coding in large scale and also my first time in Norway.

Can you tell us a little bit about yourself, where are you from in France and how did you end up at your school?

I’m 21 years old and grew up in Arras in Northern France, quite close to Belgium. When I finished high school I knew I wanted to become an engineer and therefore I chose to start pre-engineering school. This is a school with a high focus on mathematics and preparing us for further engineering education later. After finishing this school I applied for several universities, but Mines was highest ranked and located in Paris. I really wanted to live somewhere central and therefore Mines was something I wanted. Seen in hindsight, I’m really happy with my choice and I’ve really enjoyed my education so far.

Can you tell us a little bit about your interests and the direction you have chosen at your school?

The direction of study I selected at Mines is called Engineering Design & Management. It is a wide topic but focuses mainly on finding and developing new concepts. The field of use is quite wide, and we learn that these skills can be utilized in many different fields.

How did you hear about Kelda, and what made you want to go here?

I first heard about Kelda from the president of ASTI, a student organization at our school. Kelda is a partner of ASTI and the president for the organization sent out an email about Kelda. Later, I received an email from Pierre-Nicolas, which were doing an internship at Kelda at the time. Pierre-Nicolas’ email described the work environment at Kelda and was inspiring. These emails triggered my interest and made me apply for an internship at Kelda.

When you arrived in June, we had quite a large team working together on the Bivrost project. Due to this reason we started working with Scrum, how was it work in a big team and what did you like with the way we worked with Scrum?

The big team we had, in the beginning, was fun and the first couple of weeks we did a workshop together to learn as much as possible before Pierre-Nicolas had to leave. We started using the different packages of Bivrost and doing some small bugfixes as an introduction to working with Bivrost. When we finished this introduction we started working using the Scrum technique. I’ve never used Scrum before, but as most work environments are new to me it was easy to adapt. Working as a team together and solving a specific problem was interesting and fun. It was both hard and motivating to have two weeks deadlines to finish the sprint goal. Especially in the beginning we often overestimated how much we could do in two weeks, but after a few sprints we learned and got better.

After one and a half month, our previous intern Pierre Nicolas left, and you took up the role of Scrum master for the rest of the team. How did you like that role, and how has it worked out do you think?

I liked the role of Scrum master very much. Especially the part of being more part of the planning of the tasks and communicating with the product owner. By doing this work I felt more invested in the product and also had a larger impact on the direction of development the product was going to take than I would have had as a pure developer. As a Scrum master, I had to do more administration to ensure that all tasks were up to date and help the product owner maintaining the backlog. This administration was interesting, but also hard as I often want to start doing the actual implementation.

Since you arrived the Bivrost project has taken huge steps and is now being shipped out to our customers. How do you feel about other people (outside Kelda) now starting to use it, is it motivating?

I feel that my internship here can be divided into two main parts. In the first half, we worked a lot with improving the Bivrost already existing Bivrost features to make it more user-friendly and robust. In this period, releasing the code to production was a really big step. Then, when we did the first major release we started having a lot of users, first from other Kelda employees, then external users. This resulted in a stream of feedbacks, from small bugs to minor features that would enhance the user experience. In this period we learned to do more rapid releases and hotfixes to make Bivrost more useful. I also noticed that testing is very hard, we don’t use the same features as the users of Bivrost, which we immediately saw when we got more users. What was really motivating with this period was the immediate feedback we got from the users and also seeing how our features were used right away.

Within your time here you have been part of a major database upgrade, a total redesign of the user interface and the implementation of several new features on the front and backend. For sure, we can call you a full-stack developer now, right? 

Well… I guess. I actually think I did most frontend work during my internship, but still, I had to work with databases a lot on the backend. On the frontend, the main part of my work was the redesign of the user interface, which was very interesting. I had to really twist my head from the perspective of the developer and try to envision how a user would like to use Bivrost. In the process of redesigning the UI, we looked at many other websites, such as Facebook, Gmail, Bitbucket and Asana for inspiration. I feel that this exercise thought me a lot about thinking like a user.

Did you have much experience in web developing before arriving here, or have you learned most of it during your internship?

I actually feel I learned most of my development skills during this internship. For instance, we use many libraries in the Bivrost development that I’ve never used before. As I mentioned earlier, we had a workshop during the first two weeks where we worked together with Pierre-Nicolas that was here before us. In this period I learned really much. I also got a few tutorials before I arrived and I used them to learn the basics. Before I got to Kelda I’ve bearly used Javascript. I had some more experience using Python and quite much experience from Java. I feel that when you know one programming language it’s much easier to learn another one. Another part of the training was to learn how to write good code. The interns before us developed a style guide together with Kelda. We have used this style guide and continued to develop it.

After working with web development for almost half a year now, do you have a favorite framework? And what frameworks don’t you like working with?

What I find most fun is processing data and making code for displaying data on the frontend. React and Material UI is powerful frameworks for this. I also enjoy doing the logic behind the data processing. I think it’s very hard to find something I don’t like, but if I can avoid it I try not to do too much D3.js. This is a low-level framework for creating dynamic and interactive data visualization. If possible I would like someone else to work with D3, hehe. However, you can make some really beautiful things using D3.

Can you mention some of the main packages you’ve worked with?

The main packages/frameworks I’ve worked with are Material UI, React, D3, Redux, Meteor packages. Python and javascript. All these packages are used extensively in Bivrost.

What is the biggest challenge you’ve encountered in your internship, especially related to the development you have done here?

This was a hard question. What comes to mind is the module we have for exporting data from Bivrost. It was made a long time ago and has been modified by several people. It was really hard digging into and understanding the code. You sort of get a “WOW” feeling reading it, and thinks: “What is going on here”. The task itself was not the hardest, but making use and building upon what others have done when they are not here to explain was challenging.

What do you think about Norway as a country? While you were here we had the warmest summer in 70 years. Did you notice the warm weather, or is it just a usual summer in France?

I enjoyed the Norwegian summer really much. It was very warm, but not unusual compared to France. Now in November, it’s really getting cold and dark and it’s harder to be here. The summers are really different from France. I remember walking home at 2AM in the night during the summer and it was really light outside. We don’t have that in France. In the summer we also barbecued a lot and had a lot of fun outdoors. I’ve also had the chance to travel a bit while being in Norway. I went to Oslo, Copenhagen, and Stockholm, so I feel I’ve visited quite many of the Nordic countries. Porsgrunn is also a very nice city and we have a view of the fjord from our office space.

Has this work been something you would return to? 

I really enjoyed the work and would absolutely want to do similar work in the future, especially frontend work. It’s very interesting working together with other people and getting feedback on what you’re doing. For my next internship, I want to stay in a bigger city. Even though Porsgrunn was really nice it’s fun being in a larger city also.

Thanks for taking the time to talk to the Kelda Blog editorial office. Before we let you go, can you tell us a little bit about what you plan for your next internship? Also, where do you want to be in the future? Do you imagine yourself working as a developer or are there other career paths that interest you more?

I haven’t found my next internship yet, however, I’m considering companies in London and Brussels. If I choose to go to London the work will be similar to what I’ve done here at Kelda, while in Brussels it would be directed more towards IoT and working with hardware.

Based on my experience from this internship I would absolutely like to stay an engineer, but not only do development. I really enjoyed being part in the decision making and being a scrum master. I hope to be able to do some work that includes planning, discussing and getting direct feedback. It’s motivating to know what we want to do and where we want to go with any development.

Again, thanks for taking the time to talk to us. Good luck in your time ahead!