I have a Bsc in Software development which was extremely practical and light to non existant on real math or algorithms. Since then I have done very well as a contractor programming mainly in java building webapps for your typical enterprise shops, banks, big energy providers etc.
Now at age 33 I'm considering taking 3-4 months after this contract to take the following 3 courses:
- http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/Syllabus/
- http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-- 2011/Syllabus/
- http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/calendar/
I want to stop contracting and apply to a company solving real problems after this process, google, facebook, zalando, amazon, etc..
I have always felt terrified of the google interview process, or any test on a whiteboard for that matter.
In the 3 months, I plan to work 6-7 hours a day and get a tutor 3-4 times a week on chegg.com. If I have time left I would also like to work through cracking the coding interview.
Would love any feedback on this idea, i.e. if I'm missing the mark, or picking bad courses it's best to know now.
Cracking the coding interview is pretty good, but you'll go crazy if you just try to work through it straight without any other content to broaden your perspective.
I'd suggest doing challenges on Topcoder, Hackerrank, etc. to help reinforce the concepts. These questions are very similar in format (if not content) to those you'll see in your interviews, so it's helpful to get thinking in these kinds of modes.
If you're not already comfortable coding on a white board, or talking and coding at the same time, you'll want to work on those as well. Even some simple rubber duck programming will be useful.
Note that the above is probably not going to be anything new to you - you've probably already read this in a bunch of other blogs you found while googling. I repeat it only to reinforce its accuracy.