The beginning of my career was using Perl for web development, and then on to PHP. I had great working knowledge of both but never dove too deep into the language. A few years into it I got an itch to pursue a certification for PHP, though in hindsight I wonder if it was mostly due to encouragement from my employer. I never held much stock in certifications like this, especially since the test was all web GUI point-and-click. It certified my knowledge of the language, not necessarily any skill. I failed the practice test(s) by only a few points, so I studied the parts I did poorly on, and then proceeded to the actual test. I failed that too.
As I mentioned, I don’t hold much stock in certifications anyway…
I was quite late to the Ruby party. I don’t recall the years, but while I was happily doing my PHP and reinventing the wheel for every project, I kept hearing about this RoR thing. A good friend and coworker dove in to RoR some and liked it, so I needed to check it out. This was right around Rails 1.x I think. At first, I made the rookie mistake in learning Rails before I learned Ruby. For whatever reason, Ruby just didn’t click with me. My fingers rejected it, it was too magical.
By some chance I stumbled on Python and Django, both of which clicked better for me. Python was more C-like, which appealed to me at the time, C being the first programming language I learned. Django too had this slick admin built-in which was near perfect for most of our use cases at the consultancy we were at.
My coworker and I decided we needed to advance the consultancy into the next level, so we arranged a quick demo of both Rails and Django to our boss. We presented a simple MVC app in both, highlighting how easy CRUD and other simple things that we tend to reinvent were already done for us. “This cuts development time”, “more industry standard” things, et. al. Our boss was impressed with both, so he took some time to think on which made more sense for the company, and about the direction we should go.
In the meantime, my friend and I discussed just simply doing an upcoming project in either of the frameworks, without consultation or approval. “Just make the leap” and get rolling. Ultimately though, we did not make any leaps, and waited to hear what our boss thought.
Weeks passed and no decision was made. The topic never came up again. The status quo was kept. We continued to reinvent the wheel with every project in PHP. No leaps were taken, no one leveled up. We stayed the course. Within a year, my friend left the consultancy and went on to bigger things. My career became stagnant in PHP land, reinventing wheels.
I don’t blame my then boss; he’s a good guy. As a small business owner, I think he felt responsible for a dozen families, and I can only imagine that taking risks like this was unsettling.
I blame me.
I wish I had asked for forgiveness, instead of asking for permission.
I wish I had taken that leap.
Take your leap