# principal engineer

Published articles for principal engineer.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## I Failed to Implement the Diameter of a Binary Tree in a Coding Interview

DevFeed: [I Failed to Implement the Diameter of a Binary Tree in a Coding Interview](<https://devfeed.tech/articles/i-failed-to-implement-the-diameter-of-a-binary-tree-in-a-coding-interview-20517.md>)

Original publisher: [Read original article](<https://code.dblock.org/2025/06/21/i-failed-to-implement-the-diameter-of-a-binary-tree-in-a-coding-interview.html>)

Author: Daniel Doubrovkine (dblock@dblock.org)

Published: 2025-06-21T01:00:00Z

Content type: opinion

Language: en

Sources: [Daniel Doubrovkine](<https://devfeed.tech/sources/daniel-doubrovkine.md>)

Topics: [LeetCode](<https://devfeed.tech/topics/leetcode.md>), [coding](<https://devfeed.tech/topics/coding.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [advice](<https://devfeed.tech/tags/advice.md>), [ai](<https://devfeed.tech/tags/ai.md>), [coding](<https://devfeed.tech/tags/coding.md>), [interview](<https://devfeed.tech/tags/interview.md>), [interviewing](<https://devfeed.tech/tags/interviewing.md>), [junior](<https://devfeed.tech/tags/junior.md>), [principal-engineer](<https://devfeed.tech/tags/principal-engineer.md>)

### AI overview

A Principal Engineer recounts freezing during a basic coding interview despite decades of programming experience. The article offers advice for recovering from interview failure, including maintaining perspective, practicing, and recognizing the role of luck in LeetCode-style interviews.

### Source excerpt

Six months ago I failed a basic coding interview at a FAANG. Yes, I was a Principal Engineer, and yes, I was paid absurd amounts of money, yet I couldn't implement a diameter of a binary tree as a "warm up" exercise, 10 lines of code. The interviewer was very nice about it, and was equally surprised. You see, I've been coding for 35 years, and I am not "rusty" at it, which is a typical excuse for senior ICs bombing LeetCode interviews. At that time I was writing code every day. I simply froze, and couldn't do it. All I could think of was "why the hell am I here doing this to myself?". I couldn't turn my brain around, apologized, cut the interview short, and, while I did ace several coding interviews at other companies for IC roles, went back to management for which I am, obviously, more qualified. Did you just bomb a coding interview? Here's some practical advice of how to deal with it. First, keep your head high and do not let this negative experience get to you. It feels awful, but unless you are blogging about your failure to implement the diameter of a binary tree, nobody other than you and the interviewer will ever know. Most likely the interviewer was also a half asleep drone deep inside the borg, administering a coding puzzle every day to the next sucker, so they will forget about you the next day. I see a lot of junior Engineers affected by failing at these. If you are recently out of college, it's helpful to think of these interviews as a school test, such as an SAT. I never had to take SATs (my children did), but most European schools have oral exams where you get a ticket from a jar with the problem statement. I had slept through too many alarms to attend an 8 AM physics class around 1996 because of a grueling late night partying schedule, and only really knew maybe half the material. Luckily 2/3 questions in my ticket overlapped with those classes I did attend, and so I did well. If you don't like school and prefer video games, think of these interviews

## How Dispatch speeds up development with Neon while keeping workloads on Aurora

DevFeed: [How Dispatch speeds up development with Neon while keeping workloads on Aurora](<https://devfeed.tech/articles/how-dispatch-speeds-up-development-with-neon-while-keeping-workloads-on-aurora-5348.md>)

Original publisher: [Read original article](<https://neon.com/blog/how-dispatch-speeds-up-development-with-neon-while-keeping-workloads-on-aurora>)

Author: Carlota Soto

Published: 2024-10-14T15:31:55Z

Content type: article

Language: en

Sources: [Blog -- Neon Docs](<https://devfeed.tech/sources/blog-neon-docs.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Microservice](<https://devfeed.tech/topics/microservice.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>), [sdlc](<https://devfeed.tech/topics/sdlc.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Availability](<https://devfeed.tech/topics/availability.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [agile](<https://devfeed.tech/tags/agile.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [availability](<https://devfeed.tech/tags/availability.md>), [aws](<https://devfeed.tech/tags/aws.md>), [backups](<https://devfeed.tech/tags/backups.md>), [case-studies](<https://devfeed.tech/tags/case-studies.md>), [cost](<https://devfeed.tech/tags/cost.md>), [development](<https://devfeed.tech/tags/development.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [microservices-architecture](<https://devfeed.tech/tags/microservices-architecture.md>), [ops](<https://devfeed.tech/tags/ops.md>), [pii](<https://devfeed.tech/tags/pii.md>), [principal-engineer](<https://devfeed.tech/tags/principal-engineer.md>), [sdlc](<https://devfeed.tech/tags/sdlc.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [team](<https://devfeed.tech/tags/team.md>), [us](<https://devfeed.tech/tags/us.md>), [verification](<https://devfeed.tech/tags/verification.md>)

### AI overview

The article describes how Dispatch uses Neon branching to create isolated development and verification environments without copying large volumes of data. Dispatch is transitioning from a monolithic system to a microservices architecture, using replicated workload data with personally identifiable information excluded for testing. Neon's serverless writer endpoints are intended to address Aurora's single-writer bottleneck and reduce overprovisioning costs during spiky traffic, while Neon branches accelerate the software development lifecycle.

### Source excerpt

"Neon's branching paradigm has been great for us. It lets us create isolated environments without having to move huge amounts of data around. This has lightened the load on our ops team, now it's effortless to spin up entire environments."Jonathan Reyes, Principal Engineer at Dis...

## Data Quality at Udemy -- Part 1

DevFeed: [Data Quality at Udemy -- Part 1](<https://devfeed.tech/articles/data-quality-at-udemy-part-1-26351.md>)

Original publisher: [Read original article](<https://medium.com/udemy-engineering/data-quality-at-udemy-part-1-63e3b099ff81?source=rss----19c6d3367ed4---4>)

Author: Murat Migdisoglu

Published: 2023-09-06T22:01:16Z

Content type: article

Language: en

Sources: [Udemy Engineering](<https://devfeed.tech/sources/udemy-engineering.md>)

Topics: [Data Quality](<https://devfeed.tech/topics/data-quality.md>), [data-architecture](<https://devfeed.tech/topics/data-architecture.md>), [data lake](<https://devfeed.tech/topics/data-lake.md>), [Apache Spark](<https://devfeed.tech/topics/spark.md>), [airflow](<https://devfeed.tech/topics/airflow.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>)

Tags: [airflow](<https://devfeed.tech/tags/airflow.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [data-architecture](<https://devfeed.tech/tags/data-architecture.md>), [data-catalog](<https://devfeed.tech/tags/data-catalog.md>), [data-governance](<https://devfeed.tech/tags/data-governance.md>), [data-lake](<https://devfeed.tech/tags/data-lake.md>), [data-lineage](<https://devfeed.tech/tags/data-lineage.md>), [data-quality](<https://devfeed.tech/tags/data-quality.md>), [data-quality-management](<https://devfeed.tech/tags/data-quality-management.md>), [pipelines](<https://devfeed.tech/tags/pipelines.md>), [principal-engineer](<https://devfeed.tech/tags/principal-engineer.md>), [quality](<https://devfeed.tech/tags/quality.md>), [spark](<https://devfeed.tech/tags/spark.md>), [streaming](<https://devfeed.tech/tags/streaming.md>)

### AI overview

This article describes Udemy's efforts to improve data quality by establishing an end-to-end data lineage solution. It explains how distributed data ownership and self-service analytics make lineage important for impact analysis, change management, and identifying unused columns or orphan tables.

### Source excerpt

Data Quality at Udemy -- Part 1Data Lineage Demystified- Why it Matters and How to Leverage its Magic for Informed Business Success! In late 2020, upon joining Udemy as a principal engineer for the data platform team, my focus shifted toward enhancing data quality within the organization. My journey began with conducting a comprehensive poll across the data organization, aimed at identifying the key pain points of data users. The results of the poll were eye-opening, revealing that 78% of users considered the absence of data provenance/lineage as a data quality issue. Furthermore, it was obvious that for a vast majority of the users, the inability to track data lineage was an important problem in impact analysis and detecting unused columns or orphan tables in the system. Inspired by these insights, I took the initiative to propose and launch two transformative projects. The first one, which is the subject of this article, is an ambitious initiative to establish a comprehensive end-to-end data lineage solution that will revolutionize our data ecosystem. The second project centers around data monitoring, which will be explored in another post. Udemy's sophisticated data architecture revolves around a data lake fed by diverse pipelines: system logs, streaming data from services, CDC listeners for replicated service databases, and more. The backbone of data transformations lies in Hive and Spark, while Airflow takes charge of orchestrating thousands of these pipelines. Unraveling Data Flow Complexity: Data Lineage in Growing Data Driven Organizations In the early stages of an organization's data-driven journey, data lineage may not be deemed crucial. With just a few pipelines managed by a centralized team, the dependency tree of the workflow orchestration typically suffices to comprehend the relationships between data entities. However, as the business scales up, relying on a single centralized team for all data flows becomes a bottleneck. Consequently, data organizatio