[ETR #28] 2024 In 12 Errors You Must Avoid


Extract. Transform. Read.

A newsletter from Pipeline

Hi past, present or future data professional!

If you’ve ever seen the legendary American sitcom Seinfeld, you might be familiar with the fictional holiday the characters create, festivus, “A festival for the rest of us.” As a rejection of conventional winter holidays like Christmas/Haunnukah, a core part of festivus is the “airing of grievances.” While I have yet to attempt this in real-life, I’ve spent the past two years airing my grievances with aspects of data engineering with the intention of exposing you, the aspiring or beginning-career engineer, to niche errors that require on-the-fly problem solving.

Since, for many, it’s deep into the holiday season, I won’t take too much time listing all 12 errors; instead, here are three you’re most likely to encounter when first using technologies like Python, Airflow & SQL.

Erroneous datetime conversion

  • The problem: The vendor API & UI were in different time zones
  • The solution: Convert a timestamp to a datetime value and use the offset to subtract the correct amount of hours from UTC to generate the correct EST start time for the fetch, like I explain here

Creating Excessive Docker Images (And Killing Memory)

  • The problem: Creating a new Docker image without accounting for impacts on system memory
  • The solution: 1) Recognize that the Docker image doesn’t need to be recreated for small changes to a Python script. 2) Run Docker prune to remove unused containers, networks and images to free up memory

SQL: Using CREATE OR REPLACE TABLE() instead of INSERT()

  • The problem: Running a CREATE OR REPLACE TABLE() statement will recreate a table BUT it will also wipe useful metadata and data protection policies
  • The solution: Create a date range that encompasses the entirety of your table’s data and then run a delete statement. Personally, I use MIN() AND MAX() in a subquery

While understanding the possible errors you could encounter as a data engineer working with multiple technologies is helpful, I believe it’s just as important to cultivate a healthy mental approach to programming.

Programming is one of the coolest, most frustrating ways you can spend your time. The sooner you realize the absurdity of what we do, the sooner you’ll free yourself to make and learn from mistakes like the ones above and those I highlight in the full story.

Here’s to overcoming more bugs, blockers and annoyances in ‘25.

Happy holidays and thanks for ingesting,

-Zach Quinn

Extract. Transform. Read.

Reaching 20k+ readers on Medium and nearly 3k learners by email, I draw on my 4 years of experience as a Senior Data Engineer to demystify data science, cloud and programming concepts while sharing job hunt strategies so you can land and excel in data-driven roles. Subscribe for 500 words of actionable advice every Thursday.

Read more from Extract. Transform. Read.

Extract. Transform. Read. A newsletter from PipelineToDE Hi past, present or future data professional! I want to share the single most important realization I had back in the summer of 2021. I was burned out, juggling two part-time jobs, trying to plan a wedding, and drowning in full-time job applications. I felt overwhelmed and underprepared as I plunged into a sea of candidates I perceived to be more intelligent and better "fits" than me. My portfolio was full of the usual Titanic, Iris,...

Extract. Transform. Read. A newsletter from PipelineToDE Hi past, present or future data professional! One of the most validating and terrifying professional moments is reaching the final interview round. It is in this context that you meet candidacy’s final boss, who incidentally, usually ends up being your boss' boss. Specifically I’m referring to the department executive responsible for bringing in additional headcount, i.e. you. While this may sound intimidating, the role of the executive...

Extract. Transform. Read. A newsletter from PipelineToDE Hi past, present or future data professional! If you’re a job seeker in the data space, your GitHub portfolio has only one job: To act as a calling card that gets you to the next step of the hiring process. Too often, I review portfolios for potential referrals and see brilliant code buried under structural mistakes that have nothing to do with programming skill. Your GitHub is not just cloud storage for your code; it’s a public display...