Chips or software for IoT?

Pretty interesting read here;

I have been thinking about this for a while….
In my (small) mind, the IoT will be built on hardware for the most part.
Just stop and think about it…. they are talking 20 billion sensors (or ‘Things’). Thats not 20 billion lines of code, or web sites, no, they are things, real physical things.
Each and every thing will need a battery (power source), a transmitter, and a sensor at the very very very least.
So, before you get to AI or user interfaces or mobile apps, you have the thing which is made up of chips doing their function, getting data and sending it up (to some other chip).

Yes. Each sensor will need what we call firmware, or software that the user does not really mess with, its buried deep inside the device (for example, even your most basic digital watch (or clock on the microwave) is running firmware).

My point is, I think this article has it backwards.
At the very end they conclude with;

“Most people first decide what their software is going to be, and then they look around for hardware that will support it”.

Should you not rather start with what, in the real world, you are going to be sensing and or controlling? Start where the rubber meets the road?
No point in building the control interface if you don’t have the raw data from the real world?
I get that you will need to start with the end in mind. If you are going to build a wearable, you will need to define exactly what data points you want to present to the user, and thus the sensors (chips) you will need to do that, but starting at the software and then figuring out what hardware will support that seems wrong.
Is this why we have so many variables that have terrible battery life or sensor accuracy? Because most of these have been built from the top down?
They have forced inefficient software on top of under powered chips that are having to run at full power to get the job done?

Am I all wet here in thinking thats weirdly wrong?
Perhaps I am too much of hardware guy, a tech, and electronics geek (that rides a skateboard and drives a smart car)?


Going to have to think about this one some more.