> wrote a working prototype in MATLAB, designed the digital logic, implemented a high level but bit-accurate C++ model, and only then started on the HDL implentation, which we verified against the C++ one
If you ever looked at how MATLAB, the HDL compiler, and the formal verification tool are implemented, even "mechanic" seems like way too much fancy title. The very old phrase "if architects designed buildings like developers built software, the first woodpecker would have caused the downfall of western civilization" comes to mind.
I am a software consultant who has worked in CAD software, which gives me quite some insight in this topic (software developers vs non-software engineers). Ironically, most of the time what's causing the problem is non-software engineers working on these tools, since engineers don't effectively translate their methodology into software (they don't see it as necessary, they don't understand the sources of complexity, they don't have training, etc.) , resulting in a very cowboy attitude to software development.