Like A Girl

Pushing the conversation on gender equality.

Code Like A Girl

How My B.A. Prepared Me for Learning to Code

From Aristotelian logical reasoning to coding.

One of the things that I love about the coding community is that software developers come from a diverse array of backgrounds. Despite the common assumption, they’re not all Computer Science grads. Personally, I studied Modern Languages and Philosophy at university and was all set for a career in journalism, before I discovered a passion for coding. Happily, my ongoing transition into tech has been aided by a number of skills I acquired from my Arts degree, an advantage I hadn’t foreseen.

It may sound cliché, but my impression of programming thus far feels similar to my experience of learning French and Spanish. If you’ve mastered a foreign tongue from scratch, you’ll know that attaining fluency involves a lot of hard work and patience: there are certain complex grammar structures and vocabulary that you need to absorb; while the only way to get good is to immerse yourself in the culture. Oh, and practice, practice, practice. It sounds like a hard slog, because it is. Whenever I come across those misleading ads that seductively chime “Learn Italian in Just 3 Weeks!”, I get fairly irate. Language students should come to terms with the fact that learning a language is a challenging, enduring commitment — and some languages are trickier than others. But the good news is, if you stick with it, the long-term benefits are invaluable. Something tells me that developers out there can empathise!

The first verb tables you learn in French class. The same ‘chunking’ approach could be applied to learning functions in coding languages.

Speaking of uphill journeys, I’ve found that a philosophical attitude comes in handy when you need to persist in the face of failure. Philosophy students learn to accept that often there is no absolute answer or quick fix to a problem; after all, the most ancient, fundamental questions regarding our existence and purpose as human beings are still the subject of debate today. Good debating requires humble respect for your predecessors’ and peers’ theories, coupled with a keenness to analyse them in a critically constructive way. Ultimately it’s a team effort founded upon independent expertise coming together, not dissimilar to a collaborative coding project or ‘scrum’. A scrum, as I’ve recently discovered, is the software equivalent of an empirical philosophical debate (i.e. one based on evidence as opposed to abstract logic). Much like the philosopher who is ready to adapt their approach in accordance with new evidence, a scrum is able to respond to evolving technologies and changing demand on an ad hoc basis.

It would seem, ergo, that my Liberal Arts degree prepared me for a career in tech in multiple, unexpected ways. Had I studied Architecture, Botany, Chemistry, Divinity, or Economics, my approach would be totally different, but conceivably just as enriching.

The world can only benefit from diversity of expertise and experience in its software developers. Because coding is absolutely everywhere and, ideally, code should be written by people who understand the needs of the people it serves.

So whether you’ve a BA, an MSc, or an NCTJ to your name, coding could be for you. Alternatively, you might have no formal qualifications at all. But that’s no excuse not to give coding a try, on the contrary…

Originally posted at Secret Diary of a Code Girl.

If you like this post, don’t forget to recommend and share it. Check out more great articles at Code Like A Girl.