3 ms·
why is this so much harder than making large web apps?
by SilurianWenlock 5y ago
why is this so much harder than making large web apps?
- smackeyacky 5y agoMaking a web app is a massive exercise in handholding, where you are 400 layers away from the metal amd barely give a passing thought to how much memory is getting used. Include a whole new javascript library for a bit of screen candy? Why not. Embedded system, you increased something from a two byte unsigned int to four bytes? Does it still fit on the device ordo I need to change the area in memory where my program is being loaded, do I still have enough space for the stack, was I disciplined about my mallocs and frees and always make the right size etc. Beginners can make a fair fist of a web app because you can screw up royally and it will still work.
- OnlyOneCannolo 5y agoThere's more to know beyond the software aspect. Web apps require a lot of knowledge too, but it mostly falls under the umbrella of software. Application software is just one of many things an embedded engineer does. Start with the basic skills you'd need for any software like data structures and algorithms. But you'll actually need to know it for the job, not just for the interview. Add extra low-level computer systems skills. Add electronics skills. Depending on the application, you might also need to know control systems, signal processing, communications theory, hardware security, or computer architecture, for example. Then add the engineering math/physics knowledge for the specific domain. It adds up. If you can't do those things, all of those problems need to already be solved, simplified, and polished for you. At that point, you've avoided firmware engineering and gone right back to application development.
- arduinomancer 5y agoWell one reason is that there's a huge amount of learning resources for web dev because so many people do it. The tools are also really mature and easy to use due to a lot of investment from the community. Firmware dev you end up working on obscure proprietary systems where you don't have the luxury of just Googling every problem because there isn't a ton of devs working on the same thing as you.