I am a software developer (mostly .NET and Python about 5 years experience). What can I do to help me get a job in the machine learning field or really anything that will get me started in that field? Is post-graduate degree a hard requirement?
Everytime I have talked to someone about learning more machine learning they always point me to the Elements of Statistical Learning by Hastie and Tibshirani. This book has the good fortune of being available online for free (a hard copy does have a certain appeal, but is not required) and it is a really great introduction to the subject. I have not read everything in it yet, but I have read much of it and it has really helped me understand things better.
Another resource that I have been working my way through is the Stanford Machine Learning class, which is also online and free. Andrew Ng does a great job of walking you through things. I find it particularly helpful, because my background in implementing algorithms is weak (I am a self taught programmer) and it shows you how to implement things in Octave (granted R has much of it implemented in packages already). I also found these notes on reddit statistics a few months ago, so I kind of skim through those and then watch the video and reflect on it with my own notes.
My background is in statistics and I got some exposure to machine learning concepts (a good buddy of mine is really into it), but I have always felt like I am lacking on the machine learning front, so I have been trying to learn it all a bit more on my own. Thankfully there are a ton of great resources out there.
As far as getting a job in the industry or graduate school requirements I am not in a great position to advise (turns out I have never hired anyone), but I have noticed that the business world seems to really like people that can do things and are a bit less concerned with pieces of paper that say you can do something.
If I were you, I would spend some of my free time getting confident in my machine learning knowledge and then implement things as you see opportunities. Granted your position may not give you that opportunity, but if you can get something implemented that adds value to your company (while maintaining your other obligations), I can’t imagine anyone being upset with you. The nice thing here is if you do find yourself doing a bit of machine learning at this job, when you go out looking for a new job you can talk about the experience you already have, which would help folks look past a lack of a specific degree.
There are a lot of resources and its incredibly interesting, I wish you luck!
Another idea: You could start a blog about your Machine Learning learning process and maybe document a few projects you work on in your free time. I have done this with a programming project and it allows you to talk about a project you are working on in your free time (looks good to the employer) and you can also direct them to the blog (obviously keep it professional) about your work. So far I have sent quite a few people to my dorky little programming blog (I have been a bit lazy on posting lately, but I kept it up to date when I was applying to jobs) and everyone I have talked to has been impressed with it.