I agree, good code is essential, but too often people forget that coding, is just a small part of the software development process.
If you understand your requirements, design your code solution and properly test the software, then you can more easily avoid the simple coding mistakes that cause the problems.
Knowing how to code does NOT make you a software engineer. It just means you know a small part of the process.
Just my opinion.
Most developers prepared for interview with sophisticated algorithm such as linked list and binary search tree. They then ill prepared to write simple code such as macro. It is a surprise to me that any developer has difficult time writing simple condition, for loop and while loop although it isn't unheard of. Over the years, I have interviewed and hired developers ill prepared for simple code and fluency in algorithm and developers performed poorly in algorithm but excellent in simple code. Who comes out to perform better in the job? The one who is more cautious of any changes.
That is bad, but to be fair, it was hard to write good code in Applesoft: there was not enough RAM to put in many comments; variables were limited to two letters; there were no labels, just line numbers; there was no stack for GOSUBs; and we all used lots of GOTOs.
The worst was when you needed to insert a line but you'd run out of line numbers, so you had to GOTO to new code at the end and then GOTO back.
What are the engineering and design challenges in creating successful IoT devices? These devices are usually small, resource-constrained electronics designed to sense, collect, send, and/or interpret data. Some of the devices need to be smart enough to act upon data in real time, 24/7. Specifically the guests will discuss sensors, security, and lessons from IoT deployments.