My week as a Machine Learning Engineer
Hi! Welcome to my week! My name is Keje Sinnige and in this blog post I’ll share my activities of being a Machine Learning (ML) Engineer at Enjins. Each day I’ll describe my activities ranging from project kick-offs to coding. Let’s start with the Monday!
Every Monday we start with a stand-up, discussing what happened last week and what’s going to happen this week. besides informing everyone about your tasks, you’ll get an opportunity to express your personal status as well. The purpose is to get everyone on the same page and up-to-date about the projects. This week I have to propose a new data warehousing architecture that includes a snowflake schema. So I ask my colleagues if anyone has tips and tricks or a template I can use.
Monday morning I start with debugging the scraper I built for a client. The Datetime on the pdf changed to another format. People told me that being a data scientist would be the sexiest job of the 21st century. I’m not sure if they meant to include all the Datetime conversions, haha. However, I fixed it with more robust regular expressions, so it won’t happen again. Next to this, some new suppliers were added to the pdf, so I added the new Supplier ID’s to the SQL database and the second problem of the day was solved!
Today, we have a special day! We celebrate the first birthday of Enjins! So around 4 o’clock, we go chill in the sun on a boat for a few hours through the Amsterdam canals. As a present we got these awesome geeky sweaters.
Today is the kick-off of a new project, our client, a Fintech company will come to the Enjins office. Before starting a kick-off we usually get together with the project team to discuss the project and its scope. This time Nick and I also talked about the expectations of the project.
Being a ML Engineer means that you are partially a data scientist as well as a data engineer. You are therefore able to identify the hidden secrets of the dataset, build ML algorithms, and implement this in a data infrastructure. In this case, the project is focussed on realising a scalable data infrastructure for our customer.
The goal is to improve the data models such that they are organized in an efficient way. We identified the most important tables and how they could be improved to make them more reliable, scalable and secure. After our meeting, we summarised the findings and started working out the agenda for next week. I will visit their office and propose the steps for improving their database.
A day at the Berkman office! I am always excited to go to their office, today I am working on a model in Python to predict prices. We want to select the optimal price of suppliers based on market data. A lagged time series correlation seems to do the job! Using the lagged time series cross correlation which identifies the directionality between two signals, such as leader follower relationships, we built a regression model. My experience is that starting with basic regressions for data modelling is a wise choice. Often less is more and the model doesn’t become a black box.
Since we deliver code changes frequently in this stage of the project, we implemented CI/CD which stands for continuous integration and continuous deployment. This is a great tool that can be implemented in Gitlab, especially because our scripts are used by the organisation. We want to make a clear division between deploying code on test and production, reducing the errors.
Enough with the nerdy talk, working at a client gives you the possibility to have a little peek in their field of experience. At Berkman I got the chance to see what their core business is about. Spending the afternoon seeing their trucks and speaking with the employees really helps to fully understand the business. It is very important to see with my own eyes where the decisions supported by our ML solutions have impact.
Another day, another client! Together with Maarten and Tevhide I go to the Triodos office. Today we start a new part of the existing project, however, I am new to this project. So, we start the day with a cup of coffee and a chat. We spent most of the morning on getting me up to date on the project. I find it very important to know as much as possible about the business and projects before we start a kick-off. This way I can ask the right questions and give confident answers.
The afternoon we meet for the kick-off, discussing the details of the project. I try to focus on making sure we have everything we need to actually start the project. Like gaining access to the data, expectations, deadlines etc. After the meeting we sit together with the Enjins team, discussing the goals and timeline of the project and plan important meetings.
On a day like this, the technical me steps back and the social and communicative me appears. That is what’s so great about the job, a bit of both worlds.
The last day of the week, everyone comes back to the Enjins office. A day where we catch up, ask each other for help and try to share our knowledge and experiences. I start to investigate what work I will finish today and what I’m going to do next week. Friday means Learn At Lunch at the Enjins Office, during the lunch we share knowledge about very diverse topics. Last week Vicky talked about a project she is working on at Vlucht-Vertraagd and today Lars will tell us something about Kubernetes. Lars is already experienced in implementing Kubernetes so sharing his knowledge can speed up the rest. He will explain to us why Kubernetes is a great tool, when to use it and where we can find the documentation to actually implement Kubernetes for other clients.
After finishing our last work of the day with a beer on the desk, we walk out of the office. We are going to have some drinks and bites at Noorderlicht Café with colleagues. We also invited Koen and Jurre, who are starting soon to work as a Machine Learning Engineer at Enjins as well. A nice way to get to know our new colleagues and give them a welcome feeling. Drinking some beers and dancing the night away with the good vibes of a reggae band playing live.
Workweek of a ML Engineer
Being a Machine Learning Engineer at Enjins means that you have a diverse job. Besides training your algorithms, the job includes many other aspects such as preparing a project, understanding the business, and implementing engineering elements. For me, the combination between the tech (data science/engineering) and the business makes my work attractive. Combine this with awesome colleagues and you have great place to work at! If you have any questions regarding the job, please feel free to contact me on my LinkedIn or by using the contact button below.
Please fill in your e-mail and we'll update you when we have new content!