git init...And Get In It! (How I taught myself Rails and got a programming job in under a year)
At RailsGirls Berlin (April 14, 2012), I gave a talk about how I learned programming (specifically Ruby on Rails) and got a programming job in under a year. It covers my story, the tools I used, and tips on using those tools.
• January 2011: Started looking at Ruby and Rails teaching sites • February 2011: Started working through railstutorial.org • May 28-29, 2011: Attended EuRuKo • July 2011: Finished railstutorial and started internship with Upstream (cobot) • September 2011: Finished internship • November 2011: Started work at mediapeers Saturday, April 14, 12
• Written for true beginners • Introduces and uses git, GitHub and heroku • Detailed explanations of all elements • Useful even for experienced coders • Full book for free • Videos and PDFs can be bought to support it Saturday, April 14, 12
What is version control? • Version control: keeps track of what the project looked like for its whole history • Distributed version control: many people can work on the same project at the same time without problems • Use it now to: • Share on GitHub and post on heroku • Build good habits from the start Saturday, April 14, 12
What is git? • Commit: Take a snapshot of your code • Repository: All your snapshots neatly arranged in one album • Most common version control in the Ruby community: lots of help is out there! • More information: • git-scm.com (official git site) • progit.org (a full book online, plus a blog) Saturday, April 14, 12
What is GitHub? • Store your git repository for free online • Explore other people’s code • Watch: get a feed of updates to the repository • Fork: copy the repository so you can play with it • Collaborate on code • Pull request: ask the owner to add your changes • Review code • Find help with someone’s code • Issues: Find or submit tickets about a problem • Wiki: Some repositories have a wiki Saturday, April 14, 12
What is heroku? • Hosting for Ruby/Rails sites using git: put your code out there for the world! • Free for small projects • Easy to scale up as projects grow Saturday, April 14, 12
• Search it with Google, not the search field on the site, e.g. • site:stackoverflow.com rails passwords Stack Overflow Tips • As with any search, try adjusting your search terms if you don’t find what you want right away • If you can’t find it, ask it! Saturday, April 14, 12
Rails Documentation • api.rubyonrails.org • apidock.com/rails • railsapi.com • My personal favorite • Defaults to most current versions • Easy to choose specific older versions • Shows Ruby and Rails results together Saturday, April 14, 12
Rails Guides Tips • There are more guides on the main page than are listed in the index! • “In Progress” guides are still great help Saturday, April 14, 12
GitHub Tips • Read the readme • Read the wiki, if there is one • Search the issues to see if someone else had the same problem • Submit your own issue if you still have a problem Saturday, April 14, 12
Heroku Tips • devcenter.heroku.com to browse help topics • Use Google to search the docs, e.g., • site:devcenter.heroku.com logs Saturday, April 14, 12
• editors – vim, emacs, TextMate, Sublime, etc. • rubular.com – Regular expressions editor • Markdown – used to format comments on GitHub, and in various other places • http://daringfireball.net/projects/markdown/syntax • pow.cx – Local server tool (Mac only) Development Tools Saturday, April 14, 12