Maybe it’s because I’ve always been a bit of an oddball. Unorthodox. Different in how I learn and work. And more than a little undercooked in the “hard” skills you’d expect from a capital-D Designer or capital-E Engineer. I wasn’t the pixel-perfect one. I wasn’t the “let me rewrite this high-performant low-level algorithm” one.
So early in my career, I leaned hard into the other side—the soft side. Communication. Organization. Time management. The skills that felt less glamorous, less prestigious—but accessible. Approachable. Mine to grab. While others obsessed over pixels or perfect code, I tried to be the person who connected the dots, kept the momentum, got people talking. Maybe it was my way of compensating. Or maybe just a way to wrestle with my own imposter syndrome.
What started as a workaround—compensating for what I thought were shortcomings—slowly became a strength. Along the way I picked up more hard skills, sure, but I kept deepening the softer ones. And as I moved through different teams and projects, I began to notice something:
For all our talk about frameworks, systems, and processes… the real challenges that trip people up are almost always soft.
The pattern
Even now, operating pretty comfortably in the software world, it still surprises me how often these same issues come up. They rhyme, again and again.
In my 1:1s—more than 90% of them, across functions, across levels from IC1s to C-suite—the conversation eventually circles back to soft skills.
Most of the struggles boil down to two deeply human problems:
- We need to talk to each other more.
- We need to work with each other more.
Simple. Obvious. But not easy. Never easy.
Because the blockers usually aren’t technical. They’re not missing APIs or broken pipelines. They’re softer, slipperier things: Fear. Misunderstanding. Mistrust. The kind of friction that doesn’t show up on a Jira ticket but grinds everything to a halt all the same.
It’s the hesitation to ask for help because you don’t want to look stupid. The vague assumptions made in passing that harden into misalignment weeks later. The snowball of subtle paper cuts—the meeting that should’ve been scheduled but wasn’t, the note that should’ve been written down but got left in someone’s head, the “tiny” follow-up that everyone assumed someone else would handle.
And suddenly, the real blocker isn’t code—it’s the hundred little “I’ll do it later” or “someone else will do it” moments that never got done.
And no one did.
And the instinctive response I see often—“let’s add more process”—well intentioned, but rarely helps much. Another standing serendipity forced meeting on the calendar. Another cross-functional sync with no prep and no follow-through. Another framework or ritual layered on top of the existing ones.
Instead of closing the gap, it widens it. People show up out of obligation, not intent. The signal gets buried under ceremony. The energy that could’ve gone toward solving the real problem gets spent performing the process itself.
What helps
What actually works isn’t heavier frameworks or shinier rituals. It’s smaller. Scrappier. More human.
Ad-hoc connection. A quick “got a sec?” ping. The remote shoulder tap. No calendar block, no agenda doc—just two people hopping on a call and working through the thing in real time.
It’s less about efficiency and more about presence. You listen. You watch how they describe the problem, how they hesitate, where the friction really shows up. And you create space for them to say the quiet part out loud—the part that never makes it into Jira or Figma.
Because so often, the blocker isn’t the algorithm. It’s not the mock. It’s not the technical step in the workflow. It’s the silence around it. The fear doing the wrong thing. The anxiety of asking for help. The hesitation that keeps someone stuck longer than they should be.
And that’s a completely different problem to solve.
Working in public. Not just pushing commits or dropping links into Slack, but narrating the soft stuff in the open. Writing the connective tissue nobody else wants to write. Summarizing sprawling threads across channels so people don’t have to hunt for the answer. Cross-posting clarifications so no one’s left in the dark. Even injecting energy into a project when you can feel morale starting to sag—because sometimes what people need most isn’t another diagram, but a spark of momentum.
Giving credit. Every time I stumble into a breakthrough, I make a point to name the people who nudged me there. Out loud. In public. Because soft skills aren’t just about smoothing tension or keeping the vibe light—they’re about amplifying the invisible labor. The side conversations, the “you got this” DMs, the small acts of generosity that quietly shape the outcome.
None of this shows up in a sprint demo. It doesn’t get captured in Jira. It rarely makes it onto a resume. But it changes everything. It shifts how the work feels day to day. It changes how the team trusts, how the team moves. And that, in the long run, is the difference between a group that does work and a team that actually works.
Balance
I’m not saying soft skills replace hard ones. Or that you should stop sharpening your technical edge. You need both—and you need to notice both. In yourself. In your org. In your team.
Because one without the other falls flat. Hardness without softness is brittle. Softness without hardness is mush. Neither can stand alone.
It’s the tension between them—the interplay—that makes things work. The balance that makes a project not just “done,” but right. The difference between a team that hums and one that grinds itself to dust.
Hard skills build the thing. Soft skills decide whether it holds together. Whether people trust it. Whether people trust each other.
That’s the work. The hard and the soft, braided together. Always both. Always in balance.
And sure—sometimes the balance tips. A season heavy on the technical grind. A stretch where the soft stuff carries the weight. That’s natural. The goal isn’t to yank it back with force, to overcorrect. It’s to notice. To nudge. To adjust just enough so that, when you zoom out, the ebbs and flows even each other out.
Because real balance isn’t static—it’s dynamic. It moves. And the longer view is what holds the whole thing together.