ckib16Fantastic overview - really cuts through a lot of the fog I've encountered the last 6 months - year.10 months ago
Are you sure you want to
Dennis YuscavitchHey Mattan - thanks for posting the link to the class on udemy. If we participated in the class at GA - is there any method for accessing the class again without paying a fee? Thanks, Dennis10 months ago
How to Teach Yourself to CodePresentation Transcript
How to TeachYourself toCode.
Part 1:Stop Waiting for thePerfect Technical Co-Founder and StartLearning How to Code
Why learn how to code?
A lot of you just havean idea
If you’re expecting to find someoneto build that idea for you, it’snever going to happen
Demand for developers hasskyrocketed
Think about it…
Anyone with any programmingtalent is getting offers fromFacebook, Google and dozens ofother startups right now
Why should a programmer chooseyour idea over any other?
Do you want topay someone?
1)You will pay too much
1)You will pay too much2)You’ll be unhappy with the process
1)You will pay too much2)You’ll be unhappy with the process3)You’ll get something back you didn’t want
WHY?
WHY?Software is hard to estimate
WHY?Software is hard to estimate“Should this really take 15 hours, oram I getting ripped off?”
If you’re an entrepreneur waiting forsomeone to execute your idea for you,you’re not an entrepreneur
(sorry)If you’re an entrepreneur waiting forsomeone to execute your idea for you,you’re not an entrepreneur
“Pre-Dodgeball I went through 3-4 years thinking Iwas going to meet some magical engineer whowould build all the stuff I was thinking about. But Inever met that person, so I taught myself ASP andMS Access out of a book and got to work justhacking stuff together. I’m still a really shittyprogrammer but I know enough to hack a prototypetogether.”- Dennis Crowley, Foursquare
Learning how to code≠How to be a software engineer
The point is for you to learn tocode well enough tobuild a prototype
(aka Minimum Viable Product)The point is for you to learn tocode well enough tobuild a prototype
MVP = quick + dirty
“Product with the fewestnumber of features needed toachieve a specific objective.”– The Entrepreneurs Guide to Customer Development
Side note: build products that arevaluable despite being ugly
Eventually you’ll need tofind a lead developer
Knowing how to code helps youfind, pitch and manage gooddevelopers
More and more, the things weinteract with in the worldaround us qualifies as“technology”
There are 10 kinds of people:
There are 10 kinds of people:Those who understand binaryand those who don’t
Society is quickly dividinginto two groups:1)Those that know how to code –they can manipulate the very structureof the world around them.If you’re interested in learning more, read Program or Be Programmed: http://amzn.to/yzd6hm2)Those that don’t – their lives arebeing designed and directed bythose that do.
[toast, cheese, wine].each { |food| print food.capitalize }(try saying it out loud)
Rails hides all the stuff you reallydon’t need to know
Rails is just shortcuts like thisrails new applicationcreatecreate README.rdoccreate Rakefilecreate config.rucreate .gitignorecreate Gemfilecreate appcreate app/assets/images/rails.pngcreate app/assets/javascripts/application.jscreate app/assets/stylesheets/application.csscreate app/controllers/application_controller.rbcreate app/helpers/application_helper.rbcreate app/mailerscreate app/modelscreate app/views/layouts/application.html.erbcreate app/mailers/.gitkeepcreate app/models/.gitkeepcreate configcreate config/routes.rbcreate config/application.rbcreate config/environment.rb...create vendor/pluginscreate vendor/plugins/.gitkeeprun bundle install
So you can do stuff like this
There’s a temptation forprogrammers to say“Start with PHP or Java”
They say this because:1. it mirrors the way we learnthings in school2. it’s how they learned
IGNORE them
With those languages, you’llspend MONTHS learning thebasics so that you can do this:
(make a yellow square)
With Rails, fast and simple isthe name of the game
The ability to get quick andpositive feedback on yourprojects is crucial
A final note:“Scaling” Rails
Does Rails scale?
Yes Some of the most heavily traffickedsites in the world use RailsBasecamp Twitter Shopify Yellow PagesGitHubLivingSocial GrouponSoundcloud ZendeskHulu
Part 3:How I Taught Myself toCode in One Month
I find traditional learningextremely tedious
So do you.(Otherwise you’d have learned how to code by now.)
So I developed my own methodI call “brute-force” learning
In college I would download podcasts ofclasses I was taking (from other schools)
Then I’d listen to the podcastson the subway or walkingaround the city.
Doing this ended up eliminatinghundreds of hours of studying(also teachers loved my “unique perspectives”)
Why does thiswork?
Have you ever been confused by somethingwhen its explained one way but when it’sexplained a different way it just clicks?
The result is that learning isless tedious
More importantly, the stressof feeling like you have tolearn something the first timedisappears
It’s OKAY to not understandsomething the first time
It’s OKAY to not understandsomething the first timeIsn’t that sort of the point?
The first time you learn something,your mind creates a mental map. Afuzzy picture of all the pieces andhow they fit together.
When you go back, you relearnthe specifics and it all starts tomake more sense
Just speed through as manyintroductory tutorials as possible
Here’s what I recommend:
One Month Railsby Mattan Griffel (Me!)
Ruby on Rails Tutorialby Michael Hartl
When you finish, you’ll be able tobuild your own basic web app
But there will be specificfeatures you don’t know howto implement
Railscasts by Ryan Bates
At some point along the way, youmay feel a temptation to STOP andlearn Ruby (or HTML or CSS)
At some point along the way, youmay feel a temptation to STOP andlearn Ruby (or HTML or CSS)Don’t.
Ruby RailsRuby is huge
Ruby RailsRuby is hugeAnd you only need toknow a tiny bit of it
Besides, you’ll learn all theRuby, HTML and CSS you needto know along the way
After you’ve finished, check outthese fun resources that coverbasic Ruby:• Codecademy’s Ruby Track• Why’s (Poignant) Guide to Ruby• RubyMonk• RubyKoans• Learn Ruby the Hard Way• Ruby Warrior
Troubleshooting
75% of coding is Googling*
75% of coding is Googling**totally made up statistic
Stack Overflow
A lot of times you know whatfeature you want to build, but youdon’t know what it’s called
For example: Cron jobs let youschedule tasks in your app
Ask someone
Rails is very popular atthe moment and has aLARGEcommunity for support
The best way to learn is to go to aRails meetup and ask someone whoknows more than you
in NYC• NYC.rb• NYC on Rails• NewYork Ruby Meetup• Ruby Nuby
Go attend somehackathonsand find teams to work with
To hear about hackathons, sign upfor the following mailing lists:• General Assembly• This Week in NYC Innovation• StartupDigest• Startup Weekend
The ∞ list of Rails includes:• Rails for Zombies• Peepcode• Agile WebDevelopment withRails• Ruby on Rails Guides• Hackety-hack• Teamtreehouse• Code School
Part 4: Coding in a nutshell
Installing Rails issuper easy
This is your command centerCommand Line Text EditorBrowser
The text editoris where youwrite your codeSublime Text
The commandline is where yourun your codeTerminal
The browser iswhere you seethe resultGoogle Chrome
Rails uses a Model View Controller(MVC) architectureControllerViewModelDatabase
DatabaseWeb Pages RulesControllerView ModelRails uses a Model View Controller(MVC) architecture
Github is where you save versions of yourproject files
Heroku lets you deploy your app so that it’slive in seconds
Part 5: Let’s begin
1. Go toRailsInstaller.org
1. Go toRailsInstaller.org2. Download theright installer
1. Go toRailsInstaller.org2. Download theright installer3. Follow theinstructions
1. Go toRailsInstaller.org2. Download theright installer3. Follow theinstructions4. Yes do the Gitthing too
Some people get this error:Error changing group of /opt/rix to rvm
Some people get this error:Error changing group of /opt/rix to rvmWho can solve this first?!
Let’s check if it worked
Find your command line
Find your command lineOpen Programs > RailsInstaller > Command Prompt with Ruby and Rails
Type this command and hit enterrails -v
Type this command and hit enterrails -vRails 3.2.13If it says something likethis, then it worked!
You’ve installed Rails, and you’reready to create your first app
Go to onemonthrails.comto keep learning
Thank you :)Mattan Griffelmattan@onemonthrails.commattangriffel.com
Let LinkedIn power your SlideShare experience
+
Let LinkedIn power your SlideShare experience
Customize SlideShare content based on your interests
We will import your LinkedIn profile and you will be visible on SlideShare.
Keep up to date when your LinkedIn contacts post on SlideShare
1–10 of 28 previous next Post a comment
1–10 of 28 previous next