| That's a very long story... But here's the essence. I got a degree totally unrelated to CS. (Think "arts". Decent school. Top 50. But not prestigious.) Bounced around at not-great jobs for awhile, living in NYC and barely making ends meet. Then I managed to get a job at an online media startup (essentially a management role), which was a very lucky break. That got me into software, and I was able to use that experience to move into product/project management. I did that for a few years at some boutique companies, working crazy hours but learning a lot. Then I decided to go back to school and study CS (starting at undergrad level again)... so I spent a few years re-learning everything from the ground up. That includes all the math, stats, etc... that you'd expect from a typical undergrad engineering program. It took awhile to finish, and was frustrating at times, but it was worth it. Fast forward a few years... and now I work as software engineer. I focused on ML during my studies, and again (with lots of luck) managed to get a job at an R&D lab doing machine learning, during my final year in school. I've since moved and now work at a company that does low-level OS-type work. (Which I actually enjoy more than ML.) It's been a wild ride, but it's been fun. Non-linear paths like this rarely get mentioned, but I met dozens of people with similar stories when I went back to school. It's hard, but can definitely be done. |