Friday, August 19, 2011

This blog entry was written by guest blogger, Tony Heupel, a Software Development Manager at InfoSpace.

As one of a few software development managers at InfoSpace, I’ve been afforded the opportunity to help make a difference while rediscovering the fun and passion that got me into programming in the first place.

Hacking on the Side

InfoSpace has been primarily a .NET shop for the last six years. In the last few years, however, some of us have been hacking on Open Source technology stacks for our side projects. We have been exploring fun ideas using Ruby, Rails, Node.js, and even Django. This side-hacking definitely isn’t my first go-round with coding for fun.

I started programming when I was 9-years-old on an Atari 1200XL. At that time, I would often have a random idea, sit down for an evening and code up something in BASIC and show it off to my friends when they came over the next day. As I progressed in my career at other companies, a lot of that simple joy was replaced with Big Design Up Front and lot’s of painful approval processes.

Well, the simple joy is back! I have certainly experienced a lot of what got me hooked on programming many years ago with the modern toolsets, especially Rails, HTML5, and Heroku. I can have an idea, piece together some gems, put a cool looking UI on it, and deploy it out for the world to see on Heroku in an evening!

Those of us hacking on the side have really enjoyed the sense of community and sharing so that everyone can grow in capabilities more rapidly together. It very much reminds me of when I started programming as well. We used to buy books and magazines where you could type programs in by hand and follow tutorials. We paid for a second phone line so we could use our 1200 baud Hayes-compatible modem to dial into local Bulletin Board Systems (BBSs). There, we would share programs, including a few games that perhaps were not public domain, code, messages, and get connected into local users groups.

Today, the code-sharing of the BBSs has been replaced with GitHub, the books and magazines by blogs and screencasts. The local interest groups still exist, but now, you can connect with folks all over the world who share the same interests as you. There are also tons of free podcasts that keep you up to date on both emerging technologies as well as the ever-changing social norms of the various interest groups.

The Green Light to Go Red (ruby red, that is)

Earlier this year, we embarked on an effort to see if there was a market for a new product. Our technology leadership team felt strongly that we should look at technologies like Ruby in order to quickly develop a Proof of Concept. Then, that PoC could eventually morph into a larger Pilot, and later, once the product looks to be a hit, we could figure out whether to morph the existing solution, or simply, rip-and-replace to achieve the real solution.

We were able to get that proof-of-concept out in just a few short weeks with only a couple of us working on it part time, using Ruby 1.9.2 and Rails 3! We were able to garner enough interest from potential customers to move into our Pilot phase. Three amazing things came out of that effort, from a technology standpoint:

If we had to rip-and-replace, either for the Pilot or for the final solution, we did not feel as if we had invested months of blood, sweat, and tears into the original solution. It served its purpose and was well worth the investment even if we ended up replacing most of it just for the technical knowledge.

As we built out the Pilot and started working on the production solution, we found that Ruby and Rails seemed to lend themselves to improvements through several refactoring or small rewrite phases that gradually improved the performance, scalability, and completeness of our solution. There is still a significant amount of the original code floating around, but it isn’t the scary, “Don’t-touch-that-legacy-code – It-might-break” kind of code. It fits in well with everything else.

We personally experienced our company leadership investing in us in learning technologies that were new to the organization and to us (from a day-to-day standpoint). They did not give us pressure when we struggled with experimenting new technologies, and we reciprocated by working hard to learn those novel approaches from the community. Because of this support, we really haven’t hit a major delay of any kind!

Passion, Pay and More People!

Imagine getting to work on technology that you were working on in your spare time, but at your current day job and your current salary! That reality can come true—it did for me. The leadership support, the ability to innovate and learn what I love to do has been an awesome experience I haven’t had anywhere else in my career.

We’re looking to add passionate people to our team of developers at InfoSpace. We hope to hear from some of the Rubyists and Open Source leaders we met at the Cascadia Ruby Conference we sponsored in Seattle last month, or anyone else in the Ruby community who is interested in learning, innovating and following their passion.

Get a better sense of how cool our team is on our YouTube channel. Below is one video clip of our friendly InfoSpace engineering team at the Cascadia Ruby Conference.

Please visit us at www.infospaceinc.com/jobs, find us on LinkedIn, like us on Facebook, or follow us on Twitter @infospace for more information.