Ironically, my high school expelled me for truancy. My guidance counselor, in what I think was a hamfisted attempt to scare me straight, told me that I'd never get into college without As and Bs, so I took her word for it. Why study, or taking the SATs if my existing marks would keep me out of good 4-year colleges anyway? I had two years of terrible grades behind me, I was quickly moving up in the ranks in a food service job anyway, and I wasn't planning on going into the military, so what was the point?<p>During school hours, I'd just sit in the computer lab learning Photoshop 2.0, HTML, and the new cutting edge thing called CSS. I'd have loved to take one of the BASIC classes because I had already worked with it a bit on my TRS-80, but they were only offered to kids who had taken AP Algebra 2. One pleasant spring day I was coming back onto campus after smoking a butt across the street, and the vice principal told me I wasn't allowed back onto school property because I was no longer a student. After a few months of just working, I went back and finished high school in a part-time night school program while working full time. Oddly, I've always thought of this as a somewhat pleasant time in my life despite my negative feelings about high school in general.<p>A year or two after graduation, around 2000, I took a few classes in a UNIX undergrad certificate course at Northeastern. Not only did I ace the classes, but I ended up teaching my classmates more than the instructor did in the Linux class. (That was way less cool than it sounds though; he recommended everybody drop the course and ask for a full refund because he was under-qualified and knew it.) Also, the second-level C class teacher— a hardcore windows guy— emailed me asking questions about developing in a Linux environment for a few months after the class ended.<p>It was a confidence boost which SHOULD have pushed me towards college, but I still assumed that no 4-year college would have me, and the thought of essentially trudging through two more years of high school in the form of community college was... unpalatable. I stopped taking classes before I finished the certificate because they didn't offer me anything I couldn't learn on my own— even if I did enjoy learning little-unexpected things like C-shell scripting, and advanced awk— and it wasn't going to lead to a real degree. I was much more interested in working in bars and living in shitty apartments with a million roommates with only discount pizza and malt liquor for sustenance. (wait, maybe I did go to college...)<p>I was lucky enough to get a $10/hr job as a university library IT assistant where the systems administrator gave me a bit of flexibility with what I worked on, a bit of leeway for solving those problems, all of the tech books I wanted, and all of the scrap hardware I could muster up. I ended up learning how to use Perl, first as a systems language and then for CGI programming, honed my shell scripting skills, built a few slightly more involved internal web applications using PHP, learned how bigger networks worked, good IT practices, and lots of other cool stuff. From there I bounced around to a few higher-level support type jobs and then got my first regular software development job after that. Since then, I've tackled problems with increasing complexity and managed a few projects.<p>Though the more 'vocational' path I took to coding instilled some good practices and a rock-solid work ethic, I feel like there's a bit of whiteboard swag that people who took a math-first, comp-sci-heavy path to coding have that I lack. As the level of complexity with my work projects increases, I sometimes struggle because I picked up a lot of the math and comp-sci knowledge magpie style without having the solid theoretical foundation to tie it all together. I thought learning a programming language without a real-world problem to solve, and no real deadlines was a slog; doing that with things like discrete math is much worse. (though I do think it's super neat.)<p>It's pretty funny that the primary difference between me and him is that I believed a guidance counselor who told me it was impossible. Approaching 40, I realize how full of shit she was.