I find that I’m slightly less disoriented every day.
My first month at my new job was a complete blur. Then the holidays passed and I was able to spend more time pairing.
One day I realized I had started to understand the majority of the conversations around me. Meaningless acronyms started to make sense, and I began to understand the cards on the wall (each of which represents a small development task) without having someone explain them.
A few days later I was “driving” (being the one on the keyboard) with Vim and Tmux–both tools I’d never used before I started this job.
A few days after that, my pair started challenging me with questions like, “What should you do next?” At first I thought, “I don’t know, and I’m not sure I’ll ever know. I don’t even think I understand the problem.”
It was only a couple of weeks ago that my pair was having to tell me explicitly what to type. Over the past week I’ve been able to make progress on issues even when my pair steps away or leaves early.
The last two days were especially eye-opening.
One of the Senior Developers spent a couple of hours walking me through the notification system, which is one of the most complex parts of the code. Somebody got really meta-programming-happy in that big pile of code spaghetti.
Yesterday was also a great learning experience. I paired with another developer who was hired around the same time as I was. He has a good bit of experience in other languages, as well as a deep understanding of Linux operating systems, but this is the first time he’s worked in Ruby on Rails or used Git.
In other words, we have exactly opposite skill sets.
We spent the day going back and forth, with him teaching me advanced Bash commands, and me teaching him Rails. Then we picked up a card and worked through it together. With our complimentary skills, we were able to complete it without help from the Senior Developers.
I can finally visualize what it will be like to be an asset to the team, rather than a liability.