Transition from a well paid web development job to a machine learning job was not smooth at all. All those holy test driven development standards and code quality measures that I held dear didn't matter anymore. Instead, what I had to deal with was data. Huge sets of data, from which I was supposed to derive patterns.
Programming skills forged from Web Development such as a strong grasp of Object Oriented Programming, experience with Test Driven Development and familiarity with SOLID principles were not of great use either. After all, the whole point of Machine Learning is to let machine do the programming.
I was tasked with building a software that, when provided with any E-Commerce web page URL(such as a product page on Amazon), extracts out its name, price, image, specifications, description etc. I could use my programming skills to convert web pages to data sets. Each element in the page would be a row in my table, columns were like 'text content', 'font size', 'font color' etc. I applied a method called Support Vector Machine (which I learned by googling around) to create a model that would tell which row corresponded to name and price of the product.
Apparently, I did not have to deal with hard math to make progress on my first task. And I could use my hacking skills to convert web pages into data sets.
Many web developers get scared away from Machine Learning as 'it involves a lot of hard math'. Luckily, this turns out to be a myth, sort of.
Machine learning algorithms are implemented based on pretty hard math, just like how graphics libraries and game engines rely on sophisticated mathematical models. Does that mean an animation career require you to be a mathematician? Of course not. The same goes with machine learning. But with that said, a strong knowledge of statistics would have enabled me to make better use of the data sets I created. And I have found wonderful resources for programmers to learn statistics such as Allen Downey's 'Think Stats'.
An important observation from this adventure is, 'while you have to sacrifice most of the hard earned Web Dev muscles to make the switch towards Machine Learning, it is pretty evident that all those programming/hacking muscles could be used to accelerate your career'.
So is it worth it to switch from Web Development to Machine Learning? If you don't see yourself devoting the rest of your career towards carefully curating and testing lines of code, and need something different and perhaps more challenging, then machine learning absolutely is the way to go. And if you have startup ambitions, it makes all the sense in the world to make the switch.
This article was originally published here