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!

 

From scratch to Kelda.

When I started my internship in Kelda 6 month ago, I was mainly interested in modelling, whether dealing with thermodynamics or hydraulics issues. Here in Porsgrunn, I mainly worked on what would be called a PVT (standing for Pressure, Temperature and Volume) model, which is a tool that could for instance, calculate for a given fluid at a given Pressure/Temperature condition a quite accurate estimation of its density.

Mapping the density over P,T meshes

 

A big part of the job was thus to understand the advanced thermochemical behavior of the fluid, and then to implement it by using some well know Equation of State (EOS) -like Soave Redlich Kwong or Peng Robinson EOS- which bounds P,T and V.

 

Real gas vs Ideal Gas P(V) curves

 

What was exciting with this task was that it was both an academic and industry oriented project. On one side, we were looking for the accuracy and the understanding that you would expect from academic research, using thorough examples to push the model to its limits. But, on the other hand, we always kept in mind what would be the final usage of this tool, which is its integration to a tool developed by one of my co-worker: the Influx Management Envelop (IME).

At the very first sight, you could say that the IME is a tool which allows you, once you got an unpredicted gas influx in the well, to predict whether you are still within some safety operation boundaries. According to some key pressures on the rig (back pressure, mud at the inlet…), it will tell you how you should circulate this thorny influx to avoid leakage or explosions. In this context, an accurate prediction of the gas behavior is critical, and this is why having a PVT model behind those calculations is a tremendous boon.

Getting UI up&ready

 

Apart from the substance, the form was quite exciting as well. I had the opportunity to learn how to code on Matlab, the standard for academic numerical computation, but also a bit on C++ as speed was a crucial KPI. I even did some Python as we wanted to integrate our compiled libraries within an Open Source Language for sharing purposes.

Thus, this internship was definitely a very cool opportunity to dig further into programming while conducting thrilling thermochemistry researches!

Hafjell Ski Trip

On March 1st, the Kelda team left for 3 days of skiing in Hafjell. This station is located next to Lillehammer and the main track of the station was used at the Olympic Games in 1994.

After five hours of drive from Porsgrunn and from Trondheim, we discovered a large and cosy cabin. As soon as the suitcases were put down, the Norwegian people from Kelda prepared us a typical Norwegian dish: Tacos.

When we woke up the next morning, after putting on skis, snowboards or Telemark, we were ready to hurtle down the slopes of Hafjell, wrapped up in our coats, the temperature down to -20 °C.

 

We reached the heights of Hafjell with an amazing view of the surroundings:

 

All day long, we slided down the many slopes down to the bottom of the mountain to rest and have our lunch at Wendy’s, a nice English pub close-by. There were ranges of difficulties adapted to everyone, from multiple green/blue slopes for the beginners to a wide offer of snow-covered forest tracks or of bump slopes for the confirmed skiers on the Snow Park.

 

 

After this day rich in emotions, it was French students’ cooking time to prepare: different kinds of quiche and flammkuchen were prepared. After spending the rest of the evening playing chess, card games or even table tennis, we definitely needed to rest for the second skiing day.

After another full and exhausting day of ski, a good dinner was undeniably required. What a nice opportunity for the Kelda bosses to show their abilities out of the office! Baked potatoes, risotto or tender meat were following a chef salmon starter: everything we wish for that last evening in Hafjell.

 

 

Three days are a short time but have been very dense and an exceptional opportunity to meet the people working in Trondheim and to know each other better.

 

Alexandre, Antoine, Guillaume & Pierre-Nicolas

Video by Vinicius

From Minchester to Kelda Vikings

After two years of playing in the famous, outstanding, awesome Mines ParisTech’s football team, Minchester Paris, I was quite disappointed to leave to Norway… Will I be able to find a place to play there?

I knew that Norwegians were quite interested in football, and despite the fact that their national team is not among Europe’s best ones, I hoped to find there a good place to practice. And the least I can say is that I was not disappointed! Football is almost a religion here, even more than in France I would say. In every tiny town or village you are sure to find a perfect pitch, most of the time with artificial grass, and children playing on it! It is also much more mixed than in France, and a lot of young girls play football as their main sport.

Thus, trying to find a team to play with was one of the first thing I did after arriving in Norway. Football is everywhere in Norway… what about in Porsgrunn then? There are actually a lot of clubs around, and among them ODD in Skien, in the top division. Then I started to write emails to different clubs… After a first refusal from Pors Grenland Fotball (“Unfortunately, we have a full squad for 2017”, true story) I contacted Urræd, another club in Porsgrunn, and had a first training with their U19 (under 19 years old) team. To be honest, their level was a bit higher than the one we had in Minchester ^^ Then the coach told me that for the first time he planned to create a student team with the university, and that I was very welcome to join them. However today, six months later, I am still waiting for this team to be born!

Where to play then? I joined several times people just playing for fun on weekends, but I was looking for real matches and competition… That is when I discovered the Kelda Vikings.

Kelda Vikings!

Kelda Vikings is Kelda’s football team formed by at least 15, 20 players and among them… only one person actually working at Kelda ^^ Glenn-Ole created this team with friends a few years ago and from then a lot of new players have joined the team: friends, relatives, colleagues, interns… We play in a summer league in summer and a winter league in winter (you still follow me, right?), and have indoor trainings (almost!) every week. Summer is 7vs7 matches and winter 5vs5, indoor (just like our French UrbanFootball).

I did not really know how people played in these leagues before joining the team, and I was actually quite surprised! The level is quite high and the game pretty tough and physical, especially for me ^^ That is definitely a different way of playing from Minchester: on small fields everything is quicker, and you have to be really organized as a team to handle both defensive and attacking phases during the whole match…

At office: books, thesis… and football cups!

But that’s what Kelda Vikings are able to do! That was really amazing to join a team where people know each other, know how to play as a team… That gave nice moves, goals and results! Indeed, despite our 40 years old average age we beat most of the times teams of 25, 30 years old guys, and won the summer league title (second division, but still!). And it is always exciting to play with a guy that remembers playing against John Carew in Norway’s junior cup…

Playing in that team was definitely amazing, and I really looked forward to Wednesdays and Thursdays to join the Kelda Vikings for a game or training. If you ever work in Kelda, do not make the mistake to try rugby with Porgsrunn Pirates, join Kelda football team instead! 😉

One day as an intern at Kelda

Hi,

my name is Adrien, I am a French student in Computer Science at Mines ParisTech and intern at Kelda from January to June 2017. In this post, I would like to give some insights of what it is like to be a web developer in this small company.

  • 8.30 am : my usual arrival time after 10 minutes of biking. No need for coffee, I’m well awake!

With another colleague, I am developing a web application to store, display and process data from drilling operations. We call it internally “Kelda Cloud Portal”. As Kelda is operating in Russia at the moment, a lot of data are flowing. So my working day usually starts with a look at the logs, everyday we upload gigabytes of data to a remote server, process them and store them in databases to make them available on the portal. Seems complicated, but it is actually much easier than getting the colleagues back from Siberia through helicopters, buses and planes!

 

  • 8.55 am: the “stand-up meeting”

Actually, we are allowed to seat, but it’s never for a long time. All employees are attending, including our 3 colleagues in Trondheim via Skype. In a few sentences, everybody says what he’s done the day before and his plans for the current day. It’s nice to have an overview of the whole company.

  • 9 am: let’s get work done!

We are using a task manager to organize the work. For the different projects, we writes ticket on tasks to do and bugs to solve. Today, I will start with a small feature request: saving the zoom configuration in a profile. Basically, if you have been digging in the data, you can save your work to get back to it later or share it with another user. But it would be even more useful to save the time period of the data you have been studying. That will keep me occupied until…

  • 11 am: lunch time, or “lunsjtid” as they say here, best part of the day for a French citizen!

The canteen is located three floors below, available to the few small companies sharing the building. I think it is a typical Norwegian meal: bread with cheese, ham, shrimp, jam… And there is also a salad bar with a large choice of healthy things. Although it is not that elaborate, it makes me reach everyday the recommended levels of fruits and vegetables and the bread is incredibly good. It is fresh, still warm, with corns… Now I understand better why Google & Co are invested so much in their canteens, it is a BIG perk!

  • 11.45 am: a few push-ups

With a few colleagues, we are taking part in the so-called “100 push-ups challenge”, it is quite self-explanatory…

Like a boss
  • 12 am: back to work!

This afternoon, I will work on a more long term feature: data privacy. The idea is to create groups of users and give rights for each data file to some groups and users. We cannot mix up data from different companies.

  • 3 pm: coffee tea break

It is not everyday like this, but usually on Fridays we have a small break together. It’s a good time to chat, prepare April fools day jokes or just lie in the big pouffe!

  • 5 pm: already time to leave!

Last saves, commits and push on GitHub before leaving. Norwegians usually start early and leave early, it is not uncommon to be the last one in office at 5.30pm! After work, I go running with colleagues (the Kelda Vikings) on Tuesdays or play Underwater Rugby with students. This is my typical day as a French intern in Norway 😉