3 ms·
fwiw, over 4 years ago, I quit a risk quant job at an investment bank and joined Twitter. When I saw all the sophisticated ML systems they had deployed, I asked
by dxbydt 10y ago
fwiw, over 4 years ago, I quit a risk quant job at an investment bank and joined Twitter. When I saw all the sophisticated ML systems they had deployed, I asked the same question - How do I, a person of average intelligence with zero exposure to ML, contribute ? Is there anything I can do to get involved?
The answer I got was rather unpleasant and won't please everybody. No you cannot contribute. At least not in a direct meaningful fashion. You can be a waterboy. So that's what I did for 2 years. I wrote a lot of ETL jobs using custom Scala DSLs, that fed the input to these ML jobs. It was a total waste of time. Sure I learnt map reduce and Hadoop and all that jazz, but end of the day, I wasn't doing ML. I was doing ancillary tasks. These tasks no doubt have some economic worth, because I was getting paid. But no company is going to let you do the ML when they have 100s of ML PhDs on their payroll and you aren't one of them. So you just do the data prep, or do ETL, or do data viz, or crunch some numbers aka BI, and convince yourself you are doing real ML. This went on for a while. Finally I couldn't put up with this farce and quit.
What worked for me personally was finding a very small company with a tiny data science department, that was headed by an ML PhD who was ready to mentor me, tell me which papers to read, get me to start working on my own papers, get me to build ML systems for image recognition on company time, get me to read textbooks and present topics...it was all quite painful and very humbling, but I learnt a shit ton of stuff. So my frank suggestion is to be brutally honest with yourself. You aren't going to get from here to there by hanging around on coursera or writing ETL. This stuff is seriously hard. If you want to make a genuine contribution, be willing to put in serious time - and that means literally stopping whatever shit you are doing now as a webdev/back-end dev/ETL dev/data-eng etc. Those ancillary tasks won't get you anywhere. Buckle down and do the real deal. You'll thank yourself one day if you did.
- samsonradu 10y agoWhile I really appreciate the realism in your post, I wouldn't call webdev/back-end dev shit though. After all, that's what brought us here in the first place and are still heavily needed.
- latch 10y agoDon't think he was saying that stuff is shit. I think he was using the word the same way you might when saying "Boy, did I get a lot of shit done today!"
- jhartmann 10y agoDoing the dev is the only way, I would recommend though reading the Hinton dropout paper and trying to implement a non full featured Neural Network framework to implement those ideas. Then pick papers to implement in your toy framework. Once you have done this a few times, you will get a really good idea how all this stuff works and ideas to extend things. It also REALLY helps if you have a very strong linear algebra background, so if your weak there do lots of reading and practice getting those skills up to snuff. I may not be the best example, because I worked in computer graphics heavily over my career. My suggestion though is to try and apply DNN's and ML techniques in somewhere you have domain experience. It really will help a lot with the intuition part since you have valuable domain experience to give you ideas to try. This is a path I took around 4 years ago, and I have built some seriously valuable stuff in that time. Also I would personally say to not discount the value of backend stuff, doing scalable ML processing is not off the shelf and lots of value can be created by making scalable reusable systems that can run machine learning models. Most of those ML PHd's can't (or don't want to) build scalable distributed systems. If you can train experiments faster, or actually do the work to make an end to end system work outside the lab, you can make real measurable contributions.
- jupiter90000 10y agoThanks for that post, I'm in that waterboy place you're talking about and have been trying to find a way to the next level. If nothing else, sharing your experience was confirmation that helped me realize I'm not suddenly going to start doing ML at work if I'm paid to be doing other things.
- danielmorozoff 10y agoI would argue some of the most difficult problems in ml is data prep/ preprocessing.
- cageface 10y agoI came to exactly the same conclusion about six ago when I decided to try to get into the field. I spent several months studying and implementing all the common algorithms by hand and working on various public data sets. I enjoyed it and ML is a fascinating subject, but once I started taking a closer look at the job market I realized that even big companies only need a few ML experts and that those roles tend to go to people with graduate degrees in the subject. So making the jump from web or mobile dev, for example, is pretty tough.
- taneq 10y ago> What worked for me personally was finding a very small company with a tiny data science department, that was headed by an ML PhD who was ready to mentor me IMO this is excellent advice for anyone who wants to move into a new field, and I've personally learned many of my skills through this kind of situation. Get yourself a job somewhere small but ambitious, and you'll end up wearing a lot of hats and doing new things simply because you put your hand up for them. Then when it's time to move on, voila! You have X years commercial experience in a whole bunch of things and you put the one that you want to focus on next onto your resume. The bigger the company, the smaller the pidgeonhole you'll live in and the less likely you are to ever end up doing anything outside your original job description.