Faith, Frameworks, and Finding Purpose 🙏💻✨
In the spirit of the season 🎄—a playful look at how programming languages and frameworks evolve like religions, and why staying open-minded will make you a better engineer.
What engineering can learn from the evolution of religion
It’s the season of reflection again. Whether you celebrate 🎄 Christmas, 🕎 Hanukkah, 🕯️ Kwanzaa, ✨ Diwali, 🌙 Winter Solstice—or just enjoy some well-earned rest—the end of the year naturally invites us to look back, look ahead, and think a little deeper about why we do what we do.
Faith is often part of that reflection. And not just religious faith—faith in people, in purpose, in the systems we believe in. Funny thing is... engineering isn’t so different.
We might not light incense before a sprint planning session (though I’m sure some teams do 😂), but we do have our languages, frameworks, and philosophies. We praise some as holy, and burn others at the stake. We’ve all witnessed a “framework war” or two. We’ve all known an “apostle of React” or a “heretic of JavaScript.”
In the spirit of the season, maybe it’s time to reflect on our beliefs—and how we can approach them with more curiosity, humility, and joy.
The Purpose of Faith—and Code 🕊️💻
At its core, faith helps us make sense of the world. It offers structure where there would otherwise be chaos. It gives us purpose.
Our engineering tools do much the same: they help us express ideas, solve problems, and bring structure to the infinite mess of possibility that is a blank screen.
Every piece of code, like every belief system, reflects an attempt to understand the world—and maybe change it for the better. ✨
The Evolution of Belief 📜➡️💻
Religions don’t just appear out of nowhere. They evolve—one idea inspiring the next, reshaped by new cultures, new languages, new needs.
Engineering? Same story.
- C begat C++ 🙏
- C++ begat Java 🙏
- Java begat Kotlin 🙏
- Lisp begat Scheme begat Clojure 🙏
And frameworks:
- React 🕊️ transformed the frontend world—built on the bones of MVC patterns that came long before
- Angular begat Angular 2 which begat whole new ecosystems
- Vue emerged as a lightweight gospel of its own
Our philosophies evolve too: object-oriented design ➡️ domain-driven design ➡️ functional programming ➡️ reactive programming.
Every language, every framework, every principle carries with it the wisdom of what came before—and will inspire what comes next. 🚀
The Danger of Dogma ⚔️🚫
Of course, history also teaches us: strong beliefs can unite people, or divide them. They can inspire, or they can lead to... well... holy wars.
And engineering is no different.
How many times have we heard:
“If you’re not using Rust, you’re not serious.” ⚔️
“If you don’t follow TDD, you’re reckless.” ⚔️
“If you use JavaScript, you’re not a real engineer.” ⚔️
I’ve seen brilliant teams torn apart over dogma. Creativity crushed because “That’s not the One True Way.” 🙄
No language is perfect. No framework solves everything. No philosophy holds all the answers.
When belief becomes dogma, we stop learning. We stop listening. We stop growing. 🐌
A Challenge for the New Year 🎁
So here’s my wish for you this holiday season 🎅:
Stay curious. Stay open. Next year, go study another “religion”: another language, another framework, another philosophy.
Learn from the apostles of Elixir. Visit the temple of Go. Read the ancient scrolls of Lisp. Even if you never use them in production, your mind will grow—and so will your empathy for other ways of thinking. 🙏
After all—beneath all the differences, we’re all doing the same thing: trying to bring ideas to life. Solve problems. Make the world a little better—one line of code at a time. 💻✨
Happy holidays—and happy building! 🎄💫