Vin is an Applied Machine Learning Consultant who’s an industry veteran. I thought it would be cool to talk to him about his day to day, how being a consultant (and running his own company) is different to working as an employee, and what advice he has to those looking to break into the field.
The first piece of my education was in Computer Science. Microsoft gave my university a grant to do Machine Vision research and that’s what I worked on whilst I was in college. I expected to graduate, go straight into Microsoft and work on AI, but the wave of AI at the time, in the 90s, petered out and so that wasn’t possible.
And what’s interesting is that models back then were different to now. The definition of model was more a scientific definition - you looked at examples in environmental sciences, climatology, etc. Those were models that had solid features which were proven - you could do mathematical proofs that showed that these models did what they were supposed to do.
We didn’t get that at the beginning of machine learning a lot and a lot of students don’t get that concept. That you don’t just train and test, but then you go out and validate. You have to prove your model works, you can’t just rely on predefined metrics.
So anyways, I spent 15 years in technology. I did everything from installing PCs and building websites to leading teams. I’ve been involved at every stage of the software development cycle.
In 2010, I was working at a casino gaming company. One of the projects I got to work on started gathering data across different casinos and we were able to follow players from casino to casino. This is similar to marketing where you’re able to follow the same user from one site to the other. The team I was working with had experience in the video game sector, where this type of attribution is common, so we were all able to connect the dots.
And then I got laid off. So I had this chaotic 6 week period where I was looking for a job but then I just decided to start a business. I realized that I could do much of the analysis I had been doing at my job for other clients.
Starting a business though meant that I had to learn so many new things. There was no blueprint, I had to learn through experience. The machine learning research had been there for 8-10 years but the hard part was applying it within the context of industry.
Then, on the business side, I had to learn other things like sales and marketing. I hate selling but enjoy marketing.
I say no to clients more than they say no to me. I want to make sure clients are set up for success right from the beginning and a lot of the time that’s hard to do. Sometimes, they think they want to do machine learning but they really don’t - they want to do something else.
And sometimes I just have to tell them that what they’re doing is not machine learning. It’s just advanced analytics. In those cases, I have to teach the team how to do it. I have to help them build the models.
There’s a bit more scientific rigor needed to create something that works. There’s a level of maintenance and monitoring post deployment that needs to be done which is often overlooked and I need to often educate clients on this part.
In a lot of cases, I enjoy my work because I have to go into a company and teach senior leadership what monetizing machine learning products means, build a path to production, and bring teams together. For instance, dev teams often have to get involved - there’s quality and assurance to be done at the feature level, there’s data wrangling and transformation to worry about, there’s the data pipelines that need to be considered, etc. So there’s a lot of moving parts that need to be outlined at the strategy level.
I’ll typically do one project for the company. I’ll get each group to shadow me as I’m building each piece of the product and they can get an understanding of my workflow.
I also need to help senior leadership figure out whether the project worked. Did it achieve the goals and ROI they had set out? Is it booking revenue? And how much money is it going to cost you each year in order to maintain this model.
I’ve worked with startups all the way up to Fortune 100 clients. And it may sound like they’re completely different processes, but a big company is willing to do something very similar to what a startup does but it just has more teams. So in bigger companies, it is basically just a rapid deployment of this process and adoption cross teams.
The startup has few teams. So the depth of adoption is fairly simple - I can sit down with everyone who’s going to be involved within the process and just have one on ones.
In a larger company, I am initially working with one set of teams for a particular product line. And we are creating a very detailed and consistent process. Once you’ve done it once, then those teams can go out and teach other teams how to do it. Now you’re able to create this institutional knowledge on how to do machine learning from your research phase all the way down to maintenance and continuous improvement.
Another important thing to mention based on this: it may only take the startup about 6 months to be fully educated on this process since there’s less people than at a larger company, where it may take 2 years. But once a larger company has multiple teams educated on the process, they can then themselves do the education to other teams, so the rate of iteration grows and the actual ROI is similar in terms of timeline to what the startup sees.
I usually wake up around 5am and start doing social media. That’s a big part of what I do marketing wise. So I’m writing blogs, doing interviews like this, and responding to emails.
I then will have some standing meetings with clients. I’ll also spend 2-3 hours a day building a model or reviewing it. I’ll spend a few hours a day on strategy calls sitting in on senior leadership and helping them understand product performance.
Every two weeks, I do an executive seminar where I explain concepts like monetization or product planning. I answer lots of questions and understand what my customers’ needs are.
So I wear a lot of hats everyday but do enjoy most of it.
Well, you need communication skills and that starts with having communication objectives. And then understanding how to use language to achieve those objectives.
The main case of that involves data. The more complex the concept behind the communication objective, the worse words do. Words break down very quickly as a mechanism to exchange complex ideas. So you have to use visuals instead.
In many cases, you have to put a whole lot of information into a very simple format. And again the visualizations carry with them the communication objectives. And a lot of the time, you’re not there to do the translation (because your visualization may go out in a dashboard). So you have to build visualizations that stand on their own and are not able to be over extended. They need to have that asterix in important places.
The hard part about this is that the story always evolves. The dataset isn’’t static. So your story is evolving and you have to explain to users that even though there is more data to consume, it still has an end. There is still some assessment that is unsupported even though it may feel like it is.
Some people call it a newsletter - I call it a good time. I write about tech careers and how you can get ahead in yours. It’s my best content (like this case study) delivered to you once a week.