Thank you so much! This looks like exactly what I need as well. I'll give it a go. I wonder though if there's something similar available for AWS or GCP.
Yes! Same thing happened to me too. Joined a non-faang company recently and recruiter messages dropped to almost nil. Pretty sure its because I started a new job.
Sure, we have a team just like you mentioned. Quiet, no stupid gossips, etc. Focused on work and individual contribution. Very less to almost no meetings for developers. We always for look for creatively solving the problems, rather than preferring manual labor intensive solutions. And the team is small. But it's not Android related. We are big data development and mostly use Scala. Email me at [email protected] if you want to apply. We are Austin, texas based and domain is healthcare.
If you're willing to pay and are looking to crack interviews after the course, I would say take a look at InterviewKickstart. They are supposed to be the best bet to get into top 10 companies but are extremely pricey - 7200$ for 2 months. I declined and am practicing on my own using Leetcode. I come across a new concept required for a problem, I learn it.
You need to buckle up on Mathematics. Do not look at fancy stuff like PyTorch, Keras, Tensorflow, etc. Libraries and languages are a means to an end. Good, intuitive understanding of mathematical concepts behind a certain ML algorithm will go a long way. As mentioned in one of the comments, statistics shows up everywhere.
Does not matter the number of courses one does. Knowing when to apply what and practical know-how only comes when you do real world projects on your own. In OP's case, it might very well be building NLP projects, doing image classification (insects and plants, maybe?), making one's own recommender system to suggest movies - but unlike Netflix this will also recommend dissimilar ones. Writing or improving on research papers is another way to go about it.
This is absolutely, hands-down best advice. I would definitely second this. I have done ML and Data Science projects on and off at my workplace and I definitely think I know much more than folks who are simply doing lectures, courses, etc. I think working on a problem is actually the only good way to learn just about anything when it comes to Computer Science and Data Science, in general. I would suggest the OP to pick a topic of interest, define a problem statement and work on getting results there. OP needs projects to work on.
Interesting! But this seems to be a run down of low level socket details rather than a lay of the networking land I am looking for. Thanks for the suggestion though!
You need to pick up problems and do them. Pick up a problem and learn the math for it, then code it, and then if you like, publish it or blog about it. You only learn a subject by doing problems. So, you need to think about the list of problems you're going to solve. Here's a starter list - make a recommendation engine for books to read for a user, make a sentiment analysis prediction algorithm for hospitals based on patient feedback (textual), make a spam detection engine for sms'es you get on your phone, make a multi document summarizer, make a prediction model for predicting whether a certain flight would be on time or not, make a bot application for your phone such that for everything you want to do on your phone you just go to that bot application and type in and tell it what to do, advance your bot by taking voice instructions, make a AI game to play tic-tac-toe - make your friends play with it and let it learn / grow it's training data and then it should improve in beating other people. If you only do these, it'll take you a few months. But like they say - "when you want to learn something, assume you have all the time in the world". Best of luck!
Here's a tentative plan-
1. Do fully AndrewNg's course from Coursera
2. Do a course called AnalyticsEdge by MIT folks from edx.org. I can't recommend this course highly enough. It's a gem. You will learn practical stuff like RoC curves, and what not. Note that for a few things you will need to google and read on your own as the course might just give you an overview.
3. Keep the book "Elements of Statistical Learning" by Trevor Hastie handy. You will need to refer this book a lot.
4. There is also a course that Professor Hastie runs but I don't know the link for it. I highly recommend it as it gives a very good grounding on things like GBM, which are used a lot in practical scenarios.
5. Pick up twitter/enron emails/product reviews datasets and do sentiment analysis on it.
6. Pick up a lot of documents on some topic and make a program for automatically producing a summary of those documents - first read some papers on it.
7. Don't do Kaggle. It's something you do when you have considerable expertise with ML/AI.
8. Pick up flights data and do prediction for flight delays. Use different algorithms, compare them.
9. Make a recommendation system to recommend books/music/movies (or all).
10. Make a Neural Network to predict moves in a tic-tac-toe game.
These are a few things that can get you started. This is vast field but once you've done the above in earnest I think you have a good grounding.
Pick a topic that interests you and write a paper on it - it's not such a big deal.
I am trying to reach a point where I can say - "Hey! Look I've designed this highly scalable website" to satiate my own hunger for this knowledge. And I know that one can't possible cover all (and maybe not even a lot) scalability topics while designing such a site but at least it would give me a solid start - something I can build on later on. Yes, I understand 2003 is very old and hence the question - does someone know something similar to MIT 6.171 that's more recent or if that course has been updated. Also, thanks for your reply :)
Yes, thank you for your response. Yes, I know about highscalability.com and such websites but the overview they give is very high level. I am looking to build something similar to the 6.171 MIT course - really hands on and concrete.