Craft CMS 4 Released
I was working at EllisLab on ExpressionEngine when Craft was first released.  I don&#x27;t know what things were like over at P&amp;T, but it was interesting to witness from inside EllisLab.  I would say Craft v ExpressionEngine is a case study in what happens when you don&#x27;t pay your techdebt.  Even if you have a lot of good ideas, if you don&#x27;t stay on top of your techdebt, someone can always come, start fresh, cherry pick and build on&#x2F;expand the best of your ideas (leaving you to deal with your bad ones), and quickly surpass you.<p>ExpressionEngine had a lot of great ideas in it, but its code was an absolute a mess, and its leaders had no understanding of the concept of technical debt.  They just kept racking it up until, by the time I joined in 2012, any changes were expected to take months because the code was a nest of interdependent singletons. While I was there, we spent a lot of time basically responding to the moves of P&amp;T.<p>If you weren&#x27;t part of the ExpressionEngine community, then you might not know that P&amp;T started out making paid add-ons for ExpressionEngine.  I might be misremembering, but I think relationships and matrix were their main ones. One of the first projects I was given as a new engineer at EllisLab was essentially making an native relationship field for ExpressionEngine in response to P&amp;T.  If I remember correctly, we knew Craft was coming and were trying to undercut P&amp;T even though they were one of EL&#x27;s most popular plugin makers.<p>We ended up taking on a rewrite for EE3, because the techdebt was that bad and refactoring wouldn&#x27;t have got us where we needed to go in time.  In retrospect, I&#x27;m not sure if that was the right choice, even though I was one of the strongest voices in EL arguing for it at the time.  I definitely thought it was the right choice at the time, but I was also a really inexperienced engineer.  I don&#x27;t know if there were any right choices though.  Thinking back, I have a hard time imagining a path forward that didn&#x27;t involve some level of rewrite. It&#x27;s one of those experiences you can go round and round in your head about wondering whether you did&#x2F;argued for the right things.  In the end, I think EL&#x27;s fate was already sealed by how much techdebt they&#x27;d racked up.<p>The rewrite took a solid two years, Craft was released first, and was better than EE2 in every way (and EE3 if you ask me), and thus began the death spiral.  EllisLab is no more (though the rewritten ExpressionEngine lives on as an open source project maintained by one of the agencies that used it), and Craft is clearly still around.