Recently, our Lead Developer, Mike Sherov, contributed to and was mentioned in the release notes of the jQuery 1.7 release. For those unaware, jQuery is a premiere Web technology powering over 49 percent of the 10,000 most visited websites. It is big news for SNAP and for Mike. Here are his thoughts on the subject:
I’ve been doing Web development for years. My humble beginning was at a small agency slicing PSD’s to HTML and CSS. Occasionally, I needed a bit of JavaScript to do a neat effect here and there. For me, JavaScript was like a gateway language; after enough time using it I inevitably started poking around PHP, mySQL, and the full LAMP stack. My skills became refined, and my projects got more complex. One of those projects led me to Cliff Lerner, and I started working with SNAP Interactive in 2005 to build an online dating website.
Development, for me, came in plateaus. I learned a little bit, hit a wall, persevered, and got to the next plateau. SNAP Interactive provided me one of those rare opportunities to persevere. When Facebook Platform launched in 2007 and AreYouInterested.com launched later that year, I now had to learn how to scale.
The issue of scaling posed a terrifying moment in my development career. I didn’t ever think I would have to deal with the traffic on the scale of millions of hits a month. I remember the first time I tuned MySQL config values, the first time I implemented a memcache layer, the first time I implemented a sharded MySQL table (read about it on Digg), the first time I used xdebug to discover perf bottlenecks in PHP…. Scaling was no straightforward algorithm, no singular epiphany. Rather, it was a grueling tug-of-war, with every development trick getting me a few inches of rope, and every setback drawing me dangerously close to losing my grip on the site.
But I figured it out. Years of trial-by-fire and my personal experience in the trenches of Web development gave me an incredible sense of respect for the underlying technologies powering consumer Internet. After besting many of the challenges of scaling a successful site, I turned to another, now personal, plateau in my development career. I wanted to contribute to an essential Web technology. I wanted to contribute to jQuery.
Heck, I thought I was scared when I started scaling our site. To be sure, scaling our site was *technically* more difficult, but peeking behind the jQuery curtain was downright *spooky*. For me, the jQuery project and all the people who made it are the giants upon whose shoulders I stand. Where did I get off trying to contribute to such a well known and widely adopted framework?
Enter social coding and open source. Luckily for me, jQuery is not some monolithic, guarded fortress of private code. It’s on GitHub. You can fork it, add whatever you want, and ask to submit whatever you want changed. Quick, painless, granular communication. Even if you do not know exactly WHAT you want to fix, jQuery provides a public bug tracker so you can both report and fix bugs. There are style guides to follow, priorities to learn, and best practices to adhere to, but that happens inline, right in the code review process (thanks to GitHub’s slick interface). This is the social networking revolution, right?
For me, contributing to jQuery was as easy as following Paul Irish, Dave Methvin, Addy Osmani, even jqcommit on Twitter. It was as easy as answering some tweets in my own head. As easy as forking the project on a weekend, finding something I could fix in the public bug tracker, and writing some code. Before I knew it, I was submitting a pull request through GitHub.
After doing that a few times, submitting to jQuery became routine. The wall between myself and the next plateau in my career was behind me. The project and the people who were once so exciting and gigantic to me were mysterious no longer. They were just other devs, and I was developing with them. I’m very proud of that.
It’s hard to say that Twitter, GitHub, and the open source ideal had nothing to do with it. I achieved one of my own personal development goals with the help of some talented devs and the new age of collaborative coding projects. I was mentioned in the jQuery 1.7 release. I’m the “greenhorn contributor” under the “jQuery Team” heading (yeah baby!).
Now, after witnessing the power of these amazing new development tools, I’ve never felt more sure of one thing. When I think I am at a personal wall in my development career, it is really only up to me to persevere. The tools are there. I just have to use them.
Happy coding guys!
-Mike Sherov, Lead Developer, SNAP Interactive
The dev team at SNAP is proud of Mike. Well done, good buddy! Here’s to more contributions to open source software! Cheers!
The SNAP Interactive Team







