Embedded Software
When I was around eight years old, my first programming experience started with BASIC via a simple 8-bit home computer. In the end, I completed a program in assembly language for the 6502 processors.
I remember that I had to write programs to communicate with my computer's peripheral devices. At that time, profoundly understanding hardware, low-level software programming, and assembly language was the only way to access the peripheral input and output directly.
That's why I like Firmware and Embedded Software programming. It's a part of me. Even though I have written most of my applications in C, C++ and Assembly language, my early experience enables me to approach a problem from several different angles.