My first job out of college was QA testing for a GIS consultancy. This peeved me off because I had a CS degree and wanted to code. I kept begging to get access to the repo even just to fix the bugs I was finding, as I found them, but to no avail.
Then one day, a client asked for the ability to draw things on top of the map view we provided. This was pre-HTML5 and nobody on the team knew anything about graphics (which just so happened to be a major area of focus I had done in my CS degree and part of why I thought working on mapping software would be fun. Turns out they delegated all that to ArcGIS). Everyone started talking about Flash and how the mapping server probably wouldn't work with it, it was going to take so long, blah blah blah.
I piped up that I could do it in a couple of days. I hacked together a 2D drawing library in JavaScript that used DIV tags as "pixels" (oh yes, I was also the only person in the company that knew JavaScript. At that time, "serious" software didn't use such "lowly" scripting languages). Pulled out my copy of Foley, Van Damme, Finer, and Hughes and got to implementing Bresenham's. Even made a huge performance optimization by concatenating contiguous strings of DIV pixels in flat, vertical and horizontal runs, into a single, wide-or-tall DIV.
Several years later, HTML5 came out and CanvasRenderingContext2D was nearly identical in design. Well, that was no accident. We both based our work on Java2D.
I didn't report to the QA team after that hack. And that's how a hack got me my first programming job.
Honestly, it's been all dirty hacks in JavaScript like that, ever since.