I'm a software developer with a background in web, mobile, and back-end programming, and I've dabbled in C++. Now, I'm looking to transition into firmware, embedded systems, and low-level programming, aiming to become competitive for a junior role in this field. I'm seeking advice from experienced professionals. How much understanding of electricity and physics do I actually need? Do I require extensive knowledge in electrical engineering, or can I enter this field without an EE degree? If you've made this transition, what challenges did you face? What foundational knowledge do you wish you'd had? Also, what books should I prioritize in my learning journey? I'm particularly interested in books that cover electricity fundamentals, digital logic, computer architecture, embedded C/C++, microcontrollers, and real-time systems. Lastly, what specific skills or projects would make me stand out when applying for junior roles? If I were starting over today, what roadmap would you suggest - including what to focus on and what to skip? I'm aiming for a solid foundation that allows me flexibility in firmware, embedded, IoT, and possibly robotics, moving beyond hobby-level projects. Any guidance on resources and projects would be greatly appreciated.
1 Answer
Yes, having a solid understanding of electrical engineering can be really important, especially when you find yourself debugging at the component level with tools like digital analyzers and oscilloscopes. However, the specifics can vary widely by job, so be prepared to adapt your learning based on the role. For standing out, focusing on assembly debugging can be a challenge for many, so having some familiarity there could definitely help you shine.

Thanks for the insights! Do you have any book recommendations for learning more about electrical engineering basics?