Having lived on both sides of the fence, I feel comfortable blaming the EEs. Many are allergic to basic scripting, don't bother to learn how their tools work, and have an elitist attitude towards other design responsibilities (ex. layout, verification).
P.S Set up Vivado in scripted mode with either an in-memory project or non-project mode. It works like a champ.
> Many are allergic to basic scripting, don't bother to learn how their tools work, and have an elitist attitude towards other design responsibilities (ex. layout, verification).
In my very limited experience, most people don't learn new stuff until they're forced to; either by their employer, by their university, or by needing to learn it for something they want to accomplish.
This is why you'll have self-taught developers go for years using strings as enums, linear-searching in huge sorted arrays, because it works and why would you seek out something else?
I think the solution is to introduce more software development in EE education; forcibly expose them to it.
My EE bachelor's degree contained a whopping ONE class that was focused entirely on Python programming.
The rest just used cobbled-together C code for microcontrollers, or arcane languages with dumb IDEs for PLCs.
The tried and true :) It's funny seeing people complain about Vivado bugs when I haven't run into any in years. Sure, the IDE may be absolute garbage, but I've thankfully never run into any bugs in the actual synthesis and routing parts of the package, which is all that really matters.
P.S Set up Vivado in scripted mode with either an in-memory project or non-project mode. It works like a champ.