You need to understand how code actually works. If you’ve only worked with highly abstracted languages like Python, Ruby, JavaScript, etc then you should probably start by learning lower level languages like C or C++. Or maybe Rust and Go but they’re kind of low level and abstracted at the same time. If you already know C/C++ then buy yourself an Arduino (or equivalent) and start screwing around. If you’re in school and interested in this as a career, take some electrical engineering or digital circuit design classes.
You need to understand how code actually works. If you’ve only worked with highly abstracted languages like Python, Ruby, JavaScript, etc then you should probably start by learning lower level languages like C or C++. Or maybe Rust and Go but they’re kind of low level and abstracted at the same time. If you already know C/C++ then buy yourself an Arduino (or equivalent) and start screwing around. If you’re in school and interested in this as a career, take some electrical engineering or digital circuit design classes.