I come from a family of mostly educators and school administrators. So I guess teaching is in my blood. But when I was choosing my school and career path, education wasn't on my short list. The big decision was between Berklee College of Music for Guitar Performance or Worcester Polytechnic Institute for Computer Science. I began playing piano by ear at two years old and guitar at 10, so music was a lucky gift that I'd been given as a child. But I was also obsessed with taking things apart. My favorite toy was a Phillips head screwdriver, which I used to disassemble every toy I had — and eventually used to take apart my Tandy 1000 computer to upgrade the 8088 processor to an NEC V20.
In the end, I chose WPI for Computer Science, adding in a music minor and also a healthy dose of theater work. WPI requires three projects as part of your undergraduate curriculum, and one project pushed students to connect "science or technology with social issues and human needs." My project group visited a local middle school once a week to run a computers and technology after-school program. I learned a lot about the preparedness and patience required in teaching, and I enjoyed every minute of it.
Starting my working career at The Providence Journal in a job that required a programming language I hadn't used before was a fun stretch. "Here's every Perl book O'Reilly has published. You've got two weeks," said my first boss. I was the only programmer on the projo.com staff, so pair programming wasn't an option. With some studying and the help of my patient college friend Ant, who had lots of experience in Perl, I was quickly productive. And a few weeks later I was creating one of my favorite online services — a site that allowed local musicians to promote their upcoming gigs and to upload their latest tracks for viewers to stream. It wasn't long before I was asked to help mentor my counterparts at other newspapers and television stations to build their online services too.
My next work gig at Rhode Island Interactive tasked me with leading a small team to build services for RI.gov. I wanted to mentor other developers so I could accomplish more than I ever could alone. And the end goal had a big benefit for anyone who needed to interact with RI state government. Renewing your driver's license online vs. a trip into the DMV? Sign me up!
In transitioning active project development over to Ruby on Rails, I wanted an educational kickstart. I attended a Thoughtbot training session, and my unbelievably bright and patient teacher's assistant was a young intern at the time. Seeing that I was a little ahead of the rest of the group, he pulled me aside to show me a side project he was working on called Gemcutter. The project allowed anyone to freely and instantly publish their reusable Ruby libraries for others to learn from and use. Now that project is known by another name — Rubygems. And the intern, Nick Quaranto, was a great example of the best aspects of any programming community and another inspiration to never lose sight of the value of teaching others.
I attended a handful of Rails conferences, where I met other inspirational folks and found opportunities to help others — like assisting with two Kids Ruby classes run by Ron Evans of Hybrid Group. In another lucky break, Ron led me to meet (and jam) with other indirect mentors in my career — most notably Chad Fowler and Jim Weirich. When I heard that Jim passed away, I immediately went to the local music shop, bought my first ukulele and started learning how to play it. And Chad's book The Passionate Programmer, which should be required reading for anyone who works with code, helped me organize my thoughts around some big career decisions.
There are a few salient points to my long and winding background story and introductory blog post announcing my pleasure to join the team at MojoTech. Always seek out ways to learn something new. Put real effort into practicing your current skills to stay sharp. Teaching others is one of the best ways to solidify your skills. But simply helping and sharing with others may be the most rewarding experience you can have as an engineer, and the help I've received from these and many other friends has led me to where I am today in my career. As Chad's book says, "helping someone is a job you can't be laid off from. And, it pays in a currency that doesn't depreciate with inflation."
Extra credit from Joe Alba:
Now that you’re at MojoTech, what are you most excited about?
Having spent so much time writing software to make onerous tasks easier, I’m most excited about helping others bring their new business ideas to life. Both are very rewarding, but there’s something special about empowering people with big ideas and lofty goals.
If you weren’t an engineer, what occupation would you choose?
Musician, no question. I once described myself as a rock star trapped in the body of an insurance salesman.
What is your idea of happiness?
My happy place is being with my family and friends with some great food, and it’s just further enhanced if I’m personally at the grill with a cold beverage.
You’ve been banished to a deserted island with—gasp—no wifi, but lots of power outlets. What one piece of technology would you bring?
Is it cheating if I ask for my both my guitar and amplifier?
What do you enjoy most/least about engineering?
It’s so fun to talk to people who have tedious tasks that prevent them from performing other important aspects of their job and simply fixing that problem for them. But building something of lasting value is common across all fields of engineering.
Describe a time when you confronted a problem that really tested your engineering know-how.
There have been plenty of projects that made me stretch, but for some reason, the big test that stands out in my mind was live tweaking server configurations and website code to keep projo.com up and available throughout the day on 9/11.
What personal characteristics do you feel are necessary to be a successful engineer?
Patience, inquisitiveness, organization and strong Google fu.