zlacker

[parent] [thread] 0 comments
1. jacoby+(OP)[view] [source] 2023-10-12 19:31:19
I saw this scenario happen. Startup, one person wrote an insanely complex engine that did a lot of stuff; allowed them to scale up, get funding, etc. But... it became a complexity nightmare. The answer was... hire a new single expert, and let them rebuild a bunch of stuff, and... there were now 2 insanely complex layers, one of which sort of knew how to interact with the other one. The first person had gone, and the second person ... just didn't come in the office much (2-3x/month), and... was 'above' all the 'day to day' needs.

First phase was about 4 years. Second phase started, and I was there in year 2 of that. 6 month contract on my part. Took me months just to figure everything out.

Background - the core engine was PHP. The 'rewrite' was also PHP.

I left, and got some updates from a few folks later. They hired some python and JS people ("we can't find/hire any PHP people!"). And... they gave the python and JS people greenfield "rebuild chunks of this system". And months later, this was all spun as "PHP sucks, node rocks". Because.. well... look what was getting done. They couldn't hire many PHP folks because... they weren't paying terribly well compared to the level of skill required to deal with the core engine.

This was far less about tech as it was management. Giving a team of JS people who are all colocated, have a working system to inspect and emulate, can choose their own tools, and are given a long time frame... it's not all that surprising they had some success compared to "let one guy go off on his own and don't talk to him for weeks at a time".

Looking back, the second guy was trying to recreate much of the flexibility of the first system, but in a 'modern' way, which was very much not a great idea (the complexity and flexibility were the core problems, from what I could tell). The node and python teams avoided implementing much of the flexibility, and they could get away with it a bit more because by that time the business was more established, and had a better understanding of what they needed and what was not.

Part of how I viewed it was "it took 12 people 8 months to recreate 20% of what one person did in PHP in a couple of years". But that's certainly putting an overly pro-PHP spin on it. ;). By all means, though, having just one person be the sole person who knows 90% of the system, with no time given to train others... huge red flag. Took me a few months to suss out just how precarious that was, and I understand the business need to spread out the risk. Was just very annoyed that the "rebuild" decision was spun as "php sucks" instead of "solo-expert-working-in-isolation" sucks.

[go to top]