How Well Do We Know Ourselves? My Path from Philosophy to Coding12 April, 2018

Like a lot of people, I left academia not because I suddenly fell out of love with my research, but because the academic lifestyle (and the dearth of career opportunities) became unpalatable. The biggest reason for this was a change of priorities that came with having kids. In the first place, I found I wanted to spend more time with my family and to do so without feeling guilty about neglecting my research or teaching. And second, I also found a sudden and strong desire to settle down in a place of our choosing, ideally, near to family. Both of these shifts caused friction with my career choice. And at the same time, while I still enjoyed my research a great deal, I felt more and more uncomfortable pursuing it in the current social and political climate (a story for another day!).

Also like a lot of other people, I was not prepared with a ready-made plan "B": for the entirety of my time as an academic, I thought of myself as a scholar. So when I began casting about for a plan "B" upon deciding to hang up my academic spurs, I thought first in terms of my then-current self-concept. Some career paths promised a more obvious connection: I could, perhaps, leave academia without leaving my research behind at all. I could simply become a 'rogue academic.' Making this work would always be hard, but I could certainly try. Equally, I could have gone into writing (or communications more broadly), editing, or teaching. And I did think seriously about many of these things.

Instead, something else happened. Without much thought about what I was doing and certainly without any aspirations of turning it into a career, I started teaching myself to code. Or, I should say, re-teaching myself to code (more on that shortly). At first, I was actually following my son: I had read a discussion online about how to guide children who show an interest in coding, and Toby had just been starting to play with Scratch. I heard tell that Ruby was a good "next step" when he wanted to move beyond Scratch, and so (thinking it would be good to be one step ahead of him) I started tinkering. And I found I enjoyed it--really enjoyed it--and before long I was thinking seriously about how to put my newfound knowledge to work. I poked around in several corners and quickly came to realize that building web applications (now in JavaScript) was really, really fun.

What was fun about it? Suffice it to say, for a start, that web development offers something that is in perilously short supply for any academic philosopher: a reliable reward cycle. I don't meant to suggest that academia or philosophy are unrewarding--that would be untrue-- but the nature of the rewards, their availability, and the ease of accessing them all differ starkly from the pure and simple dopamine hit that comes when you write a chunk of complex code that just works. Learning to code helped me to appreciate a gratification that was missing from my life as an academic writer, in which I always felt that my work was unfinished and inadequate. The life of philosophical study offers pleasures of its own, of course, and I do miss some of those, but I have little desire to yoke my pursuit of them to my job. I'm happy enough being a scholar in my spare time.

What is interesting about this course is how little I expected to take it. But perhaps I should have known better: I have gone through several iterations of learning to code in my lifetime. The first was in my teenage years, in middle school, when I began creating (very) simple Windows games in Visual Basic, and later moved on to learn (very) basic web development. I did not really move beyond kid stuff at that point: I think I can remember finding even simple arrays rather difficult to reason about. And those were the days of the early internet: there wasn't the proliferation of user-friendly tutorials for building up knowledge of technologies that there are today. So I was limited to the books I could get a hold of, and what I learned from them I mostly learned from copying the code, line-by-line, from the books themselves. But although my skills were pretty limited, I still learned a lot from this foray into software development about how to reason through the logic of a software program.

Something changed, though: as I progressed through high school I steadily began to think of myself less and less as a technologist and more and more as a writer. So I left coding behind for poetry and literary studies and, later, for philosophy. I went to college, and then graduate school, without thinking too much about engaging with computer science (apart from a long-term fascination with the philosophy of AI). But then I hit the lull between finishing my coursework and beginning to write my dissertation, where I was unsure of what path to take or how to proceed. Having not yet settled on an advisor, I was on my own. Left to my own devices, I found myself, again, learning to code.

This time around, my language of choice was C#, and I was again making simple desktop games for my own amusement. Again, I didn't get that far in the course of learning: arrays and array manipulation were easy this time, but I hit a "pain point" when it came to actually implementing object-oriented design. Soon, my dissertation topic came into focus and my responsibilities called me away. I let coding go. Although, even then, I still insisted on writing my dissertation in LaTeX (even though it did not involve any heavy formalizations of the sort for which LaTeX is especially useful). I found it easiest to write philosophy when my philosophy looked like code.

And so perhaps it should not surprise me that again, when uncertain of my direction, I found myself pulled back into coding. And this time, without anything else calling me away, I have stuck with it, and gone much deeper than I have in the past. Perhaps because of my background, I have encountered very few "pain points" along the way this time. And I am now, moreso than I have been in a long time, excited for what the future holds.

I'll have another piece up shortly about how I think my intervening years of philosophical study have helped me to become the developer that I am today. Look for that to be up soon.

Return to blog index