Inside the 12‑Year C++ Nightmare: How a 600‑Million‑Line Project Failed
An ex‑consultant recounts a twelve‑year French government software project that spiraled into a disastrous 600‑plus‑million‑line C++ codebase, plagued by outdated technology, chaotic version control, absurd management practices, and massive inefficiencies, ultimately ending in prison for its leaders.
This Project's Nightmare
An ex‑consultant who worked on a French government‑commissioned software project describes how a seemingly simple contract turned into a twelve‑year disaster, lasting over a decade before the project lead was arrested.
Key Statistics
More than 6 million lines of C++ code
Over 50 000 classes
Outdated C++ syntax limited to an unsupported operating system
Built on CORBA
Database software from a bankrupt vendor
Multiple overlapping UI layers, none maintained by the original authors
40‑50 threads required to run the UI
Compilation on 32 machines took 48 hours
Executable size hundreds of megabytes due to static linking
Startup time around 15 minutes, with crashes occurring within 30 seconds to 30 minutes
Why It Was So Bad
The codebase was massive and written in a complex, outdated version of C++, making maintenance extremely difficult. Even reading the entire source would take a programmer about a week of nonstop work.
Typical bugs included a right‑click menu that took 45 minutes to generate and a CD‑ROM data load that required days to read 700 MB of data.
Version Control Chaos
The team operated without any version‑control system for years. When they finally adopted one, it was a clunky GUI tool that required a dedicated four‑person “version‑control team.” Check‑outs needed a week‑long appointment, changes required managerial approval, and merges were painful and error‑prone.
Team Composition
At its peak the project had 55 staff, but only 20 were programmers; the remaining 35 were managers, many without software‑engineering experience. This imbalance led to inefficient decision‑making and a lack of technical direction.
Absurd Management Practices
Strict 9 am arrival policy enforced by firing anyone arriving even a minute late.
Coffee machine disabled for days to force “productivity.”
Terrible restroom conditions as a deterrent to taking breaks.
These draconian rules contributed to a toxic work environment.
Inevitable Outcome
The project entered a vicious cycle: lack of expertise caused inefficiency, which increased costs, prompting layoffs of experienced staff, further reducing efficiency. Management tolerated the decline to avoid admitting failure, passing the burden to successors.
Eventually, the company’s leadership was arrested for embezzlement, and the project finally terminated after more than a decade of suffering.
Lessons for Developers
Avoid using C++ for projects that can be done with safer languages.
Prefer small, flexible projects over large, bureaucratic ones.
Object‑oriented databases are often problematic.
Stay away from outdated middleware like CORBA.
Beware of overbearing product managers.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
21CTO
21CTO (21CTO.com) offers developers community, training, and services, making it your go‑to learning and service platform.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
