Table of contents
Child pages
Related pages
Journal
This'll be a journal where I can record any thoughts I have as I learn some new programming tool.
- I'm noticing that as I make progress on the Ruby on Rails tutorial and Elenco 130-in-1 guide, I'm becoming more excited. Seeing my progress and thinking about the future things I'll be able to accomplish is really motivating me in an incredible way. I'd known what Schwarzenegger said about the importance of keeping records, but I didn't expect it to happen in this situation.
- just as with the LSAT, it seems the #1 concern a person should have is remaining motivated:
Quote:[my friend] (9:04:17 PM): I don't try to use it to get rich because it's very boring
[my friend] (9:04:26 PM): and I'd rather be trying to self-improve than to make money
[my friend] (9:04:47 PM): any type of problem solving and learning
[my friend] (9:04:53 PM): I think is more constructive
[my friend] (9:04:59 PM): then repeatedly solving things out of my toolbox
[my friend] (9:05:06 PM): acquiring the toolbox was useful but
[my friend] (9:05:12 PM): coding @ industry standards is not
[my friend] (9:05:29 PM): unless you're very very lucky and they have you fix what no one else can figure out or something
[my friend] (9:05:33 PM): or let you do whatever you want
[...]
[my friend] (9:05:53 PM): I got very bored doing coding projects at MIT because it was very
[my friend] (9:05:57 PM): "do this design document"
[my friend] (9:06:49 PM): it's also more motivating hacking together your own project
General Resources
Roadmaps
- Undated - Peter Norvig - Teach Yourself Programming in Ten Years
- 2011.09.20 - Signal vs. Noise - Four tips for learning how to program
- Learn by doing. Work on a project you find interesting. Don’t try to learn to program solely academically, by reading.
- Do what you can. (NW: Like when you go to the gym.) Get as much of the project done as you can.
- The going is usually very slow at this phase, with lots of false starts and backtracking as I learn what works and what doesn’t.
- Posting to mailing lists or forums or IRC and asking for help are not so useful to me.
- If the problem I’m tackling is large, I try to break it into small bits first.
- This is where TDD really shines. It forces you to take the problem apart and think of it in the most atomic pieces.
- Ask experienced people to review your code and let you know what you could've done better.
- 2012.03 - Jimmy Li - Learning to Code: The Roadmap I Wish I Had Been Given
- 2016.10.24 - Medium - Melinda Byerley - Learning To Code: For My 14 Year Old Niece
- A comment I added:
Hi Melinda! I’m basically self-taught and I’ve spent a few years thinking about this issue, and the recommended path I’ve arrived at is:
Start by learning how to write simple programs that move the mouse around and send keyboard-presses; that’s the fastest/easiest way I’ve seen knowledge of programming translate into a real-world benefit for the person learning how to program (I’m a huge fan of AutoHotkey because it’s so easy to install and get started with, but it’s Windows-only). If the person is in the workforce and has a job where she uses Excel, then I would recommend she also start by getting comfortable with Excel formulas and writing simple VBA macros. If she’s into gaming, she should also try starting by learning to create mods (eg a Minecraft mod) rather than creating games from scratch. Once she’s comfortable with those I recommend learning how to automatically send emails, scrape websites, and build websites with Python and PythonAnywhere.com. (Python is my favorite programming language but IMO it has a steeper learning curve than AutoHotkey/Excel/modding before a total newbie to programming will feel comfortable doing useful stuff with it.) And from there, if she has some kind of specific situation where she needs to pick up another language, she can learn about other languages.
Here’s a video of me and my friend walking through how to use AutoHotkey: https://www.youtube.com/watch?v=7ULy4KmAYbU
- A comment I added:
Analogies
Cooking
- https://www.udemy.com/if-you-can-cook-you-can-code/
- http://blog.httrack.com/blog/2013/11/11/coding-is-like-cooking/
- https://solutiondesign.com/blog/-/blogs/what-cooking-taught-me-about-programming
- https://blog.codinghorror.com/programmers-and-chefs/
Websites
- Codecademy - http://www.codecademy.com
- CodingBat - http://codingbat.com/
- The New Boston - http://thenewboston.org/
- Udacity - http://www.udacity.com/
- WiBit.net - http://www.wibit.net/
- Misc CS Lectures - http://activities.tjhsst.edu/sct/lectures.php [the few I skimmed through were really helpful]
- Great digitized books from the Atari era: http://www.atariarchives.org/
- Type faster: http://play.typeracer.com/
- Type faster: https://typing.io/
Books
Lists
- Amazon List - Graduate CS Books
- Amazon List - Books on Algorithms
Individual books
- Great (free) digitized books from the Atari era: http://www.atariarchives.org/
- Programming Pearls by Jon Bently
- USACO Training Puzzles - rec'd by a Princeton-CS-major-turned-quant friend of mine making $200k a year
- Project Euler Puzzles - rec'd by a Princeton-CS-major-turned-quant friend of mine making $200k a year
Computer Architecture
- Computer Architecture by Hennessy and Patterson
- The Elements of Computing Systems: Building a Modern Computer from First Principles
- How Computers Work by Ron White and Timothy Downs
Introductions to Programming
- Learn to Program by Chris Pine (uses Ruby)
- Harvard's CS 50 (Intro to Computer Science) Course - https://www.cs50.net/lectures/
- Amazon Book List - History of Personal Computing Classics
- Amazon List - Rec'd Books for Common Languages
Computer Science Ideas
- Foundations of Computer Science by Aho and Ullman - now free online!
- I'm on page 11 of the Chapter 3 pdf, p99 of the book itself. It's been slow-going b/c I want to understand as much of his math notation as possible.
Bootcamps
Dev Bootcamp (dead)
- Dev Bootcamp (SF, CHI, $12k)
- This is the original bootcamp that spawned so many imitators. It was bought by Kaplan and shut down.
Coding Dojo
Fullstack Academy
Hack Reactor
MakerSquare
- Praise
- https://medium.com/@donovanwhitworth/i-attended-makersquare-in-2014-it-was-a-ruby-sinatra-rails-javascript-curriculum-then-c6e5f400cc2c
- I attended MakerSquare in 2014 (it was a Ruby/Sinatra/Rails/JavaScript curriculum then). I do not have a college degree and I got my first offer five days after graduation. There is no way I would have been prepared to get a junior developer job without attending bootcamp. It absolutely changed my life. I went from making ~$30k a year before boot to making ~$70k, and now 2 years on I’m making six figures, and even more importantly, I love my work.
I am the software engineering lead for my company (doesn’t mean I’m senior…. it means I go to meetings :p ), programming in Ruby, JavaScript, Java and Scala and still learning new things every day. I’m also getting a CS degree part-time now, which I would have never been inspired to attain if I did not attend MakerSquare.
Maybe the bootcamp experience is different now that the market is saturated, but from what I hear, Hack Reactor is a well regarded program. MakerSquare was worth every penny and more for me.
- I attended MakerSquare in 2014 (it was a Ruby/Sinatra/Rails/JavaScript curriculum then). I do not have a college degree and I got my first offer five days after graduation. There is no way I would have been prepared to get a junior developer job without attending bootcamp. It absolutely changed my life. I went from making ~$30k a year before boot to making ~$70k, and now 2 years on I’m making six figures, and even more importantly, I love my work.
- https://medium.com/@donovanwhitworth/i-attended-makersquare-in-2014-it-was-a-ruby-sinatra-rails-javascript-curriculum-then-c6e5f400cc2c
The Recurse Center (aka Hacker School)
- Hacker School (NYC, free)
- This one is hard to get into. It's like a writer's retreat for experienced programmers.
Turing School of Software and Design
- https://www.turing.io/
- 7 months, $20,000
- Praise
- https://medium.com/@leskin/i-attended-the-turing-school-of-software-and-design-https-www-turing-io-e1dde6f58526
- I attended the Turing School of Software and Design (https://www.turing.io) last year, which is a much longer program than Hack Reactor, 7 months, and now work as a software developer. I came from a non-technical industry, previously working as a journalist. Attended it was probably the greatest decision I’ve ever made and Turing is very transparent. They just released a report as well http://report.turing.io/. Turing is one definitely worth checking out.
- https://medium.com/@leskin/i-attended-the-turing-school-of-software-and-design-https-www-turing-io-e1dde6f58526