Extract. Transform. Read.A newsletter from Pipeline. Hi past, present or future data professional! This holiday season will be a little less bright thanks to my lack of personal GitHub commits. Like you, I began 2024 full of ideas and motivation that, let’s be honest, was depleted by the end of Q1 when I was cranking out enough code at work that would please even notorious code volume stickler Elon Musk. Despite my lacking output, I managed to hunker down to create useful “bespoke” (a.k.a. self-created) data tools to save hours on tedious work. Even if you don’t take inspiration from the code or create similar code, my hope is that you’ll come away with 1 takeaway: Coding for function == coding for fun. As a beginner it might make sense to spend hours processing available datasets to refine coding techniques and get comfortable with data manipulation; however, as you gain experience you’ll realize that some hobby projects can hit the trifecta of programming satisfaction.
You might not think “fun” when you think of parsing Walmart receipts to reign in grocery spending, but that’s what I spent 1-2 hours coding up once I realized my Walmart Plus usage was getting a bit “spendy.” The added bonus is that the parser can be leveraged to either calculate groceries or, in a much more relevant application, help me determine what items were missing from my order (the double-edged sword of passive shopping); read more. Once I discovered and gained experience with PDF parser PyPDF, I began to see a variety of applications, including the parsing and ingestion of 6-8 page credit card statements. Since financial data is notoriously difficult to obtain, being able to cleanly and reliably process credit card statements provides transparency for my spending habits. In an earlier edition of this newsletter I mentioned iterative backfilling as one of my top recommendations for small-scale automation; I literally spent 4 hours at work running a script that functions nearly identically to what I outline here. As a bonus, I didn’t even have to be in the room. Although Python served me well for projects this year, I’ve developed an appreciation for Google Sheets’ data connections. Instead of having to update a static sheet of sources I reference in my published work and in these notes to you, I created a very niche search engine using only a Sheets connection and a bit of SQL. If you’re even an occasional BigQuery user, check it out. While I’ve enjoyed coding these backend builds, in 2025 I’d like to venture out of my comfort zone and create simple UIs for builds I access repeatedly or would like to share in a neater format. If you’d like to read the expanded, published version of this newsletter, you can do so here. Thanks for ingesting, -Zach Quinn |
Reaching 20k+ readers on Medium and over 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.
Hi fellow data professional! This edition almost became an apology because I’ve been on a tight deadline and pre-baby morning wake up thinking/writing time has become GSD (get sh!t done) hour. Long story short: I got brought in late to a time-sensitive project that required me to speed through a planned pipeline migration. As a recovering news junkie (aka journalist), I used to live and die by deadlines. But, given the unpredictability of data-oriented work and internal deliverables, it’s...
Hi fellow data professional! For years, the opening of The Simpsons, specifically Bart writing lines on the chalkboard, has been incredibly relatable to me. Not because I’m up to mischief (none I’ll admit to here, anyway), but because I spend most days writing the same three lines of SQL over and over again. If you've ever been paranoid about a table's content, you might know what I'm talking about. It’s the aggregate COUNT(*) grouped by a date field, ordered by date DESC. The output of that...
Hi fellow data professional! In a previous newsletter, I mentioned an idea that I wanted to explore deeper. At the risk of double-quoting a la The Office’s Michael Scott quoting Wayne Gretzky (“You Miss 100% Of The Shots You Don’t Take - Waynze Gretzky - Michael Scott”), here is the idea. “To be marketable as a candidate, you don’t just want to show how you can go from A to B (requirements->pipeline). You need to go from A to C (requirements->pipeline->scale/support).” You might be asking...