Anda di halaman 1dari 20
Everyday Utilitarian Hom About Posts A Better Way to Learn Programming? Notes on The Odin Project Follow up to “So You Wanna Learn How to Code? Going from Zero to Programmer Hero in One Guide, for Great Justice’. I'm currently working as a computer programmer at a start-up in Chicago. I'm getting paid to write code. It's pretty neat. Most notably, | was not a Computer Science major in college, and I only took two CS classes. | got the job nearly entirely through about 700 hours of self study. Best of all, you can do it too! I wrote a guide on how to go from “zero to hero” in computer programming. | got a lot of people I know who program to contribute. | think it’s a pretty good guide, linking a few resources together into a coherent curriculum. In fact, | think it is the best guide you could find, short of working full- time to develop a complete online curriculum of their own. Well, turns out someone did work full-time to develop a complete online curriculum of their own. Enter The Odin Project. Visit there, and find a complete curriculum, focused on Ruby on Rails, that takes you from zero to. hero in a fulfulling way, Best of all, they focus on doing projects, so you actually learn by doing. I went through it and now, after a few months, I've completed the curriculum in entirety. | must say, I'm forced to admit defeat. | find it much easier, more thorough, and more motivating than my own guide. | recommend people follow through it instead of follow my own guide. ...That being said, | do have some modifications I'd like to see to The Odin Project. So consider doing The Odin Project, except with the following modifications. | advise that you read these notifications in their entirety before starting The Odin Project, and then follow them as they come up. Things You Should Skip The first thing you should know about The Odin Project (TOP) is that they tend to overload on large heapings of repetition. For real beginners, this is often a feature and not a bug. However, don't be afraid to skip through things or skim things if you already understand them. It is frequently unnecessary to do every reading unless you're confused on a concept. This is doubly true for “Additional Resources’ - the al allegedly “required” resources are already more than enough, and you should rarely need to consult any of the “Additional Resources’. Here are some things | particularly advise skipping, to save time: When TOP links you to a YouTube video that’s longer than 10 minutes, it's probably unnecessary. Skim the videos or ignore them entirely. Don’t forget you can speed them to 1.5x (or often even 2x) to get through them quicker, as they tend to be pretty slow. Course “1: Introduction to Web Development is cute and fun to read, but, in my opinion, not really necessary. Skip it if you'd like. If you do read it, try and skim. Don't spend too much of your time here. For "Web Development 101 » The Basics » 2: How Does the Web Work?’ | don't think you really need to spend nearly that much time understanding the internet. It might come up on an interview question or two, but a thorough understanding isn't really necessary outside the interview, Just watch the “Not Tubes" video and then move on to the next lesson. Skip “Web Development 101 » Web Development Frameworks » 3: Backbone,s” it’s more confusing than helpful and you end up reviewing it in its proper detail later, after you understand more stuff. Things You Should Do More Of Overall, | think you should be skipping more of TOP and getting through it faster than they tell you to, so you get to the good stuff quicker. However, there are a few cases where | think TOP doesn't have you do enough, and slowing down is warranted. In “Web Development 101 » The Front End » 4: jQuery Basics’, you'll get a chance to do lessons from either Codecademy or Code School. | personally found it highly to do lessons from both, because they emphasize different things and the repetition is useful. Code School does a better job of explaining in my opinion, so | highly recommend doing all of Code School's lessons first, then do all of Codecademy’s lessons. Also, TOP tells you that the remaining sections on events are extra credit, but | think that they're important to do, so I'd instruct you to fully complete both Codecademy and Code School lessons for jQuery. In “Ruby Programming » intermediate Ruby » Project: OOP", I chose to do some additional work: make an Al for the Tic-Tac-Toe program that plays optimally. | think this was a worthwhile learning experience, and I urge you to try it. I don’t think you should build a copy of Tic-Tac-Toe in JavaScript as TOP has you do - Snake an Minesweeper seem like enough. But | do think there is an important lesson to be had with Tic-Tac- Toe and JavaScript: a much better exercise to make an Ajax front-end for the Ruby Tic-tac-toe you already created earlier in the courses. After you complete “Javascript and jQuery » Better Forms with Query and AJAX » Project: Infinite Scroll and Submitting a Form with AJAX", do this. Let’s Fix The Learning Ruby Section lll be honest - TOP is great, but I don't like the TOP’s approach to learning Ruby much at all. It just throws too many resources at you, and you never learn everything you need at once. So, when you get to “Web Development 101 » The Back End » 2: Ruby Basics”, freeze. We're going to fix this. Skip this lesson entirely. Do not do “Web Development 101 » The Back End » 2: Ruby Basics” - just mark it as complete and move on. Instead, go to Codecademy's Ruby Track and complete it entirely. Throughout the course, TOP will make you complete it all eventually anyway in stages, so we might as well get it out of the way now. This way, you'll get a better mastery of some things that come up in TOP before they’re introduced Then, after your done with Codecademy's Ruby Track, read Chris Pine’s “Learn to Program” and then read Chapters 1-3 of Peter Cooper's “Beginning Ruby’. Also review Tutorial Point on Ruby Loops, which is a resource | like that isn’t in TOP, and important for the things TOP focuses on. This counts as you completing this lesson. Go on to the next lesson “Testing Basics", Note that you have completely ignored tryruby.org, “Ruby in 100 Minutes”, and Ruby Monk and this is for the best, because I don’t think they're very good resources, and you should have already learned everything they teach 2-3x over through the resources you did consult. Doingit five times seems like overkill (see “Things You Should Skip’). Since you did things a little out of order, you'll need the following clean-up. When you get to “Ruby Programming » Basic Ruby » 2: Ruby Building Blocks” you'll realize that you've been plopped in quite well, having already completed assignments 1-5. Continue from assignment 6. Skip assignment 9. When you get to “Ruby Programming » Basic Ruby » 3: Advanced Ruby Building Blocks” skip all the assignments and go straight to the Code Quizzes. Complete those. If you do well (>87% on each), continue. Otherwise, go back and review, and try again. Try to really understand why you got each question wrong. When you get to “Ruby Programming » Intermediate Ruby » 1: Object Oriented Programming”, skip assignment 1 because you have already done it. Reorder the JavaScript and jQuery Readings For “Javascript and jQuery » The Basics and the Browser » 2: Javascript Basics’, | think now is a better time to do some of the readings that TOP puts off for later. So read the following links now and not later: 1.) "Agent Cooper on Comparing JS and Ruby” 2.) ‘Ruby vs. Javascript Functions” For “Javascript and jQuery » Deeper into Javascript” and “Javascript and jQuery » Advanced Browser Work’, | have different opinions than the authors of the Odin Project. In my opinion, the readings make more sense when they are presented like this: 1) “JavaScript Objects in Detail” 2) “JavaScript Prototype in Plain Detailed Language” 3.) “OOP in JavaScript - What You Need to Know” Now, pause to build something object oriented. | don't think re-creating Tic-tac-toe in JavaScript is necessary - Minesweeper and Snake should already be enough. So build something object oriented, but simpler. I'm not very good at exercises, but maybe build a town full of people objects, and then make professions (like doctor, police officer, etc.) that inherit from “person” but do special things. ..Now back to reading. 4, “JavaScript Variable Scope and Hoisting Explained” 5) "Understand JavaScript Closures with Ease” 6) "Understand JavaScript Callback Functions and Use Them’ 7,) “Understand Asynchronous Code in Layman’s Terms” (a reading not in TOP that | added) 8) ‘Callbacks, Listeners, and Promises” 9.) "Understand JavaScript's ‘This’ with Clarity and Master It” 10, “JavaScript Apply, Call, and Bind Methods" 11) “Understand JavaScript Function Prototype” 12) "Non-Blocking JavaScript and CSS in Modern Browsers” 13, “Organizing JavaScript Code” ..Now do the Minesweeper project. Then do the readings in “Javascript and jQuery » Advanced Browser Work » 3: Using Canvas to Draw and More” and then complete “Javascript and jQuery » Advanced Browser Work » Project: Building Games with Canvas’. You're now ready to go onto “Javascript and jQuery » Better Forms with jQuery and AJAX” as normal. Don't worry too much about the stuff you skipped - it was either really unnecessary (a third review) or something I'll have you come back to later. Consider a Programming Bootcamp This is mentioned in passing in TOP, but | thought Id put it right here where you can see it, and spend more depth on it. If you feel like you enjoy programming and want to make a career about it, but haven't been doing so well at self-teaching, you could consider going to a programming bootcamp. These are more- than-full-time intense programs that teach you programming and help you with job placement. Here, you set aside 10+ weeks, enroll in the site, learn from the program, and hopefully pop out with a job on the way. I've never personally gone to a boot camp (and don't plan to). Keep in mind that a bootcamp is e and neither necessary nor sufficient to land a good programming job. But for people with the inclination, it could be a lot better than trying to go through this guide yourself. If you've got the time, it’s definitely at least worth investigating App Academy is widely considered to be the best program and there's been lots of discussion of it on LessWrong. App Academy covers exactly the same material as this guide (and not much more or less), but gives you support, formal teaching, and a good learning environment. Buck Shlegeris is a TA at App Academy and is happy to be a contact if you're interested in getting more information on applying and/or getting coached through the process. Here's an interview with Buck about App. Academy for more information. Buck and Chris Hallquist (who went to App Academy) also say that Hack Reactor is the second- best program if you're not able to get into App Academy (it is somewhat selective). Here's a full list, of all available bootcamps, with details. It's worth noitng that App Academy might be best for people in the US. Maker's Academy seems pretty good for people near London, though. When You Can Get a Job TOP does a lot to make sure you know a wide variety of material before going on to look for a job in the final step. However, | think you might be able to hit that last step earlier than you might think. Even better than a Coding Bootcamp is an internship with a company, which not only will let you learn loads, but will also pay you money to do it! An unbeatable deal! And you can still learn more on the side! | recommend trying to do some work toward applications (completing all of Course 7 “Getting Hired as a Web Developer”) right after finishing Course #4 "Ruby on Rails’. More Things to Learn This is sort of more of an afterthought than it probably should be, but it could be useful to learn Python. Python is somewhat popular in the start-up world, though not nearly as popular as Ruby on Rails. However, Python is really popular in the academic world. It has good support for statistical programming and has a platform called Django that acts similarly to Rails, It's probably g00d to learn Python so you're not “pidgeonholed’ into only one type of programmer job (though the demand is definitely there). Ultimately, Python is a good language to know, but that being said, several of us don't think it’s worth the time investment if you're solely focused on getting into the start-up world and don’t have a particular use for it. However, if you're interested, now would be a good time to pick it up. If you'd like, work your way through “Learn Python the Hard Way", skimming a bit as necessary. Also, give a look through “Think Python’, though you've probably learned much of it already from completing “Learn Python the Hard Way”. Once you've completed all of TOP, | really think you should start applying for jobs (| mean, if you want one), because the best learning will come from being on the job, However, while you're applying (or after you have the job), here are some things | think you might want to focus on, to extend your skills even further beyond what TOP asks for: ERB, which you have been using to display Ruby in HTML, is nice, but HAML is also popular. Ham! makes a trade-off that allows you to write code faster, but has a steeper learning curve and is hard to understand. Read through the HAML Tutorial. For a project, take a project you have done where you wrote views in ERB, and re-write all those views in Haml. Make sure it works. It could be a good idea to learn CoffeeScript. Skim through the Tuts Plus Coffeescript Tutorial, then through http://coffeescript.org/. Next, the tutorial at CarbonFive. Finally, watch Coffeescript in action in this RailsCast. As a project, make a Coffescript function that prints out the first twenty numbers in the Fibonacci sequence. That should be good enough, but feel free to re-do some of your JS stuff in CoffeeScript if you'd like. You also might want to read through http://coffeescript.org/a little more thoroughly to get a better understanding of what it can do. You'll also benefit from reading through CSS Tricks's jQuery Coffeescript Cheat Sheat to get an idea of how to do jQuery stuff with Coffeescript. It could be a good idea to learn Knockouts. Do this tutorial. You might want to learn some Data Science. This deserves a post of it's own, but you could thumb. back to “Optional Step Twenty-four - Learn Some Data Science” in my guide. Conclusion In my guide, | said the following, and it equally applies here: There are multiple paths to getting a programming job, learning programming, or whatever goal you may have, There's no “one true way”, and there's going to be a lot of conflicting advice on what is the “best” way to learn, Honestly what is best is going to vary person by person, and based on your interests and goals. Like | said before, “I've designed a guide here based on my personal experience” It's entirely possible that TOP is right about something and their original method was better for you, and | was wrong to disagree. It's also entirely possible TOP is wrong about something for you, and | didn't catch it, because it didn't come up for me. Your mileage might vary. I'm not better than TOP - they have their way, and | have mine. | just wanted to write up my experience. The best thing to do is just start, somewhere. See if this guide works for you, tweak if it doesn't. Let me know. Appendix: How Long Will All This Take? Idid the math, and my estimates add up to a minimum of 234 hours of work, scaling up to the 900+ hour range if you go slow and do all the extras. TOP believes that it takes ~000 hours to become a good web developer. This sounds generally correct, but your mileage may vary. | personally got away with about 700 hours, and | wasn't even doing it all that efficiently, because I didn't find TOP for awhile. Here's a time breakdown: * Course 1: Introduction to Web Development - Ohrs, skip it unless you find it interesting. * Course 2: Web Development 101 - 4Shrs-80hrs © The Basics - 3-7hrs «1: How this Course Will Work - 2min «2: How Does the Web Work? - 10min "3: How Does Your Computer Work? - 30min, if you've never used the command line before = 4: Terms to Know - 10min = Project: Installations - 2-6hrs if you've never done the installations before © The Front End - 12-34hrs «1: Introduction to the Front End - 30min = 2:HTMLand CSS Basics ~ 30min - 6hrs depending on how familiar you are with CSS/HTML. Skip steps 3-5 here. Project: HTML/CSS - 1-Shrs, depending on how familiar you are with CSS/HTML. 3: Javascript Basics - 4-9hrs 4: jQuery Basics - since you do the entire Codecademy course here as | recommend AND Code School, like 5-hrs * Project: Javascript and jQuery (Etch-Sketch) - 1-Shrs © The Back End - 19-23hrs «1: Introduction to the Back End - 0-30min «2: Ruby Basics - here's where we implement the Ruby fix, which will take ~11hrs = 3: Testing Basics - 2-3hrs Project: Ruby (TestFirst) - 4-6hrs «4: Databases - wow, | think | skipped this lesson somehow. I'm not sure the material is essential, so a 2hr skim ought to doit. © Web Development and Frameworks - 8-8.5hrs + 1: Introduction to Frameworks - 15-30min = 2:Ruby on Rails Basics - 2hrs = Project: Ruby on Rails (Basic Blog App) - éhrs for a beginner, though | could do it, now in 20 minutes = 3: Backbone,js ~ Skip this per my recommendation © Additional Important Topics - 1-4.5hrs = 1:Git Basics - 1-2hrs + 2:The Cloud, Hosting, and Software as a Service (SAAS) - 0-1hr (skippable) «3: Security, SSL, and Best Practices - 0-Ahr (skippable) = 4:FTP Basics - 0-0.5hrs (skippable) © Tyingit All Together - 1-3hrs «1: How are Websites Built in the Real World? - 0-2hrs (skippable) «2: Principles of Good Programming - 1hr » 3:Conclusion - 5min * Course 3: Ruby Programming - 83-133hrs © Basic Ruby - 10-14hrs +1: How this Course Will Work - 15min = 2: Ruby Building Blocks - Start from step 6 because of the Ruby fix earlier. Should take 2hrs. «Projects: Ruby Building Blocks (various Ruby scripts) - 3hrs #3: Advanced Ruby Building Blocks - 30min if you get the Code Quizzes right, per my Ruby fix. » Project: Advanced Building Blocks (sorting algorithms) - 4-8hrs © Intermediate Ruby - 33-36hrs = 1: Object Oriented Programming - 5-8hrs «Project: OOP (Tic-tac-toe) - Because | add the Al to this project, it took like 16hrs, and this is even with skipping Mastermind. = 2:Files and Serialization - 2hrs, * Project: Serialization and Working with Files - 10hrs, though I spent time adding an Al to the Hangman too (to guess the word based on letter frequency and knowledge of the dictionary) Ruby on the Web - 7-42hrs «1: Bringing Ruby Online - 1-2hrs * Project: Ruby on the Web (Twitter Spambot and Web Server) - 6-10hrs ABit of Computer Science - 8-15hrs 1 1:A Very Brief Intro to CS -0.5-1hr «2: Recursive Methods - 0.5-1hr # Project: Recursion (Fibbonachi, Merge Sort) - 2~4hrs 3: Common Data Structures and Algorithms - thr « Project: Data Structures and Algorithms (Binary Trees, Knights Travails) - 4-8hrs Testing Ruby with RSpec - 11hrs «1: Introduction to RSpec - thr = Project: Testing Ruby (Past tests, Connect Four) - 10hrs Git- 2-5hrs + 4:A Deeper Look at Git - 1-3hrs + 2: Using Git in the Real World - 1-2hrs Conclusion - 12-40hrs # Project: Ruby Final Project - | haven't actually done this one yet, it's on the to-do list. But 12-20hrs looks right. Maybe +10-20hrs if you add an Al.;) #1:Conclusion - Smin * Course 4: Introduction to Rails - 106-200hrs © Introduction to Rails - 40hrs «1: How this Course Will Work - 5min «Project: Getting Your Feet Wet (Hart! Tutorial) - the entire Hart! tutorial took me 40hrs. This is split up over multiple projects here, so this bit won't actually take 40hrs. «2: ARailsy Web Refresher - 0.5hrs «Projects that are part of the Hart! tutorial omitted. © Databases and Active Record - 11-46hrs «1: Databases and SQL - Ihr # Project: SQL(SQLZo0) - 4-Shrs «2: Active Record Basics - 1-2hrs «Project: Building With Active Record (Reddit) - 5-8hrs Forms and Authentication - 5-10hrs «1: Form Basics ~ 1-2hrs «Project: Forms - 3-6hrs # 2:Sessions, Cookies, and Authentication - 1-2hrs «Projects that are part of the Hart! tutorial omitted. Advanced Forms and Active Record - 18-28hrs + 1: Active Record Queries - 2-3hrs «2: Active Record Associations - 2-3hrs * Project: Associations - 5-8hrs for the additional EventBrite project «3: Active Record Callbacks - 2-3hrs «Projects that are part of the Hart! tutorial omitted. 4: Advanced Forms - 2-3hrs = Project: Advanced Forms (Flight Booker) - 5-8hrs APIs, Mailers and Advanced Topics - 32-105hrs + 1: APIs and Building Your Own - 1-2hrs = 2: Working With External APIs ~ 1-2hrs » Projects: Building and Using APIs (Kitten API) - 5-8hrs + 3:Mailers - 1-2hrs + Project: Ruby on Rails Mailers - 1-Shrs = 4: Advanced Topics - 3-4hrs + Project: Ruby on Rails Final Project!!! ~ Uh, this really depends on what you pick, but a good 20-80hrs ought to be enough, depending on how good you want to make it for your portfolio «5: Conclusion - 0-2hrs (skippable, but not as skippable as the other ones | say are “skippable’) * Congratulations, at this point you can definitely get a job. Enjoy being paid to learn, and pick up the rest in your free time while not at work. * Course 5: HTMLS and CSS3 - 16-46hrs © Basic HTML Page Structure - Smin-Shrs = 1: How This Course Will Work - Smin 2: HTMLS Basics - 0-2hrs : Linking Internal and External Pages - 0-30min = 4: Working with Images, Video and Other Media - 0-30min Project: Embedding Images and Video - 0-1hr = 5: What's New in HTMLS - O-1hr © Displaying and Inputting Data - 1-4.Shrs = 1:Tables in HTML - 0-30min «2: Ordered and Unordered Lists - 0-30min » 3: Forms for Collecting Data - 0-30min # Project: HTML Forms (with Mint) - 1-3hrs © CSS3- 4-10.5hrs 1» 1:CSS3 Basics - 30-90min + 2: The Box Model - 30-60min + 3: Floats and Positioning - 30-60min «Project: Positioning anx Mloating Elements - 1-3hrs «4: Best Practices - 30min «5: Backgrounds and Gradients - 0-30min » Project: Building with Backgrounds and Gradients - 1-3hrs © Design and UX - 3.5-10hrs «1: Introduction to Design and UX - 30min-3hrs + 2: Fonts and Typography - 30min » 3:CSS Grids - 30-90min » Project: Design Teardown - 2-Shrs @ Responsive Design and CSS Frameworks 5.5-9.Shrs 1: Responsive Design - 30min + Project: Building with Responsive Design - 2-4hrs = 2:CSS Frameworks like Bootstrap and Foundation - 1hr «Project: Using Bootstrap - 2-4hrs © Advanced CSS3 - 2-6.Shrs = 1: Animations, Subtle Effects and Compatibility - 30min «2: Using CSS Preprocessors to Save Time - 30-60min * Project: Design Your Own Grid-Based Framework - 1-5hrs * 3:Conclusion - 5min * Course 6: JavaScript and jQuery - 69-138hrs © The Basics and the Browser - 6-9.5hrs = 1: How This Course Will Work - Smin «2: Javascript Basics - 2hrs, less because you already did the bulk of the work earlier, but more because you have the two extra readings I move » Project: On Screen Calculator - 2-4hrs + 3:jQuery Basics - 30min-1hr + Project: Manipulating the DOM with jQuery (Restaurant Page) - 1-3hrs. = 4: Organizing Your Code and More - 30-90min © Events, Effects, and Widgets - 8-18hrs «1: Working with Events and Effects - 30-60min # Project: jQuery and the DOM (Snake) - 5-10hrs + 2: Using jQuery UI to Build Widgets - 30-120min «Project: Creating an Image Carousel/Slider in Javascript - 2-Shrs My JavaScript Fix - 7-9hrs for the readings, 15-20hrs for the projects Better Forms with jQuery and AJAX - 8-17hrs = 1:Validating Form Inputs Using jQuery - 1-2hrs «Project: Validating a Form with jQuery - 3-Shrs. «2: Submitting a Form Without Reloading by Using AJAX - 1-2hrs # Project: Infinite Scroll and Submitting a Form with AJAX - 3-8hrs Linking to APIs and Your Rails Back End - 6-17hrs = 1: Working with Javascript APIs - 1-3hrs «Project: Putting Google Maps Onto Your Site - 1-3hrs = 2: Using Ruby on Rails For Your Back End - 1-3hrs # Project: Where's Waldo (A Photo Tagging App) - 3-8hrs Server Side Javascript and Javascript Frameworks - 17-44hrs «1: Node.js and Server-Side Javascript - 1-3hrs « Personal Note,js Project - 3-20hrs «2: Using Templates - 30-90min + 3:Javascript MV Frameworks Like Angularjs and Backbone,js - 1-2hrs Angular and Backbone Tutorials - 6-12hrs + 4: Workflow Tools, Tech Stacks and Dependency Management - 2-Shrs © Finishing Up with JavaScript - 2-3hrs + L:Javascript Testing with Jasmine - 2-3hrs « Project: Final Project - up to you. 0-80hrs? Let's look to my extras instead? « 2:Conclusion - Smin + My Extras - 165-326hrs @ Personal Angular or Backbone Project - 3-20hrs © Knockout Tutorial - 1-2hrs © Knockout Project - 3-20hrs © Python Tutorials - 20-40hrs © HAML - 30-60min © CoffeeScript Tutorials - 3-Shrs © CoffeeScript Practice - 5-8hrs © Data Science Learning - 130-230hrs + Udacity Intro to Stats - 40-5Ohrs * Coursera’s Data Analysis - 50-80hrs «Advanced R - 30-80hrs = Kaggle Work - 10-20hrs TAGGED: 41.Comments —_ Everyday Utilitarian @ Login © Recommend 8 —& Share Sort by Best Join the discussion... Anonymous « 2 years ago | think your personal guide still has some value; scouring through most CS-oriented discussion boards, algorithms and data structures are constantly stressed as an essential course. The Odin Project doesn't cover it in enough detail, so the Coursera courses on algorithms and data structures offered by Princeton (Part 1 and 2) are definitely worth taking alongside The Odin Project. It might also be worth following up on your recommendations re: more database knowledge, though I'm not certain how well TOP covers it. Seems like another topic that's regarded as critical though. 2A v + Reply + Share» peterhurford ios - Anonymous - 2 years ago <= That's a good point. | found the Coursera classes annoying because they were in Java, which | didn't want to learn at the time. But some algorithms knowledge would be useful The really important thing is just knowing time complexity and how to write efficient code. ‘Av + Reply + Share» Mare Lucraft- 2 years ago Interesting read. I've just started TOP, so will consider your suggestions. 2A v + Reply + Share » Carson + 2 years ago ‘Thank you for posting this, as someone who is quite a freak about planning its pretty helpful However, I was wondering how long do you think the Ruby Programming section would take if someone already knows another programming language (Java and C) and the Intro to Comp Sci sections So pretty much just a few gray small gray areas all around, Ruby on the Web, and the Git section and then review with the rest. Of course I'll still do it to learn Ruby! But just for time sake, how much shorter? 10 v = Reply + Share» @ _ peterhurford ice carson » 2 years ago <=> My guess is you'd be looking at ~700 hours for the minimum you'd need to be job-ready in Ruby, though it depends on how well you know Java and C. Av = Reply » Share» australian writings - a yearago This is a very helpful note for someone who wanted to find some perfect tip and information about programming, They can surely perform many different tasks that they wanted to have and get a good result of it. Av + Reply + Share» ‘Andrew Morgan a year ago Great article, so glad you've taken the time to post this. Just wondering, I noticed that you wrote that '3: How Does Your Computer Work?’ would take ‘30min, if you've never used the command line before’. Is that a typo or am | missing something? The CodeAcademy course alone has an estimated course time of 3 hours, am | supposed to do all five of the assignments they recommend or...? Av + Reply + Share» @ _peterhurford ics > Andrew Morgan «a yearago | don't really remember anymore. It depends on your prior experience and interest, but I'd be inclined to skim. Av + Reply » Share > eko * a year ago Can you give spesific links for data data science learning. Which is better coursera’s data anays or udacity's7s it Data Analysis and Interpretation Specialization (coursera)?There is more than one.Do i need to know python?Udacity's Data Analyst course looks good too.And where to learn advanced R and Kaggle. Thanks Av © Reply » Share > David Horne « a year ago Hi, it looks like this is pretty inactive, but do you think that I'l be able to start getting freelance ‘work (stil in college, so getting a real job is out of the question) by skipping most of the Ruby section like is mentioned at the beginning of that section? Av + Reply + Share» peterhurford iow + David Home + a yearago <= TOP is rather back-end focused, so you'd have to supplement your lear finish the front-end parts of TOP. Av + Reply » Share > @ _devid Horne + peternutord a year ago <= Ohyeah, I'm going to supplement the crap outta this (always learning), but right now I'm thinking skip to RoR, then part 7, then back to Ruby, and then the front end stuff, 'd like to get an internship asap- I'm thinking I'l apply as a Ruby on Rails intern, with plans to go full stack Ay + Reply + Share > Patrick Yoergler - 2 years ago What a magnificent project — thank you! For the time being, a friend and | am preparing to focus on Front-End Web Development only. Would we be missing anything essential if we were to skip all Ruby Programming courses and all courses concerned with Back-End? And all courses not explicitly concerned with Front End or Javascript — Additional Important Topics, and Tying it All Together, for example? Av © Reply » Share» @ _peterhurford tics + Pati Yoerler + a year ago SS ewouru ve @ preuy youu stan FOF ie rauer BAUR 1UGUSeU, 9U YOUU Have WW supplement your learning after you finish the front-end parts of TOP. ‘Av + Reply + Share > Sam James + 2 years ago | stumbled upon your site after registering for the Odin Project. Last week was my first attempt at coding and whilst, am halfway through (been busy and slightly lazy,tbh) at this moment, there was a desire to go further and | found TOP. Your experience, as you put it,was nicely written, and | do hope to implement it when | begin TOP. Nonetheless, I'd lke to inquire if learning some stuff on GA or practising on Freecodecamp would come in handy some way into TOP? Av © Reply » Share» Mika + 2 years ago Ilike this article very much. It gives very good insight about the odin project. Thank you! Av + Reply » Share > mikegryo - 2 years ago This is a great resource, Peter. Thanks! In terms of Web Development 101: Javascript Basics, do you recommend completing the entire Codecademy course, or just doing Sections 1-5 like TOP says? I'm a code newb, so I'm starting from the ground up (although I've done some "Learn Python the Hard Way", and was a comp-sci major for a year in college). Ay © Reply + Share > @ _peterhurford ios Pmikegrye «2 years ago I'd recommend doing the entire Codecademy course. | felt like it was useful throughout and it comes up later on in TOP. No need to divide it, | feel. Av + Reply = Share > Mathieu Roy + 2 years ago Thank you, Would you recommand TOP over http://www.freecodecamp.com/ ? Av + Reply » Share > @ _Peterhurford vos Mathiou Roy + 2 years ago <= Hi Matthieu, had never heard of Free Code Camp before, so thanks for pointing it out, Free Code Camp looks quite good (from my cursory two minute look over it), so | definitely wouldn't fault you for picking it. | personally prefer Ruby over full-stack JS, especially for beginners, so that's why I'd still recommend TOP (also | know TOP a lot better). But | stil definitely like Free Code Camp from what I've just seen. Ay = Reply + Share > @ _ Aiom Lukianov + petemurtord «a year ago Why? If start with Javascript once, NodeJS , AngularJS and React is just frameworks of Javascript, and i think learn another language(completely understand structure and tricks, and not basic coding skills) is much harder. And if you think that you know that language, you must check this knowledge with HackerRank or CodeWars challenges:) Av = Reply + Share > Chris Arias - 2 years ago Peter, | found your site by pure luck. | like how you recommended what worked for you and later, after you were given info on the odin project, you realized that TOP was better organized and yet you can suggest and encourage to follow an alternate path for the Ruby basics. | am still early on the web development path but | will follow your recommendation. It is a great thing that someone else succeeded on his own and that you outlined a pathiguide that could work, will work, for most people. Thanks again. By the way, how are your things as web developer? Av + Reply + Share > peterhurford ou + Chris Arias + 2 years ago <= Things are going well, thanks for asking. Work is quite busy these days, but | feel like I'm developing along quite well and tacking some challenges. effective-altruism.com/eali has an example of some of the things I've been working on, lately. AY + Reply + Share > eko * 2 years ago Thanks for review which is really helpfull.l am at Web Development and Frameworks 2: Ruby on Rails Basics.Dont really get it(couldnt follow after video 2 of codeschool course)Shall i continue or rewatch videos again? Av = Reply + Share» peterhurford ios A eko «2 years ago <= Md try rewatching. y+ Reply + Share» Leo HM Arruda « 2 years ago Thank you a LOT for all this work Peter, it looks much better than anything | could have done myself. 'm finishing my masters in neuroscience and intending to get into web development for a change (learning useful web skills, checking whether | like to work with programming and trying to live some real-world work experience). I'll probably follow this whole tutorial (albeit slowly at first since | still have to dedicate most of my time to publish my thesis article etc). Av + Reply » Share > peterhurford lov Leo HM Amuda * 2 years ago <=> Cool! Do let me know how it goes! ‘Av = Reply « Share» Afshin Mokhtari - 2 years ago I like your comprehensive approach to putting out your experience. You should consider making some of those proposed changes to TOP yourself with some good ol' github pull requests. Av + Reply + Share > Juan + 2 years ago | was just about to start TOP when I found this blog post. Thank you very much for this, Peter. | am in the middle of my Computer Science major in my program and frustrated because I don't feel like I've learned many useful things (for example, our "Web Programming" class uses Perl!) | will follow your guide, | am very excited to learn! One thing: On your original guide you praised Hartl - Ruby on Rails. Would it still be useful to read during this guide or do the other things make it redundant? Thanks! Av © Reply » Share» @ _peterhurford ics Juan» 2years ago | think it's still useful to do the guide. In fact, somewhere in TOP, the Hart! tutorial comes up as a part of TOP, so just do TOP and wait for it to come up. Av + Reply » Share > e JaYa Wijono - 2 years ago Thank you so much for your article Peter! This is a really good article, and I'm planning to follow your suggestion. Av + Reply » Share > Zachary Ryan Smith + 3 years ago Thanks much, Peter! | plan to follow TOP with your suggestions, and | expect it to save mea good amount of time. have a couple of suggestions: 1) I've been following your own guide for a couple of months, and did not see your edit about TOP until now, even though I've been visiting your guide's page periodically. Maybe put a hard-to-miss notification at the top of that page? 2) Unless I've missed something, the sentence "App Academy basically does Step 2-17 from this guide..." wouldn't make sense to people who have read only this page, and did not know that it was a c&p from your own guide. Maybe edit? Again, thanks much! [ Ay = Reply + Share» Peter Hurford + Zachary Ryan Smith + 3 years ago <= Thanks Zachary. Il aim to make the notification about TOP more apparent. "App Academy basically does Step 2-17 from this guide..." is a typo ~ bad copy and paste job. I'll address that. “Are there any podcasts anyone would recommend to a budding programmer?" RailsCasts - http:/railscasts.com/ - are widely regarded as a really good resource for getting more advanced with Ruby. “Also, any resources on how to move from a programmer to a ‘higher level’ position...or even whatever the heck that means...Thanks!" Haha, I'm actually not sure what this means, either. So unfortunately | don't know how to answer your question! Sorry. 1A v © Reply » Share > @ Zachary Ryan Smith -> Peter Hurord «3 years ago Thanks much! [ ‘Av + Reply + Share > (@ Zachary Ryan Smith 4 Zachary Ryan Smith» 3 years ago <™ PS, Are there any podcasts anyone would recommend to a budding programmer? Also, any resources on how to move from a programmer to a "higher level” position...or even. whatever the heck that means...Thanks! Ay = Reply + Share > George McGowan 3 years ago Great guide Peter! I'm certainly going to try this out, and think about a bootcamp as well Av = Reply + Share > Pablo Stafforir ‘Thanks for writing this, Peter! | was about to get started with your guide, but now Illtry this one instead, with the modifications you suggest. Ay + Reply + Share» + 3 years ago peterhurford ios 4 Pablo Stafforini « 3 years ago <== That's great to hear! I'd love to know how it goes for you ‘Av = Reply + Share » e Pablo Stafforini + peterhurford - 3 years ago I" keep you posted, A quick question: to the extent that one is interested in leaming Python, is there any stage that you think it would be most suitable for learning it? Would it make sense e.g. for me to start with Learn Python the Hard way right now? Av + Reply + Share > e@ peterhurford od Pablo Stafforini » 3 years ago <=> My initial thought would be to complete it between after doing "2: Web Development 101” but before doing "3: Ruby Programming”. I'll think about it more and update the Python information here. Also, let me know what you think of "Learn Python the Hard Way". I'm interested in what people think of it as compared to the "Think Python" textbook... 1A © Reply + Share» @ _Elovic Pernis + petorhutora + a yearago I'm not using Think Python, but its derivative book "Python for Informatics” | started learning Python through LPTHW, but merely typing code examples isn’t helping me understand stuf. | learned better through the Python for Everybody MOOG (the lecturer is the same person who rewrote Think Python into Python for Informatics). The good thing about P4E and Python for Informatics is that you get to experience more hand-holding. Charles Severance explains concepts in the simplest possible terms, The exercises are quite easy, which could be both good and bad. It's good in the sense that you get easy wins. That You get to Tee1 that youre doing programming, ana tnat i's not tnat naa. The bad side is that if you don't do a more difficult exercise, you won't, leam the material more deeply. That’ where supplementing Python for Informatics (or Think Python) with Av + Reply + Share > ALSO ON EVERYDAY UTILITARIAN Personal Review for March - May 2014 The Making of the Personal Review: Behind the Scenes — Thanks a lot! I'll read the . 7 post! —lalso track my time, though | use Toggl rather than Google Calendar. One useful rule I've adopted : Site Speed Problems, Sorry Interesting Mathematical Relationship — Seems to work. :) 's surely interesting especially that there are many people who were able to realize about this kind of EX Subscribe © Add Disqus to your site Add Disqus Add Privacy Everyday Utilitarian by Peter Hurford. Powered by Jekyll and hosted on GitHub Pages. 4YHeO Please enable JavaScript to view the comments powered by Disqus.

Anda mungkin juga menyukai