From Research to Production
After spending 4 years doing research for research’s sake in Grad School, I’ve spent the last few months getting to grips with the idea of doing research as part of a bigger picture. On the surface, there are many similarities between the work I do now, and the work I did during my PhD - I’m still programming, working with big data, drinking lots of coffee and trying to improve existing models. But in this post, I want to point out the main differences between the two work set ups.
In grad school, my goal was to produce work that was good enough to ‘get a PhD’. Admittedly that should not be the goal of any model PhD student, and if you’re reading this before you decide to do a PhD then please don’t tell any potential supervisors that “you just really want to be a Dr”. In the shorter term, to aid that larger goal of getting a PhD, I strived to write papers that were of publishable quality, and to aid that I had to produce work that was “better” than what came before, where on a basic level “better” meant coming up with a method that outperformed existing methods in terms of some quantifiable error metric, like mean squared error.
In industry my daily goals are similar in that I strive to produce work that is “better” than what already exists, but here “better” means means “improves the overall performance of an application by helping the company meet business objectives”. There will be some metric that I’m optimising for but it likely isn’t directly related to the model. In some cases, I might just want to see sensible results from a model quickly, or I may wish to monitor a business metric, such as customer retention rate, but rarely do I want to look at a standard mathematical loss function.
In both my PhD and in my job, the biggest constraint I come across is time - deadlines are abundant. However, aside from the occasional conference call for papers, when I did my PhD they were “present but flexible” - the last chapter of my thesis is titled “further work” and lists all the things I would do if I had another four years to work on it. In my job, deadlines are much more rigid, and must be met in order to ensure that the bigger targets can be met - my work is never stand alone and must be integrated with work of colleagues. In order for that integration to be successful, I’m required to meet deadlines, and have much more incentive to do so, since other peoples’ work depends on it.
Below is a recording from a talk I gave at Berlin Buzzwords 2018, where I talked about the ideas above in the context of building a recommendation engine.