Agreed, and I’d be more specific with the modifications:
“maybe I’m the wrong one” → “Maybe my approach is not the optimal one” → Maybe there are dimensions of optimization (like solution search costs or budget justification) that I’m weighting differently from my boss.
“I trust my partner to be cooperating with me” → “I trust my partner (and am willing myself) to spend a bit of effort in finding the causes of disagreement, not just arguing the result”
And it goes both directions—be honest with yourself about what dimensions you’re weighting more heavily than others for the decision, and what optimization outcomes might be different for you than for your customers and boss. A clear discussion about the various impacts and their relative importance can be very effective (true in some companies/teams, not in others. In some places, you have to either trust that the higher-ups are having these discussions, or convince yourself that the decisions aren’t intolerable (or seek work elsewhere)).
On the object level, I write software that supports lots of IoT devices, some using Linux, some Android, some FreeRTOS, some Windows-ish, and a whole lot of “other”—microcontrollers with no real OS at all, just a baked-together event loop in firmware built very specifically for the device. There are very good reasons to choose any of them, depending on actual needs, and it’s simply incorrect to say that Android is terrible for IoT. Very specifically, if you want a decent built-in update mechanism, want to support a lot of off-the-shelf i/o and touchscreens, and/or need some kinds of local connectivity (bluetooth audio, for instance), Android’s a very solid choice over Linux.
Thanks, all good points. Wish we all cared to apply modifications like that.
I also agree with off-the-shelf support advantages of Android, though the update mechanism outside of the play store seems to be nothing special. As for weighing the dimensions differently, there is definitely a significant difference: he puts premium on not rocking the boat, while mine is on delivering simple maintainable low-risk solutions. In general, simplicity is greatly undervalued. You probably can relate.
Agreed, and I’d be more specific with the modifications:
“maybe I’m the wrong one” → “Maybe my approach is not the optimal one” → Maybe there are dimensions of optimization (like solution search costs or budget justification) that I’m weighting differently from my boss.
“I trust my partner to be cooperating with me” → “I trust my partner (and am willing myself) to spend a bit of effort in finding the causes of disagreement, not just arguing the result”
And it goes both directions—be honest with yourself about what dimensions you’re weighting more heavily than others for the decision, and what optimization outcomes might be different for you than for your customers and boss. A clear discussion about the various impacts and their relative importance can be very effective (true in some companies/teams, not in others. In some places, you have to either trust that the higher-ups are having these discussions, or convince yourself that the decisions aren’t intolerable (or seek work elsewhere)).
On the object level, I write software that supports lots of IoT devices, some using Linux, some Android, some FreeRTOS, some Windows-ish, and a whole lot of “other”—microcontrollers with no real OS at all, just a baked-together event loop in firmware built very specifically for the device. There are very good reasons to choose any of them, depending on actual needs, and it’s simply incorrect to say that Android is terrible for IoT. Very specifically, if you want a decent built-in update mechanism, want to support a lot of off-the-shelf i/o and touchscreens, and/or need some kinds of local connectivity (bluetooth audio, for instance), Android’s a very solid choice over Linux.
Thanks, all good points. Wish we all cared to apply modifications like that.
I also agree with off-the-shelf support advantages of Android, though the update mechanism outside of the play store seems to be nothing special. As for weighing the dimensions differently, there is definitely a significant difference: he puts premium on not rocking the boat, while mine is on delivering simple maintainable low-risk solutions. In general, simplicity is greatly undervalued. You probably can relate.