How I Learned to Code in 4 Months & Got a Job! (No CS Degree, No Bootcamp)
Tim Kim
0:00 I dropped out of college, was in debt, working 60 hours a week,
0:03 hated my job, and most importantly, I felt stuck.
0:05 This is the story of how I learned how
0:07 to code within four months, and I got a job.
0:09 I did it with no computer science degree or a coding
0:12 BootCamp I am going to explain exactly what I learned,
0:14 how I got a job, and how much that job paid.
0:17 Let's go.
0:21 Before I got into tech, I was working a lot of dead end sales jobs,
0:25 because I dropped out of community college
0:26 and I didn't really have any other skills.
0:29 I didn't like the idea of always having to hop
0:31 from job to job If I didn't like something.
0:33 I wanted something with a little bit more career mobility long term.
0:36 I didn't even really know what coding was.
0:38 I just knew that the tech industry was, let's say,
0:41 a great environment for $180 grand
0:43 now $200 ish $250,000 $400,000 annually growth...
0:47 Yeah.
0:48 By the way, I'm not knocking sales.
0:50 I think sales is a really important skill to learn.
0:52 I just needed a change, and it really just wasn't for me long term.
0:55 And I wanted to gain the ability to build something of my own.
0:58 The idea of building something from zero to one seemed like a superpower to me.
1:03 Day one, I just went on Google and I typed in how to code.
1:06 That's when I found a site called FreeCodeCamp,
1:08 and I started to learn about web development.
1:10 I quickly learned about HTML, CSS,
1:13 and I learned about my first real programming language called JavaScript.
1:17 There's a bunch of different programming languages that you could learn,
1:20 but I personally chose JavaScript because I wanted to build web apps.
1:23 Even major companies like Uber and Airbnb use it,
1:25 and there's a massive demand for it in the job market.
1:28 By using FreeCodeCamp, I started to learn the basics of coding.
1:32 I learned things like variables, loops, objects, and functions.
1:36 But even after doing the tutorials,
1:38 I didn't really feel like I could apply to anything.
1:41 And I still didn't even know how to do something as basic as building a website.
1:44 And I realized that I learned how to code, not exactly how to program.
1:48 I was writing code to solve logic problems, but I didn't know how to program,
1:53 which is using the code to build something useful.
1:55 At this point, though, already I was starting to love the journey.
1:58 I really liked problem solving,
2:00 and I could see myself doing something like this long term.
2:02 So I did what any sane person would do and I
2:05 quit my job and I moved to Korea to minimize my expenses.
2:08 And I decided to learn full time.
2:10 Learning full time was a lot harder than I thought.
2:12 I've actually never studied anything this complicated or tough before,
2:17 and I was quickly starting to realize that I
2:19 didn't really know how to study at this pace.
2:21 I would sit in front of my computer and hours and hours would go by.
2:25 That was when I went online, I typed in how to learn.
2:28 And I found a course called "Learning how to Learn" by Barbara Oakley.
2:31 This course was life changing.
2:33 My two main takeaways were one,
2:35 it taught me how to learn in space segments, A technique called Pomodoros.
2:40 And the course taught me that I needed to create a dedicated space for learning.
2:43 So I joined a Coworking space, so I could focus better.
2:46 Now, armed with new knowledge, I got back to studying.
2:48 And it worked.
2:49 Here's what a normal day looked like.
2:51 08:00 a.m wake up.
2:52 8:30, Head to the train station.
2:54 09:00 a.m.
2:55 Arrive at the coworking space.
2:56 9:15, Coffee Journaling reviewing the curriculum.
2:59 9:30 to 12:30, I would have my first study session,
3:02 where I did 30 minutes increments of Pomodoros.
3:05 From 12:30 to 1:30, I would eat lunch and take a small break,
3:08 then back to studying.
3:09 From 02:00 p.m to 6:30,
3:10 it was more 30 minutes increments of Pomodoros until I was ready to head out.
3:14 From 6:30 to 7:30, I would gym three times a week,
3:17 And then 8:30 to 9:00, I would eat dinner with my grandma, then help her clean.
3:20 This was my schedule for six days a week, no exceptions.
3:24 The next part of FreeCodeCamp was a lot more challenging.
3:26 Front end projects.
3:28 They essentially give you a list of projects
3:30 that you have to build using HTML, CSS and JavaScript.
3:33 To me, this felt like a massive
3:35 jump because I never actually built anything before.
3:37 I felt stuck at this stage until I found a YouTube channel
3:40 of this guy named Stephen who would
3:42 stream himself building these projects line by line.
3:45 By copying him and recreating what he was doing,
3:49 I was able to use that experience and build
3:51 the next couple of projects on my own.
3:53 I also found a great resource called watchandcode.com, where you watch and code.
3:59 By following along once again and modeling others,
4:02 the concepts really started to take hold,
4:04 and I was really starting to understand what I was doing,
4:07 not just solving a math problem.
4:09 In exactly one month,
4:10 I ended up earning my FreeCodeCamp Front End Developer certificate.
4:14 I was learning a lot, but I never actually built anything full stack before.
4:19 Something with a front end or an interface,
4:21 the thing that you see within the browser.
4:23 A database where all the information lives, essentially,
4:27 and a server which handles and manipulates all the data
4:30 in the back end by taking in requests from the front end.
4:34 So I still felt like an imposter and not a real developer.
4:38 You're not an intellectual.
4:39 You're a fake and a fraud.
4:40 So to become a programmer, I decided to build my first full stack project.
4:45 Remember Stephen with a YouTube channel?
4:47 I reached out to him to get his assistance
4:49 to help me build my first full stack web app,
4:51 we decided to meet three times a week.
4:53 Here's what we did.
4:54 We picked one major overarching project which will teach me the basics of CRUD,
4:59 which is Create, read, update and delete.
5:01 These are the foundations for any web application.
5:04 I decided to clone Pinterest.
5:06 I honestly don't think I would have gotten
5:08 a job without this next part, so pay attention.
5:10 I asked Stephen to treat me like a real junior developer working at a company.
5:14 We implemented a project management tool called Jira.
5:17 We used Jira to compartmentalize the entire project
5:20 and write the requirements of exactly what I'd be building.
5:23 This taught me how to estimate my work and plan
5:26 how to build an entire web app from zero to launch.
5:29 We also set the project up on GitHub, which is a version control application.
5:33 This taught me how to develop different branches
5:35 for when I was working on certain features,
5:37 and I could learn how to control different versions of the code.
5:40 Most tech companies use some version of the two applications
5:44 because being a developer isn't just about knowing how to code.
5:47 It's about knowing how to work collaboratively with other people as well.
5:51 Stephen grilled me on our pair of programming sessions.
5:53 He was very strict about me keeping the deadlines
5:55 and the estimates that I originally wrote out for myself.
5:58 He would constantly question why I was doing what I was doing.
6:01 And he even taught me the concept of DRY,
6:03 just Don't Repeat Yourself, or essentially just making reusable code.
6:07 I had to learn how to build by Googling
6:09 for answers and using sites like Stack Overflow.
6:12 And he would leave me a lot of comments on things that I needed to change.
6:15 So I learned how to debug my code on my own.
6:17 This made me feel like I was a real developer.
6:20 at this time, I supplemented my learning
6:23 journey with Udemy courses on React and Node
6:26 because these were the two frameworks that I chose to build my Pinterest clone.
6:30 As a result of building my first full stack project,
6:32 I ended up learning how to do things like how to design a database,
6:36 build APIs, set up Auth, and eventually push the app to a cloud server.
6:40 These are all things I would have never learned by just doing tutorials.
6:43 And in around two months, I finished my first full-stack web app.
6:48 I remember when I finished the app, I felt like a real programmer.
6:50 That's when reality set in and I realized I'm still broke.
6:54 I haven't made a single penny in over a couple of months,
6:57 and I still needed to find a job.
7:00 It was time to see if everything that I learned was actually worth anything.
7:03 First, I defined the job that I wanted.
7:05 I wanted to be remote.
7:06 And most importantly, I wanted to work for a small to medium sized company,
7:10 because I hate working in a corporate environment.
7:13 I found all the jobs that fit my parameters on sites
7:18 like weworkremotly.com and remoteok.io And instead
7:20 of just applying to these jobs, I found the contact information of the hiring
7:24 managers and developers who worked at the company,
7:26 and I messaged them to introduce myself.
7:28 I explained exactly what I had learned
7:30 up until this point,what I was looking for.
7:32 I even included the link to my GitHub so
7:34 they could see the projects that I had built.
7:37 Most importantly, I included an offer that I know that they couldn't refuse.
7:41 I offered to work for free.
7:42 And I understand guys, not everyone can afford to do this, but I had originally
7:47 estimated that this was going to take me around four months anyways.
7:50 And I had another month of time that I could essentially dedicate to learning.
7:53 I knew all I had to do was get my foot into a company,I could essentially learn
7:58 there and then prove my worth over time
8:00 to leverage that into a real job long term.
8:02 Overall, I found around 22 jobs I thought
8:04 fit the parameters of what I was looking for.
8:07 I got around six responses.
8:09 From those responses, I got four interviews.
8:11 And out of the four interviews, I ended up getting three legitimate job offers.
8:16 Even though I had offered to work for free, after the technical interviews,
8:19 the employers thought that I had enough skills at that point
8:23 where I was worth hiring for a full time job.
8:26 I ended up choosing the company with the best opportunity to learn,
8:29 and that also happened to have the best compensation package as well.
8:32 My first salary was $50,000 a year,
8:36 and then after my probationary period, I was making $65,000 a year.
8:40 My benefits kicked in like health and dental.
8:42 But the biggest perk for me was that I got to work
8:45 remotely the entire time as long as I worked the US time zone.
8:48 I'm not saying that you'll be an expert developer if you follow this plan.
8:51 I'm just sharing what I did to learn just enough to land me a job,
8:55 as most of the progress that I've had as a developer all came on the job.
8:59 No luck here, just focused effort.
9:01 Now, I've been working in tech for over a decade,
9:03 and let me be the first to tell you that nobody cares about your credentials.
9:06 Learning how to code was mainly two things learning how to solve problems,
9:10 and two, persisting until you find the answer that you're looking for.
9:13 If you're interested in seeing us learn more cool stuff,
9:16 make sure to subscribe to the channel.
9:18 And also, if you want to see me
9:20 apply these principles to something other than coding,
9:22 like something artistic, click on this video.
9:26 Where we're going to put it?
9:28 Here?