15 ms·
Ask HN: How can a front-end developer dive into machine learning?
I am a Computer Systems Engineer who is good at front end development. I want to learn machine learning next. How can a front end developer utilize machine learning?
- kunashe 9y agoCheck out this excellent walk through by Per Harald Borgen: https://scrimba.com/casts/cast-1980 https://scrimba.com/casts/cast-1980
- niix 9y agoThis is great.
- cocoalasca 9y agohave not finish it but it seems good, you could check it out, this tutorial uses processing for teaching neural networks and it relays on processing's graphic feedback to visualize what is happening https://medium.com/typeme/lets-code-a-neural-network-from-scratch-part-1-24f0a30d7d62 https://medium.com/typeme/lets-code-a-neural-network-from-sc...
- tinyrick2 9y agoDan Shiffman created a Youtube playlist titled "Intelligence and Learning", which might be a good place to start. This is the link to his channel https://www.youtube.com/user/shiffman https://www.youtube.com/user/shiffman
- developerdanny 9y agoWow thank you for this!!!
- iask 9y agoThanks for sharing this. I immediately like his energy...I find KNN and TSP very interesting problems and I see he has a videos on those...bon weekend!
- ahamedirshad123 9y agoSiraj Raval and Dan Shiffman are THE best, when comes to teaching.
- niix 9y agoThat intro video is hilarious.
- arsmoriendi 9y agoThanks! There is a live session now (started 34 minutes ago), as every friday. He's apparently coding a Minesweeper. It seems like a really good resource.
- MehdiHK 9y agoAwesome! Thanks for sharing this.
- ojr 9y agohttp://www.fast.ai/ http://www.fast.ai/ is a mooc, Coursera is a mooc that has courses on the topic also there is udemy, the knowledge you retrieve depends on the effort you put in, just like front end development
- nerdponx 9y agoHow can you utilize it? It's not "front end" per se, but you can use it to build recommendation systems and predictive models for users. Basically, anytime you need or want to make a decision involving some amount of uncertainty.
- autokad 9y agoit depends if you want to be a data engineer (lots of need for that), software engineer that developers code for data scientists (Software Engineer: Machine Learner - also lots of demand), or a data scientist. the latter, 'might' be a challenge. I started looking into linkedin profiles of data scientists of top tech companies after I realized there were more wharton mba's as data scientists than there where people who mastered in CIS in my program. So far, 50% had a masters/phd in statistics, 25% Information / Data Science, 25% business background. However, I am still looking into it as my sample is small and I have selection bias in my sampling.
- sceew 9y agoWhat are the primary skills of the 'Wharton data scientists' you are talking about? Is it excel, SQL, R, Python?
- autokad 9y agoI 'presume' its the fact that wharton has a lot of great stat classes. stats stats stats, not r python sql
- potatoyogurt 9y agoThat's probably because "data scientist" isn't a job description, it's a trendy title for a whole constellation of jobs that involve looking at data. I would expect that the Wharton grads are probably doing work that is fundamentally different from most people with hardcore academic stats backgrounds.
- mrdrozdov 9y agoI think this sentiment is roughly correct. It's basically the same for programmer as there are many jobs that involve programming. Note that data science doesn't necessarily mean machine learning, and there are lots of data scientists who do powerful work with stats that doesn't involve anything that looks like ml. The jobs for people working in machine learning tend to fall into: software engineer (machine learning), research engineer, and research scientist. Yann LeCun has an excellent Quora Q&A where he delves into the differences of the roles. I do not have the link on hand but it is probably easy to find.
- JaviLopezG 9y agoIt don't answer you but it is related in some way. I saw some days ago a js library to implement neural networks. I didn't dive in it but it looks like something to do simple things on browsers https://synaptic.juancazala.com/#/ https://synaptic.juancazala.com/#/
- Pigo 9y agoI'd recommend looking into Azure's offering if you want an environment that's already setup, free to play with, and has some tutorials and templates https://azure.microsoft.com/en-us/services/machine-learning/ https://azure.microsoft.com/en-us/services/machine-learning/ If you want to get more hands on, I'd look into Tensorflow. You can search github for popular projects using it to get some ideas. I haven't played with it in awhile.
- rsrsrs86 9y agoIf you really want to learn machine learning you should pursue a PhD. You might be able to do very simple stuff and follow tutorials because there are very high level tools around, but to really know what's going on and how to use it to produce new products and services, you need to master it properly.
- davis 9y agoThis is not true and harmful to the progress of the field: http://www.fast.ai/2017/03/17/not-commoditized-no-phd/ http://www.fast.ai/2017/03/17/not-commoditized-no-phd/
- denzil_correa 9y agoWhile it may not require a Ph.D, effective use of Machine Learning does require Ph.D like scientific skills. Even the link you mention talks about reading research papers and building good models does require scientific rigor.
- soundwave106 9y agoHmm... for this statement, I guess it depends on what you would classify as "machine learning". From what I've read on machine learning, a lot of the more basic techniques includes statistical methods (linear regression, logical regression, random forests, Bayesian statistics) that more or less are taught at master's degree level statistics courses at most, not doctorate level. If I remember right basic linear regression even showed up in stat 101. I realize that many of these techniques can't solve some of the problems the deeper, more complex machine learning techniques can (for which your Ph.D statement might be right). But not every problem needs a very complex solution.
- rsrsrs86 9y agoWell the article builds around a very superficial view of ML. If you want to do simple recommendation systems or spam filters than O.k. Those are solved problems, hence commoditized. If you want to build novel things, you really need academic-grade ML. If you want another argument, I came from working in VC and startups, and they think they understand ML. Boy, they really don't. They are like kids pretending to play a guitar that can't strike a single chord right.
- ronreiter 9y agoOne word: https://www.coursera.org/learn/machine-learning https://www.coursera.org/learn/machine-learning
- laughingman2 9y agohttp://course.fast.ai http://course.fast.ai Its hands down the best course to get your hands dirty with latest , state of art stuff, and then learn how it works. It has completely different approach to most courses. It is top down. Do this first, you can immediately apply it to cool stuff like image classification , nlp etc. The assignments have additional resources where you can get into more detailed math (but the course doesn't dumb things down, but gives more intuitive explanations) and dive even deeper.
- erikb 9y agoface first, feets pushing
- lngnmn 9y agoThe Andrew Ng's course on coursera. Then some Udacity.
- jugjug 9y agoFind a company with a data-science department, which needs engineers to industrialize their proof-of-concepts (POCs). The POCs might often include front-end work. Once you are in, learn machine-learning on the side and try to transition into a machine-learning role. EDIT: On top of it, if software engineering is your strength (testing, automatic deployment, etc), data-scientists will also benefit, since you can show them how to professionally develop a sw product.
- mooreds 9y agoI have a friend applying for a job doing just this: being the software developer to help the data science folks operationalize their models. Not sure how applicable this is to a straight up front end developer, though. I would definitely suggest learning Python if you head this route. R would be good as well.
- mrdrozdov 9y agoIn Feb 2015 I quit my job as a front end developer to learn more about machine learning. First, I went through the Recurse Center, which is a 3 month program sort of like a writing retreat for programmers. I learned a lot about Python and AWS in that time, and got an internship as a data engineer. In that Fall, I started a computer science master's. I've taken mostly courses in machine learning including: Machine Learning Theory, Deep Learning, Probabilistic Graphical Models, NLP, and GPUs. I've collaborated with two professors on research papers, which has definitely been the highlight of my degree although I definitely think the courses were necessary as I continue to use the information that was covered. Finally, I'll be starting this summer as a research engineer doing deep learning! This process took me 2.5 years, but I feel very prepared for my new role. It probably is possible to do this faster by joining a program like Metis or Insight, which prepare you for data science like jobs w/in 3 months. I would say that approach is slightly more challenging / high risk. If you really want to go into machine learning, I'd say doing the degree is a more surefire approach, granted it's more expensive in time and money.
- wunderlust 9y agoWas your undergrad in computer science or did you 'hop' into the masters?
- mrdrozdov 9y agoMy undergrad was in computer science, although I would say this wasn't the case for most of my classmates. There were a lot of students from other engineering fields (like Mech E or civil), Math, Stats, physics, bio, and business.
- ransom1538 9y agoHey honest question. I have worked with ai and nlp guys. How i have seen this works out: there is a problem x. They get the best most recent respected research on the problem x. They implement it most of the time it's on (github). If it doesn't solve the problem at hand they shrug their shoulders and say something like "it is the standford nlp parser can't do better than that!" the concept "getting into ai" - I am confused. We need more people to git clone ai repos? Or are these people truly interested in ai research - at that point they should be looking at a phd. Then people pile on: "learn how an nn works!" Uh why? Anyone can git clone and setup nodes. I am missing something. Please help.
- Scarblac 9y agoYes, to actually improve the state of the art, you start a PhD, I agree. But there's still also a lot of work that people can do applying the "Github repositories" to new problems. And to do that effectively, you also have to know stuff (e.g. you need to be able to read the most recent research, now when tool X is appropriate over tool Y, know what preprocessing makes sense in a given situation, etc). There's money to be made there and people want to do that work.
- mrdrozdov 9y agoStanford parser is very good for preprocessing data. Things like part of speech tagging, named entity recognition, and dependency parsing. If you want to do something fun and interesting with your data, you will probably need to implement it yourself. Note, there are lots of other go-to tools nowadays besides the Stanford parser. Things like GloVe embeddings, open source translation systems (harvardseq2seq, open source sentence encoders (facebook fasttext) are probably necessary in many NLP pipelines. When things "just work" with off the shelf tools then you probably don't need the researcher (although sometimes you will need them to just find the right solution/tool). When things don't work, you will need them. I guess this can be said about many fields though? (Databases, front end development, etc)
- sjg007 9y agoThe big gains now are taking these pre-processing tools in speech, vision, NLP etc and using that as input to a NN for some problem domain. Every one of these is a startup.
- krosaen 9y agoI'm about a year into a transition from traditional software dev / engineering leadership to ML / robotics engineering, starting with 6 months off of personal study and now continuing study while on the job as a research engineer. I wrote about my experience and give advice on how to approach learning ML here: http://karlrosaen.com/ml/ http://karlrosaen.com/ml/
- intellectronica 9y agoI did Udacity's Deep Learning and Machine Learning courses and found them to be a really great introduction, and enough for me to continue on my own. I'm not a front-end dev, but also definitely not a mathematician or computer scientist. You should be able to learn enough to do some cool stuff. - Make sure you know Python well - pretty much everything interesting in ML is in Python. If you already know JS this shouldn't be too difficult. - Learn you some classic ML using scikit-learn and some online course. - Learn Deep Learning using TensorFlow, Keras and/or PyTorch with one of the online courses. - Get in the habit of reading new papers in ML (which are out on a daily basis) and replicating the results. - Start working on some cool, original stuff.
- reticentraccoon 9y agoFrom where to get the latest papers?
- kiril-me 9y agoCornell University Library [https://arxiv.org/ https://arxiv.org/] has a lot of publicly available papers. You need to find the domain that you are interested in and start looking. Usually, papers describe relative works and state of the art algorithms. So you can start with one algorithm and go deep. Books: https://medium.com/iambot/tagged/books https://medium.com/iambot/tagged/books Also, you can join communities. https://deeplearningstudies.slack.com https://deeplearningstudies.slack.com https://www.facebook.com/groups/1892696574296664/ https://www.facebook.com/groups/1892696574296664/
- webmaven 9y agoThe latest papers are posted to http://arxiv.org http://arxiv.org, but a more curated approach is very helpful. So take a look at http://www.gitxiv.com http://www.gitxiv.com and http://www.arxiv-sanity.com http://www.arxiv-sanity.com
- qorrect 9y agoI am a long time developer who is trying to move into data science / ML. What I've found after taking off for 12 months of self-study, is that it quickly dissolves into you must know math. As far as I can tell, its take a problem, map it into a vector space, then use the full power of mathematical analysis on it . There is a huge push by large companies to make AI as a service though, and for that, you only really need to know how to use the APIs. Which makes me wonder, why in hell have I done burnt through all my savings for this. Sure I have a new found love for math, but I'm not going to be accepted as a mathematician ever without the rigor of a formal education, and if I just wanted to use APIs ... I could have continued to do what I was doing.
- bkyan 9y agoI'm a little confused -- how does learning math involve burning through savings?
- MichaelBurge 9y agoIf you live in an expensive place like San Francisco, you burn through savings by default without a job.
- bkyan 9y agoAh... I didn't catch the "without a job" part...
- deleted 9y ago[deleted]
- ma2rten 9y agoYou don't have to be a mathematician to do machine learning. Jeff Dean said that almost every engineer working at Google should be capable of picking up the math for machine learning [1]. In particular with deep learning the math is quite manageable. I would encourage you to take part of some Kaggle competitions to get a better feel for the practical aspect of machine learning. [1] https://backchannel.com/how-google-is-remaking-itself-as-a-machine-learning-first-company-ada63defcb70 https://backchannel.com/how-google-is-remaking-itself-as-a-m...
- 3chelon 9y agoYour question says "utilize" machine learning. I was in the same position. It struck me that rather than go off and try to catch up with half a century's research, and contribute nothing, I'd be better off utilizing machine learning in my front-end work. So I have started using IBM's Watson platform, and some of Google's AI tools. I was specifically interested in speech processing applications (I have some background in signal processing and audio, which helps a little), and I've found the Watson stuff particularly useful. At the end of the day, if depends on your motivation. If you really want to become a true expert, stop reading this and start studying. Otherwise, I think there does exist a significant "gap in the market", as it were, to build useful front ends to these technologies, which currently exist as raw APIs. In terms of career prospects, I have already met several Watson consultants, who do exactly that, and charge top dollar for it. The plain fact is, it doesn't take very much to be considered an AI "expert" in the current climate. And you're probably more likely to get there quickly by standing on the shoulders of giants than by dedicating your life to a PhD.
- luked22 9y agoI have no clue about Watson and Machine Learning, I mean I've talked to people and quickly glanced at the platforms. But in terms of the speech processing, does that not require any back-end at all? I'm assuming your using the browsers API to capture sound and then passing this off to Watson in some back-end method to analyze? Or can this seriously be done all fron-end? Pretty amazing if so.
- emsal 9y agoIt's not that the actual ML computation is done client side -- that would be way too slow. With Watson and many other ML platforms, you're leveraging someone else's (IBM, Google, Microsoft, Amazon, etc.) computing power. Some people have made javascript-based ML models to run in the browser (I think some were made for this course[1]), but these are for educational purposes rather than actual use. [1]: https://cs231n.github.io/ https://cs231n.github.io/
- 3chelon 9y agoWell, I am currently developing a full-blown back-end service using AWS containers, but for a prototype I got it going as a simple Python script, based on an outline I found on github. Took a few hours. Basically you get your source speech as an uncompressed WAV file, create an IBM Bluemix account (free trial), create a Watson "app" on the site (basically gives you some credentials for calling the API), and then write a script to upload your WAV file to the API and decode the JSON response. It gets more complex when you want to start parallelizing the process to make it faster, and dealing with the results in an intelligent manner, but the initial proof of concept is remarkably easy. If I recall, the Google one was even easier - no script at all, did it all with curl I think.
- deleted 9y ago[deleted]
- throw_fraud_dev 9y agoFor starters, what's your math background like? If you're interested in seriously pursuing ML theory, I'd recommend having at least 2 semesters of stats and 1 semester of linear algebra fresh under your belt. Don't short change yourself here, because any remotely advanced material will be incredibly frustrating (aka constant backpedaling) without the requisite math intuition. One approach might be to tackle a MOOC like Andrew Ng's coursera offering (which isn't very math heavy) while simultaneously brushing up on your stats and linear algebra (mostly stats tbh). Even if you end up just focusing on implementation, I think this will be time well spent.
- jzig 9y agoRelated question: If I only had an MIS undergrad degree (some 200 level stats and no other math) and wanted to get into machine learning what kind of math courses would I need to pick up to become proficient?
- deleted 9y ago[deleted]
- 2_listerine_pls 9y ago> what kind of math courses would I need to pick up to become proficient? look ML courses and their prereqs.
- niix 9y agoAnyone here have any good book recommendations?
- ardivekar 9y agoI found "An Introduction to Statistical Learning with applications in R" to be very useful.
- mipmap04 9y agoIf you can get through it on independent study, Bayesian Reasoning and Machine Learning by David Barber is incredible, dense, but very accessible. It's also free online! It does require matlab though.
- seibelj 9y agoA lot of bootcamp / self-trained devs went into front-end JS for the money. Now that it's saturated, time to move onto the next buzz word. A foundation of CS fundamentals will still be lacking.
- thatwebdude 9y agou mad, bro?
- seibelj 9y agoThe same thing happened in the 90's, my coworker's sister got a "Certificate in HTML" and promptly found a job for $80k in 1998. These people wash out, I've been burned enough times by bootcamp grads that I won't hire them anymore
- thatwebdude 9y agoI've never found myself not knowing what I should do, or threatened by a hiring/skills bubble. When I stopped feeling like I was getting anywhere with front-end I started to take on more back-end projects and sell myself as a full-stack developer. I've never been in a situation where I've felt "man, I really should have gotten a CS degree": but what do I know; I'm just a web developer. Maybe we're not talking about web developers? No advanced engineering skills have been required to make the frontends/backends/architect a system for Fortune 500s and local businesses that I've been involved with. (I'm speaking of things I would have learned in school with CS and math principles had I been able to get past CS 101). -- college dropout with successful programming career.
- thatwebdude 9y agoAbout how long did it take for the washout to occur? Wanted to know for my own financial planning.
- seibelj 9y agoIt is 100% possible to be an ace developer without a CS degree. However years of hiring experience has made my bullshit detector ring alarms with self-taught / bootcamp guys. If they have a hard-science degree it's less risky. Honestly I don't bother interviewing these people anymore without a warm introduction, it's hard enough to find good devs and the ratio of good to bad is so much worse with the self-taught crowd.
- mooreds 9y agoI would suggest running through a tutorial or two using one of the hosted machine learning options (Amazon has one I am working with right now). This will let you focus on the essence of machine learning (data gathering and cleansing, interpretation) rather than the mechanics. The gathering of data and building of intuition about results are by far the hardest parts of machine learning, in my experience and reading. This is especially true if you are just getting started. Plenty of time to focus on the mechanics later. (Full disclosure, I am working on a ebook about Amazon machine learning link in profile.)
- boraturan 9y agoI have couple of links here. https://medium.com/@boraturant/ai-ml-dl-links-5cf596fd29a1 https://medium.com/@boraturant/ai-ml-dl-links-5cf596fd29a1
- scotty79 9y agoYou can check out this guy: https://www.youtube.com/watch?v=h3l4qz76JhQ https://www.youtube.com/watch?v=h3l4qz76JhQ https://www.youtube.com/watch?v=2FmcHiLCwTU https://www.youtube.com/watch?v=2FmcHiLCwTU His videos are pretty dense but if you know Python and some basic ideas about neural networks you should be able to follow through. I'm a plain dev, gone fullstack, gone frontend and it was pretty fun for me to reproduce and get to understand what's happening.
- bkanber 9y agoI have a slightly older article series on Machine Learning in Javascript, teaching algorithms assuming only JS knowledge: https://www.burakkanber.com/tag/ml-in-js/ https://www.burakkanber.com/tag/ml-in-js/
- master_yoda_1 9y agoJust like you use socketio api without knowing about tcp ip or network routing protocols. You can treat machine leaning as an api which does things. You don't need to take a machine leaning class. Just treat it as an api. And you never know, you might be already using some api which does machine learning.
- rojobuffalo 9y agoHey, I'm in a similar boat. Is your motivation more curiosity or career-related? Do you really like front-end code? I'm finding that it's an easier path to get into ML through conversational UX.
- geebee 9y agoThere are a few ways to go about this. One is very programmer heavy. There's a lot of data processing that goes into machine learning, but you can't quite separate the two. Often, the programmer who prepares and processes the data needs to write the code that actually runs the model and parses the result, and this means you benefit from more understanding of machine learning. That role is most likely the best one available to programmers who don't have much mathematics background in this area. To really get into machine learning itself as a data scientist, though... I do think it requires some math. There's a reason a large percentage of people who work in this field have an MS or PhD in a very quantitative field. And I don't just mean algorithm designers - to really be able to explain the difference between naive bayes, random forest, neural nets, and logistic regression, it helps enormously to have a background in math. To illustrate this, I've taken two coursera courses on data science. They were both excellent, but approached from different angles. Bill Howe's data science class involved an exercise to use a random forest to do some classification, but the focus was on calling the scikit-learn library. We did of course review the algorithm, but not in mathematical depth. Andrew Ng's course on machine learning got into implementing the algorithms (with a language called Octave, which honestly I didn't like much, but that's a completely different topic where plenty of people would disagree with me). To do that class, honestly, I'd just ask if the terms "vector calculus", "matrix of second order partial derivatives" or "logistic function" mean something to you. It's ok if you can't define these things on the spot, but was there a time when you could? You can get up to speed, but I'd say if you haven't taken basic calculus through differential equations (with linear algebra), then you won't be able to understand this material. I've been impressed with how well people learn on their own, picking up a lot of math as they go along. And I don't think you need to be able to implement these algorithms yourself to use them meaningfully. But if you're going to be deciding what kind of model to use, even if you're using libraries to do it (and most people who can implement these algorithms would still use a library), I think that you do need to be able to describe how a neural net work vs random forests vs logistic regression vs naive bayes. There is a side of this that is very math-y as well. On the bright side, we live in an era of amazingly available learning material. I personally think a dedicated person can probably learn calc, linear algebra, and differential equations through web-based coursework now. SO overall, I'd say - start on the data side as much as possible, leveraging your programming skills. While doing this, keep getting more exposure to ML algorithms, and make sure you are taking a coursera or other web-based class on the side.
- RangerScience 9y agoI literally just grabbed the last (at the time) machine learning paper that'd crossed my feed, and started reading. Whenever I encountered something I didn't know, I googled around until I had even a vague idea. That said a) I don't know how do-able that would have been without the math background I've already got, and b) I haven't gotten much further in that reading that one paper ...yet. Regarding the math - The only thing I know for sure to point you at is multivariable calculus, which is also (probably) the most useful math class I ever took. (It helps that the teacher was completely amazing). The set of concepts it introduced me to are amongst the most useful things I ever learned, and it's that understanding that has always given me a leg up on jumping into things at the deep end. (I took multivar from UC berkeley in, I think, spring 2002? I went looking for video lectures, but did not find what I was looking for...)
- mythrwy 9y agoA front end developer can most easily jump into machine learning by reading the docs for a machine learning API then querying it. Won't take years and years and no PhD needed either.
- Mikeb85 9y agoLearn statistics... Generally speaking though, it's easier to go from maths/stats -> programming than the other way.
- anant90 9y agoI'm a front end developer who was in a similar position as you! I'd highly recommend giving this playlist a shot: https://www.commonlounge.com/discussion/81f5bbcfea4e44b9b2bd081d1ea536ac/main https://www.commonlounge.com/discussion/81f5bbcfea4e44b9b2bd... From the description: These tutorials have been chosen to maximize learning curve, i.e. learn the most in the shortest amount of time and cover topics from basic deep learning all the way to research done within the last 1 year. They cover significantly more material than a typical deep learning course and took me lesser time. Good luck!
- nogbit 9y agoI don't usually comment on HN but when I do... Kidding aside, I've seen these kinds of posts so many times and I want to make sure that for those that are thinking "strategically" about their profession, career and passions then I would advise to buckle down with a good BS in Math at a minimum (or CS). But why? Im your older self telling you that you will grow to really really like and enjoy programming, computers, tech etc. and may want to continuously dive deeper. And when you attempt to do that it all comes down to Math. So save yourself a ton of time and money and just do it, close all your browser tabs, cobble together all your transcripts and get into a Math program (if you already have, go get a MS in Math at a uni that has a strong CS program).
- hello_newman 9y agoThat's exactly how i feel. I dropped out of school at 19, taught myself to code, went to a hack school, and have been working as a rails dev for the last 4-ish years. I realized I wanted to go into ML, and instead of trying to take shortcuts, at 24 I enrolled in my local community college to finish a degree in comp-sci. Looking at 8+ math classes (from Geometry to Calculus 3), but the only reason why I'm doing it is because I believe it will be worth it in the long run. The only thing that sucks about it is all the GE classes I have to take before I can even start my fun Comp-Sci classes.
- Jackalopiate 9y agoHey its me, your past. Really though, I'm currently 20 and dropped out of school last year (GE's kicked my ass), and started working full time as a prototyper. I know I am probably going to have to go back at some point, but what really made you decide to go back? Was it for a higher payroll, or better fulfillment?
- hello_newman 9y agoI want to master my craft, and i believe the way to do that is to have the application and the theory. being a rails + mobile dev teaches a bunch about the application side of programming and I find it fascinating. In terms of the age thing, I get it. At 19 I hated being at school because I wanted to be making $20+/hour working on websites. But now at 25 and right under 6-figures, I see that I can simply work during the day and then go to school at night. It just means I have to do that for 4+ years. I started at 24, but I will not be done until I am 30. So, if I would have done it right the first time, and not dropped out, I __might__ have been further. I don't regret it tho. I rolled the dice and although I was trying to hit the start-up lottery at that age (why I got into programming), I ended up on a great career with incredibly valuable experiences that I would not have had if I didn't drop out at 19. 8/10 would do again.
- sn9 9y agoCheck out metacademy for some roadmaps that address precisely this question: https://metacademy.org/roadmaps/ https://metacademy.org/roadmaps/
- kiril-me 9y agoCornell University Library [https://arxiv.org/ https://arxiv.org/] has a lot of publicly available papers. You need to find the domain that you are interested in and start looking. Usually, papers describe relative works and state of the art algorithms. So you can start with one algorithm and go deep. Books: https://medium.com/iambot/tagged/books https://medium.com/iambot/tagged/books Also, you can join communities. https://deeplearningstudies.slack.com https://deeplearningstudies.slack.com https://www.facebook.com/groups/1892696574296664/ https://www.facebook.com/groups/1892696574296664/
- ahmedbaracat 9y agoI can't recommend [Practical Deep Learning for Coders](http://course.fast.ai/index.html http://course.fast.ai/index.html) enough. I am going currently through it and it is extremely educational and practical.