Hi YouTube so as I mentioned in a previous video I didn't study computer science or Computer Engineering as my major at my university .Instead I was studying statistics but on the side I learned to code mostly on my own and eventually I became good enough to get a job at Google as a full-time software engineer. So I briefly talked about how I learned to code in the same video but in this video I wanted to go into more detail so I'm gonna talk about my personal experience first about how I learned to code but if you just want to find my recommendation about what you should do you should just skip over to this time in this video.
So here are the 4 steps I personally used to learn to code first of all I took a few summer courses during my summer break so the first course I took was an introductory programming course it covered topics like loops variables if statements and functions. And then the second course I took was on data structures and algorithms it covered topics like trees graphs hash tables and searching and sorting these two courses were both taught using Java.
After I took those courses I decided to learn more on my own I heard that you can use something called Ruby on Rails to build websites and I wanted to build a website so I decided to learn Ruby on Rails and Ruby which Ruby on Rails is based on and to learn Ruby. I use the website called the pragmatic programmer and to practice using it.Iuse this other website called project Euler which gives you a ton of simple programming problems to solve to learn Ruby on Rails I used rails for zombies which is an interactive website for learning how to use Ruby on Rails
学了这些课程以后，我想通过自学获取更多的知识。我听说Ruby on Rails可以做网站，通过学习我知道Ruby on Rails（它是基于Ruby的）工作原理，也使用一个pragmatic programmer网站来学习，并进行巩固练习。我还使用另一个网站Euler通过解决编程难题，来巩固前面的知识。第三个网站是rails for zombies，它是交互性网站，主要学习如何使用Rails。
Step 3 I started working on a bunch of personal projects my first real personal project was going to be like the reddit of Japan partly because I'm originally from Japan and I was living in Japan at the time. Working on this project was really helpful for understanding how Ruby on Rails works how Ruby works and also how web technologies in general work through this project I also learned the importance of asking for help. You know when you're new to programming it's so easy for you to get stuck and I think it's really important for you to just ask for help you can do this virtually through websites like Stack Overflow Facebook groups or reddit or in person if you know someone who knows how to code in person and then using the skills and connections.
I developed partly through my projects I got a few technical internships these technical internships were really helpful for developing my skills further because I started getting feedback on my code from my colleagues and I started learning a lot more a lot faster than on my own in between those internships and even when I had one of those internships I kept working on more personal projects that was partly because it was just fun and partly because I wanted to build more skills and after all that I started working on my technical interview skills and eventually I got a job at Google as a full-time software engineer.
So if you're just getting started with programming or if you're a complete beginner what should you do exactly I'd recommend the following four steps.
(Step 2)After that start working on a personal project it could be a website an app or automating a simple task as you work on your project keep learning more through those interactive websites and for more advanced topics that those websites don't cover I'd recommend lynda.com and Udemy.
第二步：之后开始做一些个人项目，可以是网站，APP，或者自动化的工作，在一些交互性网站上继教学习，对于更高级的主题，你可以去这两个网站：Lynda.com 和 Udemy。
Step 3 as you work on your personal project I think one important aspect here is the community aspect if programming is something that's totally new for you it's probably gonna be really hard and so it's really important for you to be able to get help from others through online or offline communities so try using websites like StackOverflow,Meetup.com and Facebook groups and events to find relevant communities.
第三步：做项目时，最好去逛逛编程的社区，得到他人的帮助很重要（无论是在线或者线下）可以试试，如StackOverflow,Meetup.com 和 Facebook组及相关社区。
Step 4 Try getting an internship or a job ideally a paid one once you do you should be able to learn even more quickly because you'll be ableto get some feedback from your colleagues on your code and those are the four steps I would personally use to learn to today if you have extra time and money to spare going through a coding bootcamp or even getting a degree from a university might also be a good option.
Okay if you're curious about a more general strategy Iused for getting a job at Google there's a video about that and if you're wondering which programming languages you should learn I have a video about that too and let me know in the comments section below about what kind of videos I should make in the future I'm YK fromCS Dojo and I'll see you in the next video.