Yes.
As someone who previously had a research career, I think both views are critical. Discovery requires creativity. Inventions require contact with the real world.
In the programming languages realm, you might imagine it's all invention, but that's faaaaar from the case. For example, some of the core ideas in Rust about ownership descend fairly directly from a highly useful connection between mathematical logic and programming languages.