March 30, 2026

All aboard the hot-take express

What Construction at a Train Station Taught Me About Software Engineering

Inspiring lesson or LinkedIn cringe? Devs feud over train‑station metaphor

TLDR: An essay likens software work to keeping a train station open during construction, stressing communication, simplicity, and value over code volume in the AI era. Comments split between calling it LinkedIn-style fluff and praising it as an accessible reminder that good engineering is about users, not just code.

A reflective post compares software work to construction at the always-open Ljubljana train station, arguing real engineering is balancing upgrades with minimal disruption. The author says fewer lines of code, clearer intent, better docs, and sane principles (DRY = don’t repeat yourself, KISS = keep it simple) matter—especially with AI churning out code. Cue the comments section going full commuter rush.

The top vibe? LinkedIn energy. One user cracked, “lol. Is this LinkedIn?” while another mocked the format with “What <placeholder> taught me about B2B Sales,” insisting these lessons already exist in classics like Sandi Metz's book and posts by Scott Hanselman. That camp called the analogy obvious: you don’t need a hard hat to learn “communicate, test, document.”

But defenders chimed in, saying analogies help newcomers and non-coders understand why “keep things running while you improve them” is the whole game. They liked the focus on value over vanity metrics (no more bragging about 10,000 lines) and the reminder that AI’s code flood still needs adult supervision. Jokes flew like rush-hour trains: “choo-choo to production,” “mind the gap between intent and impact,” and a round of “LinkedIn Thought Leader Bingo.”

Verdict: a simple metaphor—and a platform split between eye-rolls and appreciative nods.

Key Points

  • The author compares staged construction at Ljubljana’s central train station with software engineering’s need to upgrade systems while keeping them running.
  • They advocate shifting focus from lines of code to delivering value efficiently and making informed trade-offs for stability and user impact.
  • AI increases code output, but sound engineering practices are necessary to ensure reliability and usefulness.
  • An integration example describes building a new app store on a marketplace API, transitioning from SOAP to REST without widespread Swagger/OpenAPI support, requiring manual work.
  • Clear communication—through code intent, naming, meaningful tests, pragmatic DRY/KISS use, and documenting decisions via RFCs/ADRs—is emphasized as essential.

Hottest takes

"lol. Is this LinkedIn?" — comrade1234
"What <placeholder> taught me about B2B Sales." — dentemple
"All of the things listed... learned from other Software Engineers" — dentemple
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.