I worked as a software guy at a hardware company for 17 years. It's maddening and oddly comforting at the same time.
To me, hardware is a mindset: Design freezes, start-of-production dates, supply-chains to wrangle. Probably the most impressive thing to me about Apple is how well they can ramp production and supply-chain year after year after year.
The maddening part about it from the software perspective is: Software is "free." More specifically, software costs nothing to change and has no incremental unit cost. When you have a whole organization that revolves around hardware, this means there is only one rule:
When you can fix it in Software or Hardware, you ALWAYS fix it in software.
Example: My old company had an I/O chip that had a logic bug where it would sometimes drop or reorder data coming off the bus. Someone found a software workaround (wrap the payload with some parity-checks) and you'd better believe that we shipped devices with that bug for years until the paid-for supply of I/O chips was exhausted.
To a software guy, that's maddening. Fix the bug. The an electrical engineer, that's just a regular Tuesday. :)
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
I worked as a software guy at a hardware company for 17 years. It's maddening and oddly comforting at the same time.
To me, hardware is a mindset: Design freezes, start-of-production dates, supply-chains to wrangle. Probably the most impressive thing to me about Apple is how well they can ramp production and supply-chain year after year after year.
The maddening part about it from the software perspective is: Software is "free." More specifically, software costs nothing to change and has no incremental unit cost. When you have a whole organization that revolves around hardware, this means there is only one rule:
When you can fix it in Software or Hardware, you ALWAYS fix it in software.
Example: My old company had an I/O chip that had a logic bug where it would sometimes drop or reorder data coming off the bus. Someone found a software workaround (wrap the payload with some parity-checks) and you'd better believe that we shipped devices with that bug for years until the paid-for supply of I/O chips was exhausted.
To a software guy, that's maddening. Fix the bug. The an electrical engineer, that's just a regular Tuesday. :)