Skip to content
ExponaBLOG
ENGINEERING CRAFT · DAY 096 / 100

Growing your career by building in public for production

The habit that brought me opportunities.

Expona Admin8 min read

For the first four years of my career, I shipped features, fixed bugs, and collected paychecks. Then I started writing about what I was learning. Within eighteen months, I'd fielded offers from three companies I'd never applied to, collaborated with engineers I admired, and landed contract work that paid better than my full-time role. Growing your career by building in public isn't about personal branding or chasing followers—it's about creating a record of your thinking that compounds over time and attracts opportunities to you.

Share what you learn — Daily lessons attract people facing the same problems

Every problem you solve at 3pm on a Wednesday is someone else's blocker at 2pm on a Thursday. When you write about how you debugged a memory leak in your Node.js service, or why you chose PostgreSQL over MongoDB for a particular domain, you're not just journaling. You're creating a searchable, reusable piece of knowledge that solves the same problem for dozens of people you'll never meet.

I made this real when I spent a full sprint understanding why our NestJS API was dropping WebSocket connections under load. The root cause turned out to be connection pooling misconfiguration combined with improper event listener cleanup. I could have kept that learning to myself. Instead, I wrote a post breaking down the diagnosis process, showed the actual metrics from our Redis monitoring, and included the fix:

typescript
// Before: listeners accumulating without cleanup
socket.on('message', (data) => {
  handleUserMessage(data);
  // No removeListener call
});

// After: proper cleanup prevents connection leaks
const messageHandler = (data) => {
  handleUserMessage(data);
};

socket.on('message', messageHandler);

// In disconnect handler
socket.off('message', messageHandler);

That post got shared in three different Slack communities. Two people emailed me directly with variations of the same problem. One of them—a principal engineer at a fintech startup—remembered my post six months later when they were hiring a senior backend engineer and reached out cold.

The principle here is straightforward: share the specific, not the obvious. Don't write "TypeScript is great for catching bugs." Write about the exact bug you caught because of strict typing, show the error message, explain why it matters for your domain. Specific examples travel further and help more people.

Start collecting these moments. When you learn something that took you longer than five minutes to figure out, that's blog post material. Keep a notes file open. By the end of a week, you'll have three or four topics. Pick the one that frustrated you most—that emotional anchor usually means it's valuable to others too.

Explain your work — Visibility helps managers, recruiters and clients understand your impact

Here's what nobody tells you: your manager probably doesn't fully understand what you shipped. Not because they don't care, but because they're managing five other engineers, reviewing code, attending steering committees. If you want them to advocate for you in promotion conversations or recommend you for high-visibility projects, you need to make it easy for them to understand what you actually did.

The same applies to recruiters and potential clients. When someone finds your GitHub, your blog, or your portfolio, they're looking for evidence that you can think systematically about problems and communicate clearly about solutions. Both matter. A beautiful architecture diagram means nothing if you can't explain why that architecture was the right choice. A detailed write-up of your decision-making process without any proof of implementation feels like hand-waving.

Early in my time at a ride-hailing platform, I led a migration from REST to event-driven architecture for our booking pipeline. It was complex work spanning four months, touching six services, and reducing booking latency by 200ms. The architecture was solid, but most people in the company didn't understand why it mattered or what I'd actually done.

I wrote a technical deep-dive that walked through the problem—why REST was creating bottlenecks, with actual traces showing where time was spent. Then I showed the new architecture visually:

Component Before After Benefit
Booking Service Waits for all downstream services Publishes event immediately 99% latency reduction
Payment Service Called synchronously Subscribes to BookingCreated event Decoupled, can retry independently
Driver Assignment Called synchronously Subscribes to BookingCreated event Can be optimized separately
Notifications Called synchronously Subscribes to downstream events Doesn't block user-facing flow

I included the Kafka configuration, showed how we handled retries and dead-letter queues, and explained the trade-offs. That post got shared in our company Slack. Three product managers asked questions that led to conversations about scaling. My manager used it in a director-level update about our architecture direction. When promotion time came, there was zero ambiguity about my impact.

Make this a habit: after you ship something substantial, spend thirty minutes writing about what you built and why it matters. Not "I migrated to event-driven architecture." But "How we reduced booking latency by 200ms and why it required rethinking our entire pipeline." Include numbers, architecture diagrams, code snippets, trade-offs. Give people the material they need to understand and advocate for your work.

Get feedback — Comments correct and sharpen your thinking

When you publish something, you're inviting critique. Most people avoid this. They see a potential harsh comment and decide writing publicly isn't worth the risk. But feedback is where the compounding value actually begins.

A year ago, I wrote about our approach to distributed transaction handling in our travel platform using the Saga pattern. I explained our implementation, the challenges, and how we monitored for failure cases. Three days later, a comment from an engineer at a payments company pointed out a subtle race condition in my implementation that I'd completely missed. Under high load, if compensation transactions failed, we could enter a state where we'd retry the saga without proper idempotency guarantees.

My first instinct was defensive. But they were right. I updated the post with their feedback, added a section on idempotency keys, showed the corrected code, and credited them. That comment thread got shared more than the original post. The engineer who caught the bug and I ended up collaborating on an open-source saga orchestration library. One mistake, caught publicly, became a substantial project.

Comments also force you to articulate things you glossed over. If three people ask the same clarifying question in the comments, it means your explanation needs work. Rework it. Update the post. This isn't failure—it's iteration. Your second draft will be better, and thousands of people will read the improved version instead of struggling through the original.

Practically: enable comments on your posts. Respond to every comment, even the critical ones. If someone catches an error, thank them and fix it publicly. If someone disagrees with your approach, explain your reasoning. This is how you build credibility and how your thinking actually improves.

Be consistent — A hundred small posts beat one perfect article

This is the hardest part, and I learned it through doing it wrong first. I spent two months writing one perfect, comprehensive guide to scaling databases. It was 8,000 words, technically thorough, beautifully formatted. It got shared twice and sank into the internet.

Meanwhile, in those same two months, I could have written fifteen posts: one on index optimization, one on connection pooling, one on understanding query plans, one on replication lag, one on backup strategies for PostgreSQL, one on monitoring metrics that matter. Each would be 500-700 words, immediately useful, easily searchable. Together, they'd reach more people, handle more variations of the problem, and keep me visible consistently instead of creating a single spike.

The math of consistency is unforgiving and powerful: a post published weekly for a year reaches far more people than twelve perfect posts spread across the same period. Google's algorithm, Twitter's feed, LinkedIn's recommendations—all reward regular contributors. But more importantly, your own brain rewards consistency. After four weeks of weekly posts, writing becomes routine. After eight weeks, you've built enough of a catalog that new people discovering your work find multiple relevant posts, not just one. After six months, the compounding effect starts. People recognize your name. Opportunities find you.

I shifted to a rhythm of one post every ten days. Sometimes it's 600 words about a specific problem. Sometimes it's a quick architectural diagram with three paragraphs of context. I aim for consistency over perfection. Over the past two years, this habit has been more valuable than any certification, course, or side project. It's been more valuable than most of the work I did in my previous four years of staying quiet.

Common mistakes

Waiting for perfection: Most people never start because they think their first post needs to be comprehensive and flawless. It doesn't. Your first post will be awkward. Your tenth will be better. Your fiftieth will be good. Start now.

Being too generic: "Here's why REST APIs matter" helps nobody. "Here's why we chose REST over gRPC for our user-facing services despite building event-driven internals" helps someone facing exactly that decision. Specificity is what makes writing valuable.

Only writing about success: Write about your failures, too. How you debugged a production outage. Why your first architecture choice didn't work. Why you rebuilt a feature. These posts get shared more because people actually learn from them.

Forgetting to add implementation details: Code snippets, configuration examples, actual commands you ran. Without these, your post is theory. With them, it's a tutorial someone can follow.

Disappearing after one post: The value comes from consistency. Three posts don't build visibility. Thirty posts do. Commit to a rhythm you can sustain for six months, not a sprint you'll burn out on.

Key takeaways

  • Share specific problems and solutions you encounter. Concrete examples attract people facing the same challenges and establish credibility faster than generic advice.
  • Explain your work visually and technically so managers, recruiters, and future collaborators can understand your impact without context switching.
  • Enable and welcome feedback. Comments catch your mistakes, improve your thinking, and often create unexpected collaborations.
  • Post consistently, even if posts are smaller than you'd like. One post per week for a year compounds far more than one perfect monthly post.
  • Build your catalog over time. Your fifteenth post benefits from the audience built by your first fourteen. Your fiftieth post becomes searchable by dozens of related keyword queries.
  • Track what works. Notice which posts resonate, which generate substantive comments, which lead to real conversations. Write more of that.
ShareXLinkedInReddit

Found this useful? Support the writing.

Buy me a coffee
Written by
Expona Admin
Site administrator

Comments

Loading comments…

Leave a comment

Comments are reviewed before they appear. Be kind and stay on topic.

Related articles