Why Lots Of Software Architects Code While They Design (and how that helps connect with everyone)
I recently had one of those moments in my work as an architect where I built something to test an idea and the reaction wasn’t exactly enthusiastic. It wasn’t the first time, and it won’t be the last, but experiences like that remind me to slow down: in complex environments, there’s rarely a perfect solution, and timing matters just as much as intent.
A Quick Nod to the Famous “Swing Tree”
In that classic project-management cartoon, the swing looks different in every panel: one version has no seat, another has a canopy, and one is utterly over-engineered. The humor lies in the disconnect—each role (business analyst, developer, etc.) interprets the original request differently, resulting in wildly inconsistent outcomes. The cartoon is a funny but sobering reminder of how poor communication can turn a straightforward concept into an impractical mess.
Interestingly, what’s often overlooked is the root cause. The customer described a solution—a swing—but didn’t articulate their pain, problem, or opportunity. The missing piece in this game of miscommunication? Someone who could dig deeper to align the organization around the real need, not just the proposed answer.
Why Architects Coding Matters
A lot of what I design as an architect might look good on paper, but only actual coding reveals the small quirks, sometimes giant pitfalls. When you integrate a new pattern or system, from up close. you will feel whether everything will run smoothly or whether you’ve just opened a box of gremlins. And yes, sometimes gremlins show up after a business invested …. more than I dare to say here on the social medias.
That said, I’m definitely no superhero. Coding in varied styles and languages makes you good at spotting problems and connected to new technologies, though it can make you dreadfully slow compared to a proficient language specialist. I’m still trying, though, to ensure the ideas are shaped by what the teams around the company face every day. There’s a big difference between “developer reality” and “whiteboard theory.” By coding, architects bridge the gap so that the design evolves with the people writing the bulk of the code, not in a vacuum.
Embracing Imperfection and Balance
As much as we aim for clean, elegant solutions, we’re usually juggling constraints—time, budget, existing technical debt, and the dreaded “But we’ve always done it this way!” factor. The need to balance between high-level vision and the real-world. Even if a design pattern looks great. it might not fit a specific environment, culture, your team’s skill set, or your timeline. That’s okay—lighthearted progress is often more valuable than unachievable perfection.
A Moment of Humor (Because We All Need One)
If you’ve ever stayed up late to watch your code build just so you can say, “Yes, it finally compiles!. Welcome to the club. Sometimes we just need to laugh at ourselves. Also, “If the software you pushed out doesn’t break at least once, how do you even know it’s real code?
An Open Invitation
If you happen to work with an architect who rolls up their sleeves and dives into the codebase fantastic. Don’t hesitate to share your ideas, no matter what level of experience you have. If you think something might be better done another way, say it. Code It. Suggest design tweaks; propose patterns. And encourage them to do the same—lots of fun can be had experimenting and seeing what sticks.
At the end of the day, we’re all in this together, trying to build something that works, makes sense, and maybe even sparks a bit of joy (or at least fewer hair-pulling moments). When everyone—architects, developers, project managers, operations, even customers—feel empowered to contribute to the code and the conversation, we get closer to that sweet spot where good ideas meet realistic implementation.
And that’s a swing tree we’d all like to ride!
How do you interact with domain architects in your organization? Are they actively involved? I’d love to hear your experiences and ideas in the comments…