Software engineering is a job of constant learning. The good news is that engineers have a ton of resources to learn: the Internet, books and classes, and, maybe most importantly, other engineers. The bad news is that nobody tells you how to use these resources to learn. In this post, I’m going to present three pieces of advice for a very specific type of learning: learning from experienced engineers.

First thing’s first, what do I mean by experienced? It’s important to note that I’m actively avoiding labels like “senior” or “principal” because I don’t mean an engineer with a specific…

Recently at Materialize, I created our first (and my first!) Homebrew package. My helpful coworkers pointed me to documentation about how to write a Homebrew Formula, but the guides I found online didn’t explain how installing software with Homebrew worked. In this post, I’m going to explain how Homebrew works by walking through a tiny example: brew installing a Rust program that simply prints “Hello, world!”

Hello, world! in Rust

I’ve already created a “Hello, world!” program in Rust using Cargo, Rust’s package manager, and pushed it to a new GitHub repository. …

Tl;dr: only use Kubernetes Operators

At Bluecore, we have been investing in Airflow as our primary workflow management tool. After a few months of work and promoting the platform internally, we found that we still had low adoption across the team. Overall, engineers reported that the cost of moving workflows to Airflow was too high. Not only did they have to learn about Airflow, develop their DAGs, and test and debug in an entirely new environment, engineers frequently found themselves debugging unexpected Airflow issues (like the one we wrote about here).

When we spent time digging into the wide range…

TL;DR Airflow’s SubDagOperator causes deadlocks

At Bluecore, we love data. Our products rely on crunching lots of data to help our eCommerce customers provide personalized experiences through email, advertising, and customized on-site experiences. As we continue to add more products, we have had an increasing number of ways to manage data processing workflows. Instead of maintaining N different systems to control our data workflows, we want to consolidate our data processing onto a single platform.

As Simple As Possible, As Powerful as Necessary is a cultural maxim at Bluecore engineering. In the early days of our product evolution, we built…

Jessica Laughlin

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store