Author: lalligood

9 Rules To Interviewing For Data Engineer Jobs

This post is the first of two covering interviewing from 2 different perspectives: as the interviewee & the interviewer. It seems like there’s probably (at least!) one post a week on reddit’s /r/dataengineering asking for advice about getting a DE job, and many of the posts seem to hover around dealing with/getting past impostor syndrome. […]

Another Way to Dynamically Create New Tasks: Factory Methods

New project, new challenge. This time I wanted to create very similar tasks (in this case to drop indexes), however, I didn’t want to be locked in with doing those similar tasks at the same time (read: in parallel with help from an iterable). So while I will not even pretend to be the originator […]

PostgreSQL Foreign Data Wrappers: file_fdw

If there’s one thing that I love about PostgreSQL, it’s foreign data wrappers (FDW). Being able to create a connection to another source–usually another database–can make the seemingly impossible possible. However, it’s essential to understand what they do–and may not/don’t do–before you go creating them on your production database. Before I get any deeper into […]

Marking Tests as “Happy” or “Sad” with pytest

I was watching the video of a talk on Advanced pytest from EuroPython 2019 where the presenter (also a pytest core developer) used some interesting decorators in his slides (actually his blog). Being rather familiar with @pytest.mark.parametrize(), it wasn’t entirely obvious at first what @pytest.mark.wip, @pytest.mark.happy, & @pytest.mark.sad were doing or functionality they provided. However, […]

Why Setting an SLA for Your DAGs Might Be a Very Good Idea

While I feel like I’d already taken plenty of steps to be notified if there’s a problem when a DAG fails, I recently discovered that I hadn’t done anything to catch those scenarios where a DAG takes longer–or in my case, a lot longer–to complete (or fail) than normal. Thus, the need to learn how […]

Complex Formatting of Results in List or Dictionary Comprehensions (or Generators)

I love the power that comes with list (or dictionary) comprehensions or generators in Python. I also despise the code pattern of iterating over object and appending the results to another list. Let’s keep an example simple with a list comprehension performing a single calculation on each value in the original list: In either bits […]