1. Watch one, write one, teach one.

Watch one, write one, teach one is something I picked up while watching Ben Orenstein talk at a ruby conf.

This changed my life allowing me to turn normally fleeting knowledge to solidified know how.

The absolute best way to learn something is by watching someone else perform the technique, then performing the technique yourself, then teaching someone how to perform the technique.

2. Pairing is caring

Pairing has a number of benefits: Less time spent on refactoring typo's ;) Instant Code Review and someone present for you to bounce ideas off of.

Avdi Grimm is a big supporter of pairing. In his talk "Pairing is Caring" Avdi challenges you to pair with another developer for 2 hours a month. He even created a site to promote pairing among developers http://www.pairprogramwith.me.

"Put this badge on your blog or project home page. Link it to a way to contact you."

I highly suggest that you checkout http://www.pairprogramwith.me, it has an exhaustive list of resources related to pair programming, including sotwares to use. I prefer ScreenHero for pairing.

PingPong Pairing

The following is a pairing technique I've heard thoughtbot uses; which I refer to as PingPong Pairing:

Person 1 writes the test, Person 2 writes the method Person 2 writes the test, Person 1 writes the method Repeat in a back-and-fourth fashion.

From personal experience this keeps pairing fresh and is more engaging; win.

3. Admit it!

"When you are super embarrassed about not knowing something, that's the moment you need to ask." ~ Ben Orenstein

I started admitting when I didn't know something about 2 years ago and it was one of the most significant changes I have made in my career.

When I started to admit I didn't know things, I found others were excited to teach me. When I learned peer-to-peer I was able to retain the knowledge better. This allowed me to understand more complex techniques easier.

Share this, look smart If you would share this article on twitter I'd greatly appreciate it.

Tweet

http://www.abetterdeveloper.com/articles/get_better_faster