Data Gibberish

Data Gibberish

How To Stop Waiting For Permission To Lead Data Engineering

If you want to be a Staff Engineer you need to start thinking about the business logic before the code.

Yordan Ivanov's avatar
Yordan Ivanov
Jan 14, 2026
∙ Paid

There is a dangerous comfort in believing that the path to a Staff Engineer role is paved with nothing but perfect unit tests and reliable pipelines.

Most of us start our careers under the impression that technical skill is a linear progression where more complex code eventually equals more seniority, yet we quickly find that keeping the system running is merely the bare minimum expected of any competent professional. If you spend your days waiting for a manager to notice your flawless execution and reward you with a leadership title, you are essentially treating your career like a background process that you hope will eventually return a successful result.

Moving into a position of real influence requires a fundamental shift in how you view your contribution because you have to move away from the safety of the Jira board and toward the messy, undocumented places where the business logic actually lives.

When you stop treating your job description as a boundary and start treating the business itself as your primary architecture, you begin to solve problems that your manager hasn’t even identified yet.

In a high-growth company, the promotion isn’t a reward for past performance so much as it is a formal recognition of the responsibility you have already seized by making yourself a structural necessity to the team.

Data Gibberish is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.

The Definition of Your Role Is Rarely What You Think It Is

The term “Data Engineer“ has become so diluted that I’ve seen anything from an analytics professional who is slightly more comfortable with SQL to a systems engineer who happens to be moving data calling themselves data engineers. During my first two years in this field, I referred to myself strictly as a Programmer because I viewed my pipelines as a software engineering problem rather than a data problem. I spent my energy building complex classes and comprehensive unit tests as if I were building a backend service.

The truth is that you can be the most technically gifted developer on the team and still find yourself stuck in a dead-end position because your personal standards for “good code” are decoupled from the value your organization actually wants you to provide.

Before you can force a promotion into a lead position, you have to reconcile your own definition of the job with the one your company currently supports. If you are working in an environment that treats data as a secondary concern or views engineering as a cost center to be minimized, your efforts to introduce sophisticated architecture will likely be met with indifference or even frustration.

You must verify that the path you want to take is actually feasible within your current company before you invest the effort in assuming those higher-level responsibilities. If the gap between your vision of engineering and the company’s expectation is too wide, you aren’t fighting for a promotion so much as you are fighting against the culture of the business itself.

How To Assume Leadership Without Asking For Permission

Assume the Responsibilities of a Lead by Fixing the Structural Rot You See Every Day

If you want to move beyond the role of a code monkey, you have to realize that the most impactful work is rarely found on a Jira board. Most teams are drowning in technical debt or fragile logic that everyone has simply learned to live with, yet the engineers who eventually reach a Staff level are the ones who stop accepting these inefficiencies as inevitable.

You don’t need a permission slip to start documenting the state transitions of your core business data or to build a validation layer for the one report that the CEO actually checks every morning. When you take it upon yourself to stabilize the infrastructure that the entire company relies on, you are already performing the function of a lead engineer regardless of what your current contract says.

This shift from execution to ownership is the core difference between being a Technical Expert and a Code Monkey. While the code monkey follows instructions to the letter, the expert ensures that the instructions are worth following in the first place.

In a smaller company, this often means identifying the “Ghost Problems“ that cause silent data drift or 2 AM pages and fixing them without being asked. When you proactively remove a systemic risk that your manager hadn’t even identified yet, you are no longer just an individual contributor because you have started to manage the technical health of the entire business.

Build the Tools That Make Your Entire Team Faster

As a senior engineer, you are judged by by your own output, but as a lead data engineer your output is your team’s output.

User's avatar

Continue reading this post for free, courtesy of Yordan Ivanov.

Or purchase a paid subscription.
© 2026 Yordan Ivanov · Publisher Privacy ∙ Publisher Terms
Substack · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture