We (at Forward) had to rewrite a system that was previously on .NET and SQL Server. The team ended up using several technologies (Ruby, Clojure, Node.js, MySQL, MongoDB, etc). The core of the system was an Energy bill calculation logic, with several complex conditions and checks. In the original .NET system, this logic was all around the software – as a part of our rewriting exercise, we rewrote this core logic in Ruby in roughly 600 lines of code. Then we rewrote it in Clojure to be 300 lines of code. Then the same developer rewrote it in Clojure to be 200 lines of code and be cleaner than the previous implementation. And finally it does several things that the original system was intended to do, but never did!
What manager allows you to rewrite the core of the system three times? No Manager. That’s why we don’t have managers!
We (at Forward) had to rewrite a system that was previously on .NET and SQL Server. The team ended up using several technologies (Ruby, Clojure, Node.js, MySQL, MongoDB, etc). The core of the system was an Energy bill calculation logic, with several complex conditions and checks. In the original .NET system, this logic was all around the software – as a part of our rewriting exercise, we rewrote this core logic in Ruby in roughly 600 lines of code. Then we rewrote it in Clojure to be 300 lines of code. Then the same developer rewrote it in Clojure to be 200 lines of code and be cleaner than the previous implementation. And finally it does several things that the original system was intended to do, but never did!
What manager allows you to rewrite the core of the system three times? No Manager. That’s why we don’t have managers!