So, I never intended to be a software developer. Never wanted anything to do with it. Yet today I have got a label attached.... Lead Developer (whatever that means)
In the 80s I wanted to use microcontrollers that were all the rage in the fancy overseas rags doing all the cool stuff, and that meant, okay well, let's put the effort in to learn assembly language. And I did that. In high school already.
And I had no computer to do this on, eventually I got my brother to help me press a Sinclair ZX Spectrum into doing the mundane task of blowing EPROMs
But I learnt how to make it work, by disassembling a snippet of code on paper, and that then led me to figure out how the instructions were coded. I had a book in which I did all of this. I wrote programs in assembler, by hand, and wrote down the hexadecimal on the right side, using an accounting book as I recall because it had the right layout.
So from the word go, electronic engineering and programming went hand in hand for me, 10 years later I did the same with learning C, and then eventually saw that IT pays 10x what the highest pay was for an electronic engineer so went into that. I was able to 'cause often the stuff I was designing needed software on a PC to either be tested, or for the B.O.F.H. using the product in the field that is too domkop to read the manual, so we provided apps on his PC to allow him to do configuration that way. All of that stuff was done initially in C++ Builder, then Delphi, and then C#
I couldn't study... well I did, but I did this stuff BEFORE matric. The problem was my parents and their dumb brain fart decisions, losing their money in ponzi schemes, and then being told in Matric - "sorry no money for you, go ask Telkom for a bursary maybe"