I hope this helps someone who moves from buisness programming (SaaS, startups) to embedded. That was my route and I wasted a lot of time on these:<p>- input filtering: this cost me a week I am sure, a 1 is not necessarily a 1, it might be 0.98 and sometimes dip to a 0 on the signal line, every analogue value you read is really a time series of values<p>- you need to spend time on shortening your feedback loop, or you will spend half your day plugging devices in and out rather than delivering new features<p>- modifying libraries: horrifying! My embedded peers would just download a C++ library, copy what they need and willy nilly modify the methods in it and add it to their project - if I saw a python programmer start changing code in a PIP package I would freak out, but in embedded behaviour like this is normal<p>- destroying hardware is almost unavoidable if you want to develop fast, be prepared for it, have sacrificial components and make sure you have a stock of expendable components<p>- pre-allocated memory, I didn't waste time on this one, but was surprised how that works, and how little memory you really have on an STM32<p>I taught myself embedded programming when building control modules for my electric cars - quite a steep learning curve for me, I hope this video helps someone have a softer landing!