March 24, 2018

The path least trodden

In this inaugural post, I felt it would be reflect on how I've gotten where I am. I like my story and I think it can help some people in similar situations make decisions about their life orientation.

A bit of context first: I work for Cognician, an amazing firm in the business of providing digital coaching solutions to world-class companies looking to help their people think, act, live better, at scale.

I'm often in a weird situation when having to say 'what I do': while my official title is 'Data Specialist', it doesn't exactly describe my day to day activities (it does describe what makes me valuable to the company).

If I reflect on the past year or so, most of my days have been spent:

  • Writing data processing scripts
  • Building systems that allow me to automatically run these data processing scripts
  • Jump in and help the platform and tech team with miscelannous programming tasks
  • Spin up my own parts of the Cognician platform.

I'll save the nuances of what being a Data Specialist is for a later post. For now, I'd like to reflect on how I got to doing the job I'm doing now.

I love all the programming I do (not least because I'm lucky enough to work in Clojure!), but I didn't start out as a programmer. I'm originally a humanities student: I studied Literature (French, English and Spanish), Philosophy, History, Geography, and some classical Greek (not that much, but let's say, more than the average person haha).

The Narrative

We all love to recreate the history of our lives, and see how things lead naturally to each other. I think in describing my path as a chronological story I may end up trapped in the narrative fallacy, where everything seems to follow 'naturally'. Yet the fact that my story is unusual means I should avoid such a trap.

For this reason, I'll be focusing not so much on the sequence of events that led to my becoming a software dev; but rather, which parts of my past inform how I develop software now, and make me a good person to have at the table.

What's in a good junior dev

A lot of posts about what makes a good 'new programmer' are written by senior programmers; and understandbly so. I don't intend to reinvent the wheel or dirsupt the common acceptance. Rather, I'd like to re-explore these characteristics from the point of view of someone who attempts to live them every day in their work.

Communication

As a junior dev, I feel like my comms skills are probably the most important thing I've had to develop, and which I have to maintain every day. Because I tend to be 'given' tasks, there's virtually no moment when I can retrench myself in my ivory tower and just do things in a silo. A lot of my time is done talking and listening to various stakeholders (users, people from different company departments), usually in an effort to ensure the technical brief I was given covers.

Even if you're working in a 'bow you head and do the work' kind of place, understanding how to use words carefully will always pay off; whether it means writing clearer documentation, understanding briefs quicker and correctly, or even simply navigating difficult office politics.

Communication is a tricky one coming from the Humanities; because it could feel like we're meant for it. But the reality is, the way we write essays, and the way we manipulate words can sometimes go against this. The corporate world favours short, to the point, and, sometimes, superficial – all of which are usually incomprehensible to an English major for whom 'writing a 20 page essay' is seen as a good thing!

Language learning

Dealing with difficult concepts

Empathy and different points of view