Reflecting Allowed

Maha Bali’s blog about education

Leaving the Code Behind


Reading Time: 7 minutes

me half face code behind

Last week some students asked me why I left computer science. Today Laura Gogia asked if I had written about it, and I am writing this for her. She says others have been blogging about their experiences coding. I am different because I already know how to code. I just don’t want to do it. Haven’t coded beyond basic HTML or Excel Macros or similar since… 2003?

Disclaimer: this post may offend a host of people it is not intended to offend. I do not intend to offend my computer science professors, most of whom were kind and some of who, truly cared and still care for me as a person (Dr.Hoda, Dr. Khalil, Dr. Abdelbar primarily – in case they ever read his or someone reading it knows them). It’s not intended to offend my colleagues many of whom never did me any harm or never intended to anyway. It’s not intended to offend people who are humanists or anything else but who now code or are learning to code. It is a story about me and gender dynamics in computer science, but it’s not a generalization. It’s the story of why I stopped coding and got into the field of education and never looked back. I understand why people like Laura and Lee are learning to code right now and why it can be empowering for an edtech person. I understand my privilege that I understand the way computers work well enough not to need to learn coding now because I know more about computers than coding . When someone from the humanities says algorithm I want to ask them, “yes, but is it a black box because it’s a neural network, because if so it’s a black box to the programmers too”. When someone does adaptive learning I ask if they use a neural network and find it odd that they don’t, that they hardcode adaptability instead.

And you know what! Before I started my degree in computer science, I was doing IGCSE computer studies in high school and I remember clearly when something went wrong with the computer, I took a prayer break and divine intervention solved it for me. My degree in computer science made me realize this trick is called “restart”, it solves 90% of all tech problems, and my 5 year old learned it all on her own when she was, oh, 3 years old? (They didn’t teach it to us, of course). Just yesterday I got a new laptop and with Windows 10… It would just NOT get onto the wifi network… I could have called or tweeted to 10 ppl to help, but instead I Googled, found solutions that didn’t work, then combined what I learned in my head and solved another way: reinstalling the network adapters…a restart, but of a particular kind.

When my students asked me why I left computer science I wanted to start with this reason, and I did: I was a highest honors student, and yet men of any kind (including my husband and dad, both medical doctors, automatically assume ey know better about computers than I, let alone my colleagues who got lower grades an me, struggled more with programming assignments, and got my help with those and math). I once wrote about the frustration of debugging, when you spend hours creating a program, followed by hours of desperate debugging, and tweaking. It can get you REALLY down and borderline depressed, and I’m not at all a person prone to that state of mind; I am generally cheerful and even when I feel angry and write angry posts or yell or whatever, I calm down pretty quick and I don’t stay in slumps for extended periods of time. But the last stages of programming just before a deadline REALLY got me down. So I wrote about THAT. And then the utter joy, climax even, when the program WORKS. The way you imagined it to. There are few feelings as intense as that feeling of finishing a computer program that does exactly what you want it to. It’s a power rush like no other. Until I discovered it wasn’t. I much preferred being with people. Helping people. Teaching. And I was deeply involved and satisfied with extracurricular activities throughout college and even got nominate for and won awards for that engagement. I also enjoyed my non-comp sci courses much more. Lucky it is a liberal arts institution so I could get at least one per semester. I understood the compliment when a literature professor said he couldn’t believe i was a science major. I understood that a boy was complimenting me when he said i looked like a mass comm major (even tho i was never a girly girl or wore makeup or dressed too carefully… It just meant i didn’t look like a nerd. Thank you).

Onto another point. I struggled to explain to people outside my major that Computer Science wasn’t about learning to program. Anyone can learn to program (no offense – really, it’s just learning syntax and what it means; basic algorithms are easy to understand in psuedocode, and then you figure out the syntax of that programming language and you run with it – and then you learn new languages pretty easily until there is a new paradigm you didn’t know about like object-oriented or neural network or such and you need help learning it… but decoding code? Not so hard, really). Computer science courses aren’t about programming. They’re about how you think about computers and software and stuff. And many people who learn to program don’t learn to think properly about these things. So if, for example, you never studied databases and I gave you an Access database to create? You would go about creating it the totally wrong way, make a really inefficient one that could really mess your work up if you did something important with it. I have witnessed firsthand people without a computer science program trying to do stuff with flash. They have no concept of loops, of arrays, of pointers, of basic computer science and programming concepts and so they write the stupidest code you’ve ever seen. Not because they can’t write code. But because they can’t think properly about how to achieve what they want. Maybe that’s what Lee means when she says think computationally? Maybe. It’s not complex stuff to learn, but I don’t know how people learn it when they’re not computer scientists… People who “code” but don’t understand the theory of computer science are a little bit like parents who give medicine to their kids but never studied “medicine”. They’ll get by and often do things that work. Which is great and empowering. But it’s not all there is to it, probably not the only or best way to do it, and not necessarily very insightful into using it in other contexts. But it’s useful. I mean, I am a parent who isn’t a doctor and I’m from a family of doctors. And sometimes I read stuff on the internet to figure out what’s wrong with my child and I learn something my husband or mom couldn’t figure out. Because I’m focused on THAT problem in THAT context (my child). So I figure it out.

Anyway. I did an internship in the IT department of Procter & Gamble (I was offered the internship following a short course I attended in Prague called the IT Seminar which simulated the P&G experience) and after my internship was offered a full-time job with them (and I also worked part-time there my last semester to finish my project). I loved working there – loved the people and they loved me back. Many of my enduring friends were P&G folks at some point. People don’t last long there đŸ™‚ They get hired elsewhere at much higher positions and salaries. I worked in an IT department where most of the others were not computer scientists. And yet, whether or not they had comp sci backgrounds, the men assumed they knew more about IT than I did. The men outside the department would go and ask my male colleagues about something (That was my job) and the male colleague would answer confidently (not saying, “you should ask Maha”). It was frustrating. I was loved, but I stopped enjoying the love, because I wasn’t enjoying the work. I didn’t like troubleshooting. Until now, I’ll avoid helping anyone with troubleshooting if I can avoid it until I realize they really don’t know what they’re doing and then I’ll help (because, really, if you think you know better than me, go ahead, go right ahead, I won’t break my heart over it). I was making IT stuff to help a corporation sell shampoo and detergent and diapers. I’m sorry if this is a job that pleases others. It just wasn’t my mission in life. I wanted to make a difference in the world and to help people and that meant I needed to move into education. So I did. I did a lot of grassroots work and changed careers and started a masters in education and the rest is history.

For a long time in edu I tried to distance myself from Ed TEch. My MEd was in eLearning, but my PhD had nothing to do with tech. I only came back to tech as I was finishing my project and discovered there were people who could be critical of edtech (Thank you Hybrid Pedagogy and #Edcmooc and #rhizo14).

OK I need to stop now… but I want to say I am grateful that many of my current friends have a comp sci focus but an edu passion (in person, Azza and Sherif; online Rebecca, AK, Len, Michael, Ken, Yishay and I’m sure more people that I’m forgetting right now) because they understand both. And of course the comp sci background gives me a lot of confidence in edtech… even though I have remnants of impostorhood in computer science and in academia as a PhD in education… but that’s gonna happen… you’ll never believe who it happens to…

Bottom line for me? I care about people not computers, and I’ll use computers to help me get to people (hello Twitter, hello Virtually Connecting), but coding, being a computer scientists or IT person didn’t help me do that. So I left. And have never looked back since.

I don’t know if this was helpful to anyone… but there it is đŸ™‚


  1. I appreciate your perspective on so many levels.

    To me, what is really powerful about learning how to code or starting to understanding technical architecture is leaning into my fears of not knowing something I’d been told was *really* important. By leaning in, I’m also developing the confidence to question. And reaffirming that the *really, really* important stuff involves caring for people.

    On another note, my favorite take away from a course on algorithms was how to use trees, charts & graphs to “ask” neural networks “questions” about what they are really doing.

Leave a Reply


Get every new post on this blog delivered to your Inbox.

Join other followers:

%d bloggers like this: