Early in my career I had trouble focusing on building my skill set in a single area. I wanted to do everything. I wanted to design the best looking, trendiest graphically stunning websites, build them using the cleanest html and javascript possible.
I wanted to build a blog network that people would want to read every day. I wanted to develop a Windows Vista widget to alert people when I published new articles.
Remember Windows Vista widgets?
But I never focused on PHP, the technology I was using daily to build solutions for the clients I worked with. I was good not great, and I was ok with that. There were so many other sparkly things to try out there.
Eventually this led to having many projects running at the same time. I wanted to build a phone app using phone gap, jQuery mobile and a PHP backend. I wanted to build a flash game for iPhone, and I quickly became burned out.
It took a couple iterations of this for me to learn to only dabble but not pressure myself to complete projects as long as I was learning more about PHP. The ins and outs, how to be more efficient with my code, how to deploy the code and maintain a smaller cleaner solution. I began to focus on depth of the tech I was using daily.
I stopped writing javascript, css, and any other new thing I wanted to learn and started diving deeper into PHP. I read more tutorials, books, blogs and YouTube videos to see how others would write things I wrote every day and began to learn more and more. I did this for Ruby when I started writing Ruby every day, I stopped coding PHP and everything else to focus on Ruby so I was confident in my ability to write, review and improve the codebases I touched.
I adhere to the learning model of see one, do one, teach one
and it wasn’t until I focused on the depth of my knowledge did I feel confident in my ability to do and teach from my experience.