Just over a year ago, the world changed. The WHO announced a global pandemic and, well, you know the rest. One week later, I wrote my first “Hello World!”. A world-famous, introductory computer programme and a “rite of passage” that almost all programmers will have written whilst learning to code. Maybe it sounds boring, but to those well versed, when it’s perfectly executed — it’s unbelievably thrilling.
After spending a few weeks learning Python using YouTube tutorials and stackoverflow, I was hooked and certain I was ready to graduate from “Hello World!”. My next step was clear, it was time to upgrade to paid online courses, courtesy of Udemy. In just a month of pretending to be a hacker, with my computer newly set to dark mode and successfully executing a few lines of code in a Jupyter Notebook, it dawned on me that maybe coding wasn’t just a ‘geeky’ lockdown hobby. Rather it could develop into quite a fun career.
Lo and behold, Google Ads seamlessly kicked into action and I “discovered” that Le Wagon, the global number one ranked coding bootcamp had just released an intensive nine-week Data Science course. The timing could not have been better. After completing my forty hours of mandatory prep work for the course, including a (shallow) deep dive into advanced mathematics and some more coding practice, I was thrown in at the deep end. By the end of week one, all I knew was that my brain hurt from over usage and that I exclusively dreamt about coding (well that and cheese, but that’s another story). ‘Intensive’ was definitely an understatement, but so is brilliant. Over the next eight weeks, I gained hands-on experience with the entire end-to-end data lifecycle, was introduced to machine learning, deep learning, and the mathematical frameworks that they’re built on, APIs and the essential Python libraries required for such data-related coding pursuits.
The bootcamp concluded with a two week group project of our own choosing. Having recently re-watched Moneyball, the Bennett Miller film starring Brad Pitt and Jonah Hill, my team pitched a sports analytics project, using machine learning algorithms and simple statistics to model and accurately predict the outcomes of premier league football matches. It’s shocking how incredibly powerful a few lines of code can be with the right data.
After completing the bootcamp, I found myself with a renewed sense of excitement for the somewhat disgruntling job search with so many new opportunities where I could build upon my data science and software engineering skill set and apply them to real-world problems. However, I was quickly slapped back to reality with the heavy-hand of the increasingly competitive job market.
What seemed like several million applications later, I fell upon a chance topical chinwag, a few follow-up emails and a phone call with Jamie, the founder and CEO of Autoenhance.ai — a photo editing software powered by AI. Jamie is a serial startup founder and AI fanatic, and after expressing my interest in AI, he very kindly offered to read my CV and give me some advice. Unexpectedly, Jamie asked if I wanted to pop into his WeWork office and run through some very basic TensorFlow Keras tutorials to get a sense of my skills and guage my suitability for any roles at some of his friends’ startups. Little beknown to both of us, this was my first job interview for Autoenhance.ai. After a few more tutorials and a couple of Kaggle challenges, Jamie blindsided me with an internship offer. I gladly accepted!
For the past three months, I’ve been working tirelessly — researching, building, training and deploying my very first AI as an API. I was set the task of building a better room tagging AI model than the one one that was then in production. Room tagging is an incredibly powerful preprocessing tool that Autoenhance.ai uses to assist our enhancement AI as it autonomously enhances images.
It sounds like a very straight-forward task, and with hindsight, it is. But I’d be lying if I didn’t admit that for the first couple of days working on it, I couldn’t for the life of me work out how to load my custom dataset into the model ready for training. Day three and the next bug struck — somewhere in my dataset of 40,000 images, there were five greyscale images randomly placed. The model I’d built was designed purely for RGB images. “B**s” — I remember thinking as I prepared myself to go through each and every single one of those images to find the culprits. Whilst explaining to Jamie that there was now going to be another ‘slight’ delay, he promptly pointed out that this wasn’t an issue at all and that I could “just write a quick python script to remove all the greyscale images”. Smart! (For those interested, see the snippet below for the code).