The Joy of Applying the Latest Open-Source Technology
The role of Data Engineer can be considered as one of the most sought after positions. What does it mean to be a data engineer and how does it differ from being a software engineer or being a data scientist? Fokko Driesprong, data engineer at GoDataDriven, took the time to give us a glimpse of his daily life.
A Day in the Life of Fokko Driesprong, Data Engineer
As soon as I have arrived at the client's office and have brewed myself a cup of coffee, the first thing I do is open Slack to see if there are any notifications from Apache Airflow. Usually, these are low-priority notifications, as all urgent notifications are always taken care of upon the first notification. If it's an easy fix, I'll get on it right away. If not, I'll schedule it for later or delegate the issue to a team member.
At 9.30 am, the team gathers for the daily stand-up. This is where we discuss yesterday's progression, today's schedule, and any issues we're having. On Thursdays every other week we discuss the sprint schedule to determine what we'll be working on.
Picking The Best Technology for Any Project
My job requires me to work on very diverse projects. The thing that I enjoy most is employing the latest technology for every client, preferably open-source.
For instance, right now I'm working on containerising event stream collectors, to run them on a Kubernetes cluster. It's always a joy to work with our in-house developed open-source clickstream collector, Divolte, but I don't mind using other collectors too.
For another client, I recently implemented a Druid platform. There, I had the opportunity to work with Deck.gl, a Superset integration to visualise data in 3D on a map. The cool thing is that Superset was developed by AirBnB as a data exploration tool and that this specific integration was developed by Uber.
Business-Critical Systems with Terabytes of Data
More and more of my work takes place in the cloud, for example setting up date infrastructure on AWS or GCP. When configuring buckets, I make sure that sensitive information - such as personal details - is properly protected using service accounts.
Because I often work on business-critical systems with terabytes of data flowing through them, it's important for me to be well versed in the underlying technology. If the systems crash, end users no longer get recommendations or the managers' figures run out of date. When that happens, people get nervous. Naturally, that's something I always try to prevent.
Giving Back to the Community
In my work, I use a lot of open-source products. I value giving back by contributing to open-source projects a lot. I am an Apache Airflow committer and Apache PPMC member, I also regularly contribute to products like Apache Spark, Apache Flink, and Druid.
Recently, one of my pull requests, making it possible to process Parquet files, got merged for Druid. For one of my clients, I wrote a connector that enables Apache Spark to read and write data to the object store of the Open Stack private cloud platform.
New tools are made available every day, so needless to say, I'm constantly working to keep my knowledge up-to-date. I read a lot of blogs and I keep up with interesting projects on Github. At GoDataDriven, continuous knowledge sharing is ensured by for example our biweekly knowledge exchanges on Tuesdays and the GoDataDriven Fridays. During this day, everyone gets time to work on their own projects. Me and my colleagues receive a generous training budget, which I use to attend conferences such as Berlin Buzzwords, Spark Summit or Strata Hadoop. As colleagues, we also regularly consult with each other to discuss solutions to challenging issues.
I think it's important for any organization to develop the ability to work with the system or product we developed independently. That's why I don't mind spending time with the client behind the MacBook to give them instructions.
Because I often work on business-critical systems with terabytes of data flowing through them, it's important for me to be well versed in the underlying technology. If the systems crash, end users no longer get recommendations or the managers' figures become out of date. When that happens, people get nervous. Naturally, that's something I always try to prevent.