Lessons learned about learning
knowledgable_and_productive = false
learn = [
"pick a development track",
"learn how to learn",
"listen to smart people",
"use interactive resources",
"read books",
"read code",
"write code",
"ship code",
"teach"
]
until knowledgable_and_productive
learn[2..-1].each do |practice|
practice
end
end
###Pick a Development Track
learn[0] # => Pick a development track
My areas of interest are Ruby, Rails, Git/Hub, Heroku & AWS, Markdown, JavaScript, and UNIX based development and production environments.
###Learn How to Learn
learn[1] # => Learn how to Learn
The podcast Ruby Rogues Episode 131 “How to Learn” is amazing. Its worth a listen even if you are not into Ruby.
###Listen to Smart People
learn[2] # => Listen to smart people
###Use Interactive Resources
learn[3] # => Use interactive resources
My two favorite flavors are Browser Based Learning and Test Driven Development Learning.
Browser Based Learning requires no client configuration. Client configuration is newbie kryptonite.
TDD Learning secretly teaches you how to write tests while you are learning a new software concept.
Browser Based Learning Picks
Code School
Code Academy
Tutsplus
TDD Learning
exercism.io
Ruby Monk
###Read Books and Online Media
learn[4] # => Read books
Subscribe to Rails Weekly newsletter
Cookbooks Michael Hartl, Learn Rails
D3.Js D3 wiki Scott Murray’s D3 Book
**Git Pro Git
Videos * Railscasts * Watch the free Tutsplus tutorial on Sublime
###Read Code
learn[5] # => Read code
Read good code. Start here
###Write Code
learn[6] # => Write code
Write lots of code. Even if its bad. Especially when its bad. Fork and contribute to repositories. Like mine.
###Ship Code
learn[7] # => Ship code
Writing code is fun but seeing it come alive on the cloud is a blast. The barrier to entry is low and the upside endless. I deploy to Amazon Web Service by way of Heroku.
###Teach
learn[8] # => Teach
Helping others to learn is one of the best ways to learn an new competency. Blog about a new move, help a newbie, or teach a class. Its kind of like rubber ducking with humans.
Example
##Here’s how to pass a block of code through a method
Learn more about this at RubyMonk.com.
family= ["Matt", "Dana", "Lucy", "Bode"]
def meet_us(fam)
puts "Meet our family of #{fam.length}."
yield
end
meet_us(family) {family.each {|f| puts f}}