The key difference between good and bad engineers is that good ones deliver the product/finishes the projects (add bonus points if on time) and bad ones don't. Quality makes much less business sense and is usually only important to the engineer himself and his peers than managers that pay his wage. That's especially true in current "move fast and break things" environment. I have seen a fair share of bad engineers (by this definition) fired, even though they had decent technical skills.