Machine Learning for Software Engineers
Learn Python stack: scipy, numpy, pandas, scikit-learn, jupyter, matplotlib/seaborn.<p>Learn machine learning tools: XGBoost, Scikit-learn, Keras, Vowpal Wabbit.<p>Do data science competitions: Kaggle, DrivenData, TopCoder, Numerai.<p>Take these courses: <a href="https://www.coursera.org/learn/machine-learning" rel="nofollow">https://www.coursera.org/learn/machine-learning</a> <a href="http://work.caltech.edu/telecourse.html" rel="nofollow">http://work.caltech.edu/telecourse.html</a><p>Work on soft skills: Business, management, visualization, reporting.<p>Do at least one real-life data science project: Open Data, Journalism, Pet project.<p>Contribute to community: Create wrappers, open issues/pull reqs, write tutorials, write about projects.<p>Read: FastML, /r/MachineLearning, Kaggle Forums, Arxiv Sanity Preserver.<p>Implement: Recent papers, older algorithms, winning solutions.<p>As a software engineer you have a major advantage for applied ML: You know how to code. AI is just Advanced Informatics. If you want to become a machine learning researcher... skip all this and start from scratch: a PhD. Else: Learn by doing. Only those who got burned by overfit, will know how to avoid it next time.