Those people (software engineers) aren’t making the decisions around the product in larger companies. These are done by Product Managers and UX Specialists/Designers.
But for minor stuff/fixes it's easy to slip something that's awkward or not very usable.
Or a legacy interface is still being used (because the developer thought it out - since the company was smaller, or a specific screen was overlooked) and that's not a great interface