Developing software requires high level/architecture type decisions that you mention in your first paragraph. It also requires solving many small fizz-buzz size subtasks, which are necessary and demonstrate competency.
A marathon runner doesn't need a stellar 100 yard dash time, but they should at least be able to jog 100 yards.
This is a big assumption. There are levels where the economics don't work out for drivers and riders are willing to pay - it remains to be seen whether are not Uber is profitable at these levels.
I loved Threes, 2048 and this is just as great - thanks!
However, one thing that I dislike about this game(and something that could be changed in the next version or permutation) is that gameplay is TIME based instead of TURN based. It makes the game less about strategy and more about being quick with your mouse. It also makes the game less appealing as a background task and something to stop and come back to; ie something to do while waiting for something to cook or during television commercials.