Suraj Yadav
surajy.bsky.social
Suraj Yadav
@surajy.bsky.social
"A successful rewrite isn’t about choosing Go, Java, or Python.
It’s about clear milestones, ruthless focus, and a team that owns the mission together."

What’s your take? Would you attempt a monolith rewrite in your org, or stick to incremental refactors?
September 23, 2025 at 2:06 PM
Pitfalls to Avoid
* Big Bang rewrites
* Ignoring infra costs (Java services can be $$$ if not tuned)
* Over-engineering 50 microservices too early
* Knowledge stuck with one person
September 23, 2025 at 2:05 PM
6. Celebrate Milestones
Migration fatigue is real. Every 10% traffic shift or “first service live” is a win.
September 23, 2025 at 2:04 PM
4. Use Incremental Migration
Shadow traffic, compare results, and flip over gradually.
(Canary releases + API Gateway = lifesaver.)

5. Break Down Silos
Encourage devs to step outside comfort zones — backend touching infra, frontend fixing APIs, etc.
September 23, 2025 at 2:03 PM
2. Measure Progress Relentlessly
Track % traffic on new vs old system, error rates, and performance gaps.
(Java folks: Micrometer + Prometheus + Grafana works wonders.)

3. Be Ruthless About Scope
Port first, refactor later. Create a “future cleanup” backlog.
September 23, 2025 at 2:03 PM
1. Define a Minimal Viable Rewrite (MVR)
Don’t rewrite everything. Start with the core 20% of functionality that delivers 80% of value.
September 23, 2025 at 2:02 PM
Curious: If you’re working in Java today, which of these patterns (coalescing, dual-writes, async pipelines) have you implemented in your systems?

Link : discord.com/blog/how-dis...
How Discord Stores Trillions of Messages
Engineer Bo Ingram shares insight into how Discord shoulders its traffic and provides a platform for our users to communicate.
discord.com
September 22, 2025 at 9:42 AM
Lesson for Java engineers:
You don’t need Rust to scale. With CompletableFuture, Spring Boot, and modern GC tuning, you can replicate many of these wins in enterprise systems. The big gains come from architecture choices, not just switching languages.
September 22, 2025 at 9:42 AM
Thin Data Services work wonders: A simple layer between your API & DB can cut latency, cache hot rows, and prevent DB stampedes.

Migration without downtime is an art: Dual-writes, shadow reads, and checkpointed batch tools are patterns you can apply even in Java/Spring systems.
September 22, 2025 at 9:41 AM
Key Takeaways:

GC isn’t free: At hyperscale, GC pauses can be a deal-breaker. (Finance folks: learn your G1/ZGC/Shenandoah inside out!)

Architecture > Language: Rust gave Discord predictable latency, but the real magic was request coalescing, consistent hashing & dual-writes.
September 22, 2025 at 9:41 AM
Memory about the feature: 404 Not found
But the feature is already shipped 😅
September 22, 2025 at 7:12 AM