giggs' blog

Course correction

I’ve been struggling recently while working with AI stuff.
Part of it was work taking a hefty toll on my mental resources, but there was something else I couldn’t quite put my finger on.
I’m hoping to get a programming job sooner rather than later, so it was important to try and figure things out.

A few months ago, when commenting on my Rubik’s Cube project I wrote:

I effortlessly set to work on this project every day since I finished Advent of Code 2017 and generally couldn’t wait to get started. I say set to work, but it never felt like work, even in the most frustrating moments.

This wasn’t happening on any of the AI/Machine Learning project I started. Although I found the subject and the fastai course fascinating, it took some effort to start coding anything related. Eventually, it became so difficult that I couldn’t even get to it.

If you keep saying something is a priority but you never act on it, then you don’t really want it. It’s time to have an honest conversation with yourself.
James Clear - Atomic Habits

As with any serious failure in a system, several things went wrong. I’ve identified three:

  1. Uncertainty

This article highlights the effect of uncertainty on productivity, detailing three different kinds of uncertainty and ways to get past them. I had a bit of high-level uncertainty and a ton of strategic uncertainty. This makes sense, I was attempting Kaggle competitions as a complete beginner in the field. Browsing the forums and reading about the different approaches shared by people helped, Kaggle members are wonderfully helpful.

  1. (Too) high expectations

I wanted to get good results on the first Kaggle competition I entered. I did ok, but what should have been a fun learning experience ended up being stressful. I understand why I did this and writing this article is a way to prevent forgetting about it. However, even setting a realistic objective didn’t fix the issue for the next one I attempted.

  1. The actual coding

Writing Machine/Deep Learning code is different. Training models all day was a difficult experience, and trying to adapt to it simply took too much energy. This was in direct contrast to the other projects I worked on that fueled me. I think this is the most important point. When asked about his advice to the younger generations, Andrej Karpathy had this to say:

[…] really introspect in your past what were the things that gave you energy and what are the things that took energy away from you

This may come as a surprise, as I was quite enthusiastic when I wrote about my completed AI projects. Looking back, what I enjoyed in those were the parts that did not involve writing Machine Learning code.

I see two possible conclusions here:

Either way, I think it’s best to get back to more traditional programming which I’ve always liked. I’ll soon be leaving a job that I wasn’t made for, it makes no sense to try and head for one that most likely doesn’t suit me either.

But hey, at least this time I figured it out in a month rather than 6 years!

I wasn’t sure about writing this initially, but I remembered this quote from an article by Rachel Thomas:

It can be intimidating to start blogging, but remember that your target audience is you-6-months-ago, not Geoffrey Hinton. What would have been most helpful to your slightly younger self?

And I’m glad I did, I certainly understand the situation a lot better now.

#Musings