Unlike many of my peers who started late careers in software, I’ve actually been programming since my early teens. Silly Harry Potter sites on geocities, BASIC programming and Lego Robotics in middle school enrichment programs, Java and MATLAB in college.
But it wasn’t until I was 25 that I finally decided programming could be a career. It was after an assignment at DevBootcamp where we parsed HTML from craigslist and displayed summary information on the command line. Then, I concretely understood how code is powerful and connective.
Was I crazy for not seeing this in all the other examples I’d encountered? Maybe. My predominant experience with code up to that point was games – mazes, space invader, etc. (And a bit of isolated laboratory data analysis.) I never feared studying software because of my gender or my perceived intelligence, but its conflation with games drove me away, because I consider games a waste of time.
There are good reasons for teaching with games – they are modular and isolated, and they have clear, satisfying goals. Programming as a career sometimes feels like a game, because it’s easy to focus on creating good code structures while disconnecting from ultimate uses, like “this is for running a corporate ticketing system.” And many of the failings of the tech industry are from forgetting that code has actual consequences (facebook news) or getting lost in an insular world (every app that mails you something inconsequential). So I think it’s appropriate to be wary of the games.