Like A Girl

Pushing the conversation on gender equality.

Code Like A Girl

Through Code Colored Glasses

I am one of those few little girls who decided to be a computer programmer in school.

Yes, I know. I was a weird kid. Let’s move on.

You see, I am a romantic, with a strange affection for Math. My love for coming up with stories and building neat new worlds in my head meant one thing — that I felt instantly attracted to programming. I mean, who wouldn’t like coding their own world with their own quirks and improvements? Mother Nature has done such a fabulous job of streamlining so many systems, that all I needed to do was draw inspiration from it.

During the spectacular circus that was my first year in college, I had two mandatory classes — programming basics and biology.

When I told my dad this, he asked, “Do you know that this Universe was created by a Programmer?”

He then launched into an extremely fascinating comparison of OOP and DNA.

The DNA is a template — a set of instructions that decide what a cell must become, and what proteins it must produce. It is, in OOP terms, the base class. The entity class. The RNA is the service class that decodes and translates these instructions to come up with the end product- a cell. The RNA uses the same set of codes provided by the DNA to generate different types of proteins by combining them in different ways — polymorphism. The DNA also checks for mistakes or mutations in the code and does damage control — error handling.

It’s safe to say that my mind was blown.

The conversation helped me realize that the world was driven by algorithms. I came to appreciate how every living thing solved problems on a daily basis using base level coding concepts like polymorphism (eg: using your iron box to toast your bread*), and at a higher level, scalability.

Nine years later, now the mother to a beautiful baby boy, this epiphany still continues to drive my life. Don’t even let me get started on the delightful system that works behind breastfeeding — the cronjobs, the observer pattern that it uses, the static class that triggers on start up (the baby being born, in this case).

Unsurprisingly, being a coder has also helped me raise a toddler. You see, there are two kinds of problems with toddlers — the recurring nightmares and the one-off what-the-hell-just-happened problems. The second category ones are NP-Hard. They’re not even worth the effort. For the first category, because most of these are time sensitive (Eg: He just puked and is contemplating swimming in it), I have algorithms in place. I even take the time to fine tune them for efficiency.

Yes, I know. I’m a weird adult too.

I deal with him the same way I would deal with any product proposal — understand the problem statement, get the requirements and come up with a solution and an alternative solution, in case my client (the toddler) rejects the first (“Of course, these are chocolates, honey! They’re definitely not dates!”).

Don’t get me wrong here — I am completely aware that, as with any other art form, coding as a career makes it mundane, a matter of fact. There are problems that come with it — miscommunications, the deadlines, the selling out in exchange for time. Additionally, as a woman, it is assumed that I do not operate the same, pragmatic way a man does. Men tip-toe around me, refuse to trust me enough to hold me equally responsible to a male colleague — and then, end up wondering why I’m not as productive as the man; despite reassurances that I do not mind the pressure or the long hours. This, again, is a topic in itself, and very culture specific.

But today, I want to celebrate all that I love about it. Despite all the issues and struggles, I will continue to build small, pretty things that remind me of what I really do. And when I have that — tiny reminders of my passion — the dark side of it does not matter as much.

*Please don’t try this at home