When I started taking classes in college for CS and C++ programming something kind of funny happened to me...
I was doing alright in the C++ class. CS was a no-brainer for me.
Then at some unknown point my professor started giving me Cs and Ds on my homework. (homework consisted of go home, write a C++ program of increasing difficulty, then turn in the Source and the Compiled Binary. Grading was something like 60/40 Source/Binary)
The professor said my source code was perfect, but my binaries weren't working and were screwed up and scolded me for compiling them incorrectly. So I studied for weeks to figure out what was wrong. I tried multiple compilers, but still I was getting closer and closer to failing.
Same story every time, Source is great, binary is broken.
I tried everything I could think of. Nothing seemed to fix it.
I had only a few days left before my grade would be so bad that I was afraid I'd never make into a University.
I came to the conclusion that I just wasn't cut out for programming or computer science for that matter. So I quit.
Took all my books and homework archives (kept on a flash drive) and threw them in a box and left it at my parent's house.
5 years went by...
I completely left behind anything computer science related. When my parents were moving they had me grab my boxes of crap.
I found my old flash drive and was bewildered, completely forgetting what was even on it. It felt like a time capsule when I plugged it into my computer.
Besides some dumb virus being detected on it, my homework archives were fun to go through again.
Later that night I realized something that made me feeling violated, angry, sad, yet also incredibly reinvigorated.
The Virus that was quickly detected and removed from the flash drive was fownadup AKA conficker, along with some other malware that it may have downloaded. I had read about conficker only a day or two before I found my old flash drive.
This virus (actually a worm) infects flash drives to spread network to network, going so far as to brute force passwords of other computers on the LAN, if I can't just instantly infect them.
The malware also downloads payloads of other viruses to the infected machines.
My source code was fine, but the viruses had modified my executable files, or tampered with things during the compilation process. Probably as part of their defensive mechanisms.
Realizing that i got pwned pretty hard by not knowing enough about computer science reignited an old curiousty, and since then I've been pretty focused on learning as much as I can. At this point it helps pay the bills as well