I gave a talented engineer, who was also a relatively fresh graduate, a task to build a framework that would convert pieces of xml state that rendered in a non-web GUI into a React representation.
His solution ended up using as many new features as possible, seemingly for the sake of using the new features, but beyond that, it was incomprehensibly complex. Most importantly, it didn't work. It felt like he used the project as an excuse to try new tech and pad his resume.
Wow... this brought back memories. A decade ago I was on a (small) team that took over a project from another company. Our client had paid the other company to build it but wasn't entirely satisfied with the results. The product worked but it was a resource hog, very difficult to use, very expensive for what it did, and the other company wanted increasingly larger amounts of money to maintain it and add new features.
The entire project was a giant mess of technologies, to the point it looked like every dev who was on it used it to try out some random technology for personal curiosity. I mean... it used multiple RDBMSs, multiple programming languages, multiple formats for transporting information over the network. The set-up/build process was so complicated and fragile. It was insane, this project could have been done for probably 1/4th of the cost of less.
Project management - it's extraordinarily necessary when you have devs who think they are at work to personally entertain themselves rather than build the best product.
His solution ended up using as many new features as possible, seemingly for the sake of using the new features, but beyond that, it was incomprehensibly complex. Most importantly, it didn't work. It felt like he used the project as an excuse to try new tech and pad his resume.