3 ms·
I've taught three people to code from scratch (my brother and two friends from college). All were able to get junior-level jobs in the SF Bay Area within 6-12 m
by csallen 10y ago
I've taught three people to code from scratch (my brother and two friends from college). All were able to get junior-level jobs in the SF Bay Area within 6-12 months. All have since made significant progress in their careers.
To answer your questions:
1. Is it possible to do in 4 months? Certainly, but you will have to work your ass off, and also work very efficiently.
2. How is it possible? Work 60-70 hour weeks (easy if you love programming and can finance yourself without a job, hard otherwise), and have a super efficient curriculum.
3. What path should you take? I'll give you my advice below. To do so I'll have to make lots of assumptions about your situation, but here goes anyway:
---
- Avoid bootcamps. Assuming you're more motivated than the average person in your class, they will only slow you down. (One of my friends started a bootcamp against my advice, regretted it, and quit halfway through. The pace was too slow. Very few of the graduates got jobs afterwards.)
- Give up on being full-stack. Four months is not long enough. You will need to strategically cut corners, and this is a big one.
- Buy a Mac, ideally a MacBook Pro. Get one used if you have to. Don't try learning on a PC.
- Right off the bat, start using the Terminal for everything: downloading files, installing programs, opening programs, navigating the directories on your computer, copying files, deleting files, etc. When you don't know how to do something, Google it. It will be painful at first, but you will get good eventually, and it will save you pain later.
- In general, remember that learning new things (everything below) will often involve lots of pain and frustration, but push through it. Once you start to develop mastery in an area, it tends to get much more fun.
- When learning, you want to "see saw" between reading and doing. Too many people try to read and memorize everything, but that's impossible. Reading is just to orient yourself so you can figure out where to start. Doing is how you learn and remove confusion. Then you read some more to answer specific questions. Repeat.
- Start with HTML/CSS. Find cool website screenshots on Dribbble.com and try to build rough versions of them from scratch. Don't neglect to learn flexbox. Do this regularly for a cpl weeks and you'll get good.
- Meanwhile, learn basic programming. Use JavaScript. Remember to see saw. Read just enough to get the just, then dive in and practice. There are lots of algorithmic practice problems online, e.g. http://codingbat.com/java http://codingbat.com/java. Do hundreds of them until recursion, and looping, and writing functions, and solving basic algorithmic questions you find online is easy.
- When you are good with HTML/CSS and familiar with JS, it's time to combine the two. Learn about the DOM and learn about jQuery. You'll see how JS can make your pages interactive. Work on small projects, the first of which should be a portfolio that you can showcase your subsequent projects on. Use Git and GitHub for these projects.
- Continue reading about JavaScript. Read books on it. Learn the intermediate and advanced parts of the language. People will tell you to learn frameworks like Angular, Ember, React, etc. Ignore them. Even jQuery (which is much simpler) will be a bit much for you to handle and will seem like magic at first. You don't have time to dive too deep. This is just the price you pay for learning in 4 months. But that's okay, you can still get a job.
- When you do get a job, don't stop learning. Everyone I've taught stopped (or significantly slowed) their learning after landing their first job. They regretted it later and eventually resumed learning.
- fuqted 10y agoThanks for this response. I'm 24, in the Bay Area and I'm also interested in learning Web Dev. I don't expect to do this in 4 months, but the sooner the better. Some questions: - What bootcamp was this and do you think this holds true for, say, Hack Reactor? My initial intention was to join a bootcamp and even after being mildly disenchanted with everything I've heard, that was still my plan. 60-70 hours /week seems like a longshot otherwise - especially when you don't know what you're doing. - Why Mac? I'm on a PC and I've just installed Ubuntu as my main OS. I figured running linux, even if it is just Ubuntu while I get a feel for it, would be more 'legit'. -- Finding the motivation to put the time in was a challenge before I found Codewars. I'm now pretty good at doing these algorithms and more than a little disappointed when I was told they're basically not used in actual development. OP if you're interested, I can pair program with you on these algorithms and show you maybe some fun stuff. I can get a trail account with Coderpad.io and we can use skype for voice. Let me know. Here is a tutorial for linux command line. I'm going to assume there is some cross over with other OS's: https://www.udacity.com/course/linux-command-line-basics--ud595 https://www.udacity.com/course/linux-command-line-basics--ud... Tutorials for HTML / CSS - these are free as well: https://www.udacity.com/course/intro-to-html-and-css--ud304 https://www.udacity.com/course/intro-to-html-and-css--ud304 https://www.udacity.com/course/responsive-web-design-fundamentals--ud893 https://www.udacity.com/course/responsive-web-design-fundame... While I like reading novels, when it comes to learning to program I've realized I like the doing much more than the reading - to a fault. I essentially learned Js syntax with Codewars and google and at this point it's struggle to work through Eloquent Javascript. I'll have to double down on that. My offer to pair program (with you or anyone) stands for actually building things as well. I'll also be doubling down on meetups in the area. It might be smart for you to do the same. https://www.meetup.com/ https://www.meetup.com/ is a good source for that.
- soneca 10y agoThanks a lot for the links! About pair programming I thank you sincerely for the kind offer, but first I must create my own environment and routine for learning. Then I will know how helpful it can be. I might come back to you for this later, when I'm more 'settled'. Thanks!
- 10y ago