There’s another in-between case, where the people who decided to make garbage truck fleet management software noticed that there was a massive inefficiency firsthand, and decided to fix it. I imagine this is a great avenue for people who have both programming knowledge and experience in a separate domain.