3 ms·
I think it's the difference between a user and an engineer. As a user, you... use. You don't care how it works. You drive a car; you don't design a car. Thi
by seiji 14y ago
I think it's the difference between a user and an engineer. As a user, you... use. You don't care how it works. You drive a car; you don't design a car.
Things get fuzzier in software development. Programmers are supposed to be users of everything they aren't programming. Things are supposed to be black boxes with fully isolated layers of abstraction. Ha. Doesn't work. To be competent, you must be aware of, at a minimum, what pieces are under you, at an intermedium, how they work, and at a maximum, how to create them yourself.
I'm only talking about people who want to be great technical workers though. If you just want to make a MVP to get funding then hire dweebs, who wasted their life learning computers, to make you rich, feel free to do that instead.
- Retric 14y agoHave you taken an electron microscope to trace each line for every CPU you use in production to know how it actually works? No? Well perhaps, not needing to dig into how things work is a useful feature of a well designed system.
- gummadi 14y agoHow many software systems are even 1% as battle tested as a "CPU"? Even the most well designed software system doesn't have the kind of test coverage of a hardware.
- Retric 14y agoCPU's are complex and far from perfect, often shipping with hundreds of 'errata' at the design level plus a wide assortment of random manufacturing errors in each chip. So, there is software that has fewer bugs and better coverage than a modern CPU. ex: Grep EX: Pages 19-73 with 2 to 4 errata per page for a single popular CPU design: http://download.intel.com/design/processor/specupdt/320836.pdf http://download.intel.com/design/processor/specupdt/320836.p... And that's just limited to stuff Intel knows about.