One of my favorite scenes featuring technology on television is from NCIS. The team’s network is under attack by hackers, shown as a series of windows opening and closing on the monitor. In order to combat this, the show’s two main “techie” characters both start typing vigorously on the same keyboard. Finally, after an intense 30 seconds of hammering, their boss “solves” the intrusion by unplugging their monitor. It is easily the most ridiculous minute of television I have ever seen.
From the laughably inaccurate NCIS to the surprisingly realistic Mr. Robot, I love seeing tech professionals portrayed in the media. Like most people, I feel a kind of childlike joy at seeing people with my interests on the big and small screens. Shows and movies featuring technical protagonists are a chance to inspire future programmers and celebrate the everyday triumphs and disasters of coding. They can encourage us to connect and collaborate with each other.
But anyone who consumes these movies and shows regularly can identify a peculiar strain of character that exists in even some of the most accurate works: the loner genius programmer. Prototypically, a man holed up in some inexplicably unlit basement, who is capable of designing amazing software or penetrating the ultra-secure networks of multinational corporations singlehandedly. I don’t think I need to tell any professional software or network engineer how wildly inaccurate this idea is. Huge tech companies like Google or Amazon couldn’t exist if they were supported entirely by lone wolves who never collaborated. But this caricature remains ingrained in the societal idea of who a technologist is.
Granted, this idea is partially based on the early computer hobbyists and developers who helped pioneer their field and define the culture that surrounds tech. Not to mention, the idea of innovators who changed the world for the better without pomp or flash is pretty appealing to introverts like myself. But when this idea becomes too extreme and too rigidly stylized for those who deviate from it to feel comfortable, we end up discouraging a lot of potential programmers from seeking help and a sense of community. This was almost the case for me.
In some sense, I became interested in computer science in a way that falls in line with the loner stereotype. Last fall, I had just moved across the country to begin college, and was almost immediately disenchanted with my situation. I was one of very few Economics majors, and I struggled to find that ideal community of like-minded, passionate students that made me excited for college in the first place.
So left to my own devices, I asked some of the faculty in my department about finding more opportunities for work and research, and the resounding answer was that I should start learning programming for data analysis. The solution seemed serendipitous to me: If I was going to be feeling this isolated, I might as well pick up the skill set of choice for isolated people.
I went through various online tutorials, followed along with practice projects, and read every article and Wikipedia page I could find on data science and statistical programming. As a person who loves going down rabbit holes on the internet, it was certainly fun. There is nothing so surreal as watching videos on information theory and lambda calculus at three AM on Friday night. But the real truth of the matter is that I wasn’t getting significantly better at programming at all. After a couple of tutorials, I understood basic syntax, but I wasn’t actually able to apply it to my own projects yet. It’s easy to read books and articles about programming, but most projects started by beginners fail to launch if there is no one supporting them.
So by January, I had pretty much fizzled out. I was still interested in programming, but I felt like I had reached a dead end. That was until I found Emerging Coders, an organization focused on getting beginner students into programming. At my second meeting, we were tasked with deciding on a project and setting up a timeline to complete it. Based on the examples I’d seen and my experience with Python, I scheduled two months to complete the project in its entirety. I ended up pushing the final product to GitHub two weeks later.
Had my hours of reading and practicing in my dorm room finally paid off?
Not really!
Rather, I found two invaluable resources: a mentor and a room full of students who were working just as hard as I was. Our semi-weekly meetings were filled with laughter as we worked our way through our projects. Every error message became a teachable moment for the whole group, and before I knew it, I was able to help other students when they got stuck. I felt as excited as I had when I had first started learning in the fall. Even when I tried to take a break, I couldn’t help but run back to my code and see what else I wanted to add. With a couple fresh sets of eyes to help me debug my code, and a new group of friends that kept me motivated, I was productive beyond my wildest dreams.
Now, as I take on the role of Co-Director of this organization, I keep in mind the things that made Emerging Coders so valuable for me in the first place. We aren’t here to recruit only the most talented students and turn them into that mythic loner programmer. We definitely aren’t here to train students on sharing a keyboard in the event cyber-attack (at least not yet). We are providing the social aspect of coding that encourages beginners to accomplish things they didn’t know they could achieve.
– Sara Rufael, 2019 RTC Fellow
Rewriting the Code – Empowering College Women in Tech