The hardest problems in delivery are never technical. They are human. I've delivered complex embedded programs across Japan, the US, and Europe — multi-OEM, cross-timezone, technically-rooted.
I began my career building software, not managing it.
After three years as a developer at Samsung, I joined LG Electronics Vehicle Solutions in 2016. There, I worked across multiple automotive programs — starting as an embedded engineer on GM’s Head unit, and later leading TCU Linux platform development for global OEMs including GM, BMW, Honda, and Toyota.
By 2022, I was leading a 20-engineer team across programs spanning Japan, the US, and Europe, operating in environments where delivery cycles are long, dependencies are tightly coupled, and failure is costly.
"Over time, I became less interested in writing code, and more focused on how work moves through teams — where alignment breaks down, where risks surface too late, and how communication shapes outcomes."
That shift led me to project management. Years in Automotive systems taught me to focus on clarity, early risk visibility, and disciplined execution — especially in complex, cross-region environments.
Since April 2025, I’ve been a Project Manager at FPT Automotive, managing a Cluster program. I bring technical grounding and delivery discipline to help teams align early, move predictably, and deliver with confidence.
Real projects. Real constraints. What I did and what I learned.
I knew which option would protect the client. Management chose the other one — not because they disagreed, but because the cost wasn’t visible. That was my responsibility too.
The integration kept failing — but the root cause was never technical. It was a process that served the organisation's structure rather than the product's needs.
"I knew which option would protect the client. Management chose the other one — not because they disagreed, but because the cost wasn’t visible. That was my responsibility too."
In a project running two-month releases divided into two sprints, a dependency conflict emerged mid-cycle. Team A's commits affected tickets sitting across both sprints simultaneously — creating a fault line that would produce defects regardless of how we proceeded. The question was not whether we would pay a cost. It was when, and how much.
I identified two options. Option 1: pull the affected sprint 2 tickets forward into sprint 1 and fix the defects immediately. Option 2: delay the ten affected sprint 1 tickets to sprint 2, where they naturally belonged, and release them together once the full implementation was stable. The delay represented roughly 10% of the release — significant on paper, manageable in practice.
Management chose option 1. The reasons were understandable: 10% looked like a large delay, and nobody wanted to initiate a difficult client conversation. I defended option 2 — the internal release timeline would not move, only the customer-facing scope would shift, and the quality risk of pulling forward was real and specific. I was overruled.
The outcome was what I had anticipated. Three additional defects emerged. The team spent approximately one man-day explaining them to the client — the conversation we had been trying to avoid. Two to three man-days of overtime followed. The issues were not fully prevented. The client relationship absorbed the impact anyway.
Looking back, the issue was not the decision itself. It was how the decision was framed.
I made the argument. I did not build the case.
The risk was understood, but not felt.
I made the argument. I did not build the case.
The risk was understood, but not felt.
This experience changed how I approach tradeoffs. I focus on decision visibility — making the cost of each option explicit before a decision is made. Instead of describing risk, I quantify it: expected defects, rework effort, validation cost, and client impact.
The PM's job is not just to see the risk — it is to make that risk so visible, so concrete, and so impossible to dismiss that the decision becomes obvious to everyone in the room. A comparison chart does more than inform. It removes the comfort of not knowing.
"The integration kept failing — but the root cause was never technical. It was a process that served the organisation's structure rather than the product's needs."
The program was distributed across functional teams — middleware, application layer, communication stack — each supporting multiple projects simultaneously. Integration delays were predictable. Dependencies were real, but ownership was fragmented. Everyone could see the problem. The constraint was that the structure would not change.
So the question became: how do you deliver within it?
I focused on making the system visible end-to-end.
We introduced stub-based validation to test modules against expected behavior before integration. Misalignments that previously surfaced late were now caught weeks earlier, when the cost of fixing them was still low.
I shifted toward one developer per project where possible. The goal was not efficiency, but ownership — when someone could follow a module from implementation through integration, they began to anticipate downstream impact rather than react to it.
These changes did not alter the organisation, but they changed how work moved through it. Integration became more predictable, rework decreased, and issues surfaced earlier in the cycle rather than at the boundary.
Process that serves organisational convenience rather than product progress is an active drag. You may not change the structure, but you can ask if your team's process is moving work forward. Redesigning within constraints isn't insubordination — it's the job.
He was technically one of the best on the team. He was also someone most engineers quietly avoided. The problem wasn't his skill — it was that the environment around him had never been built to surface it.
The customer kept adding requests. Management kept absorbing them. Nobody was saying the one thing that needed to be said: every change has a cost, and someone has to own it.
"He was technically one of the best on the team. He was also someone most engineers quietly avoided. The problem wasn't his skill — it was that the environment around him had never been built to surface it."
His reputation made teammates nervous. He worked alone, responded poorly to process requests, and his directness read as dismissiveness. I started with 1:1s — not to address the behavior immediately, but to understand it. What I found: he cared deeply about quality and was frustrated by what he saw as unnecessary overhead. He wasn't resistant to work. He was resistant to process that felt disconnected from outcomes.
I publicly acknowledged his technical contributions. I created space for his preferred working style while coaching teammates on how to engage with his personality. For a while, that was enough. Then a PM escalated — he had stopped updating tickets and wasn't responding in chat. I had a direct conversation: his reasoning was coherent (status updates felt like overhead), but he hadn't considered the ripple effect on a multi-timezone program where his silence created blockers for people he never met.
After that conversation, he started updating tickets. He began asking teammates whether they needed help before closing his own work. Engineers started seeking him out for reviews. The change wasn't in his skill — it was in the visibility of that skill. The environment had been redesigned to make his capability accessible.
Difficult behavior usually has coherent internal logic. Understanding is half the work. Talent that can't be accessed isn't an asset — it's friction. The PM's job is to close that gap.
"The customer kept adding requests. Management kept absorbing them. Nobody was saying the one thing that needed to be said: every change has a cost, and someone has to own it."
I joined midway. The setup was already under strain: a small functional team working on a reused codebase originally built for a different vehicle model. As it was adapted to the new model, mismatches introduced defects that were not always predictable upfront. Device availability was limited, and developer turnover added further instability.
The specification itself was not unclear, but difficult to navigate and trace, which slowed down alignment and made impact analysis harder.
The customer, a Tier 1 Japanese OEM, had an onsite SME with direct access to management. Requests did not arrive as formal changes, but as a steady stream of additions — each reasonable in isolation.
Over time, the system accumulated hidden cost.
I focused on making that cost visible.
Every new request was mapped against team capacity with a clear tradeoff: if this comes in, something else moves out. Instead of rejecting requests, I made their impact explicit — in effort, risk, and delivery impact. This shifted the conversation from “can we do this?” to “what are we willing to trade?”
For ad hoc requests, I negotiated timing rather than scope. This reduced friction with the customer while protecting the team from immediate disruption.
I also established a change control forum that brought developers, tech leads, testers, and the onsite SME into the same discussion, supported by data. Decisions were no longer absorbed informally. They were made explicitly, with shared visibility of their impact.
When a wave of defects surfaced late in the cycle — driven in part by reuse mismatches between models and limited validation conditions — the same principle applied. The team worked overtime to stabilize the release, while I escalated the resource constraint with concrete options attached. The goal was not to push back, but to make the tradeoff visible: quality, timeline, and team capacity could not all be optimized simultaneously.
These changes did not remove the constraints — codebase reuse across models, limited devices, and team turnover remained — but they changed how decisions were made within them. Tradeoffs were surfaced earlier, expectations became clearer, and scope was no longer expanded without consequence.
Scope creep is rarely a planning failure. It is a communication failure — the accumulated weight of costs never named, risks absorbed silently. The baseline is an agreement, not a constraint. Every change is a renegotiation. The PM's job isn't to absorb quietly — it's to make cost visible and put the decision in the right hands.
Every team I've worked with already had what it needed to succeed. The knowledge, the drive, the capability — it was there. What was missing, when things went wrong, was never talent. It was the conditions to use it.
Frameworks, JIRA, gate reviews — in any complex organisation, process is non-negotiable. But I've seen teams drown in overhead while nothing progresses. The right process at the right phase moves the build forward. When it doesn't, I challenge it.
People rarely fail because they lack skill. They fail because something important was never said — a doubt, a dependency, a misread expectation. The real work of delivery happens in the space between people, not in the tools they use.
Five patterns that define how I approach projects, people, and pressure. Consistent across every context.
The most costly mistake a project manager can make is to impose structure before understanding the system. Before any plan takes shape, I invest time in observation — studying how the team communicates, where decisions actually get made, and where latent friction exists. Only once that picture is clear does a meaningful kickoff become possible: roles defined, objectives aligned, risks surfaced on day one. Speed without that foundation is not efficiency. It is exposure.
Understand the system before you attempt to improve it.
Research consistently shows that teams perform best when they feel supported rather than monitored. My approach to daily communication reflects that distinction. Touchpoints are brief, purposeful, and structured to surface issues before they compound. The meeting that could have been a message is a symptom of poor communication design — not diligence. The goal is a team that moves with clarity, not one that moves under observation.
Presence without pressure. Contact without control.
When delivery timelines are under pressure, the instinct to accelerate is understandable but often counterproductive. The more disciplined response is to ask a harder question: what can be removed without compromising what actually matters? Organisations frequently conflate the original plan with the intended outcome. They are not the same. Scope is a variable. The outcome is the commitment. Distinguishing between the two under pressure is where experienced judgment becomes most visible.
The outcome is the commitment. Everything else is negotiable.
Delegation, when it fails, rarely fails at the moment of transfer. It fails in the absence of preparation that should have preceded it. Effective delegation requires deliberate investment — structured training, consistent feedback, and a clear-eyed assessment of an individual's readiness before ownership is extended. Without that foundation, delegation is simply redistribution of work, not development of people.
Delegation without preparation is offloading with a different name.
Stakeholder confidence is not built through communication volume. It is built through consistent follow-through, over time, without exception. My approach is straightforward: commit to what is achievable, deliver without requiring reminders, and surface problems early — always paired with a proposed resolution. Trust, once established on those terms, becomes the most durable asset a project manager can hold.
Under-promise. Over-deliver. Let the pattern speak.