I've seen many dysfunctional projects and teams since 1999. My resume filter criteria is written partly to avoid them. In Jan, 2015, I joined a project at "Skittles", a top ten e-commerce company where "Flash", a hotshot executive long on talk but short brains, convinced the CEO to replace their IBM system with an internal, open-source system.
Flash's plan was to toss some cheap Indian programmers and open source software into a blender and an IBM-style system would pop out. Because "open source software" is magical.
I was an IBM WCS-certified developer and had familiarity with the Skittles Websphere Commerce Server, which has the complexity of a Boeing 737. Flash's first mistake was lack of investigation into what he was replacing.
They hired me after their first year because their project was derailing. But nobody ever tells contractors these stuff. The director was replaced my 3rd week, which raised suspicions and I discovered several issues.

1) Projects typically have a strategic layer (vision, goals), a tactical layer (cheap Indians writing code) and an operational layer (organize and shape code to meet goals). Skittles had a poor operational layer, the project was mostly junior guys writing lots of disjointed code.
2) No quality control. Very little testing but many ad hoc changes and bugs.
3) Inappropriate tools. We had NodeJS, Kafka and Couchbase but I soon realized this was an ETL project. I tried briefly to convince the manager to switch to Talend or Informatica but he stonewalled me, saying we were politically mandated to use certain technologies for "visibility" reasons.
4) Deficient operational design. We made weekly ad hoc changes based on that week's findings about the legacy system.
5) We wrote an overly complex, fragile system in a "Big Ball of Mud" pattern whereas Talend would have taken 1/3rd the time, 1/5th of the code and been easy to maintain.
6) In Dec 2015, the lead developer (creator of the Big Ball of Mud) "re-architected" my existing code, adding needless properties and parameters and bugs but I'd already decided in April the project was doomed. I expected it to shut down within a year but it bumbled along for eighteen more months before everyone was laid off.
The manager made a half-hearted attempt to stop my resignation but I handed him my laptop and left with a huge feeling of relief.
Comments