That picture is from a little over a year ago. I had just received a new hat and was vaguely buzzed from a job interview at Terrible Labs. Honestly I wasn’t expecting such a warm reception – I only got the interview after attending a meetup hosted in a bar in downtown Boston. I was unaware of the chain of events and truly interesting people that I would meet because of it. It all started with this picture, sitting at State Street Station, head full of Ruby code and a little IPA, unaware that I didn’t get the Job I just interviewed for.
Not yet, at least.
I distinctly recall wanting to be a part of any community that could produce someone like _Why. Ruby was a great programming language, the one that made the most sense to me at the outset – but it was the style of _Why that made me want to join the party. I started attending as many meetups as I could find, trying to absorb as much as I could. My github is littered with a number of aborted projects, sites born to familiarize me with a new concept and then left in the dust. I felt like most intermediate beginners do: like a living god (Note: That goes away, but not as much as you might think.)
I attended meetings and project nights, listened to lightning talks, subscribed to Railscasts. I began getting familiar with the different faces and companies in the area, meeting so many people who were just as eager to learn and teach. I felt very welcomed, and it helped me learn. Still, I was hungry for more, and I felt like I was just about ready to be hired by a company, if only I could find one that would have me.
Though I was nervous about going to the Drinkup, I wasn’t nervous about emailing the man with the beard who was in charge of that interesting company with the T-Rex logo. I forwarded him my Github account, and I was absolutely shocked when I heard back from him. I was on top of the world, well on my way to becoming the newest hotshot developer. I walked into the Terrible Labs office, meeting Jeremy (previously mentioned bearded fella) and the rest of the Terrible team. They offered me a beer, and I began to pair with some Terrible folks on a gem I had made – a dice simulator for RPG tabletop games.
Looking back, the gem was not pretty. So much documentation, so little code. My description was much less of a joke then: my gem really was just a wrapper for the ‘Rand’ function, one that you could call with a series of shake-and-bake constants. Despite all of this, Jeffrey Chupp sat down with me and paired on this silly gem for the better part of two hours. Jeffrey took two hours out of his day to help me roll fake dice.
Most tellingly, he’d continue to do it for the next seven months.
Within a week or so, I heard back that I was too new to get the job. Jeremy sent me an email that didn’t read as stock, describing the various reasons why they couldn’t hire me at present. Admittedly I was too green, way too fresh to be job hunting. But Terrible surprised me again: Jeffrey was interested in working with me further, helping me work through my problems and giving me a desk whenever I needed it. I had a mentor, and – as I would learn – a damn helpful one at that. I learned to appreciate how one-on-one help with code, combined with a helpful community, can really lift a new programmer. For seven months, I came in as often as I could. I’d code like crazy whenever there was downtime from my various jobs, and then come in and present my conundrums to Jeffrey. The entire Terrible Labs team would pitch in and teach me new tools, neat tricks, and things that I would not have learned without such a context.
Jeffrey is a fantastic mentor, more willing to course-correct than simply provide an easy answer. For my learning style, this is paramount – I’d much rather know what to Google than know what to type. As it turns out, knowing the former tends to reinforce knowledge of the latter.
One day I was working on a side project of mine and came to Terrible Labs for some more debugging. I sat at the empty desk, as I always had, when Jeffrey – who is as bad at lying as he is good a mentoring – began to ask me questions about my “current employment situation.” Within a week, I was his co-worker, and I met the rest of the Terrible team who have each taught me loads more than I would have alone. I am deeply grateful for their help, even if I occasionally repay them with mistyped commit messages and awkward Cosby-related humor. Y’see.
Last week, I attended a local project night and went toe-to-toe with local up-and-coming Ruby dev Alex Wheeler on the merits of Bootstrap (formerly of Twitter) and Zurb Foundation. It was a blast. Alex has come into the office sometimes with various programs he is working on, and it’s been a great experience sitting down and dedicating a few hours of time to helping him out.
Developers: you should know how important the donation of time can feel to someone just starting out. Programming is daunting, and it helps to have someone more skilled give you the time of day. Simple answers, nudges in the right direction, an invitation to email – being able to rely on these things can really help unstuck a problem and keep the learning momentum up. If you don’t already, please volunteer yourself, even if only for a few hours a week. That one simple gesture can mean the difference between a hopeful newbie and a salaried employee.
New folks: embrace the community. People can’t wait to help get you here. Take advantage of local meet-ups (I always enjoy the Boston Ruby Project Nights, myself). There are organizations like RailsBridge, BostonRb, and LaunchAcademy that are geared at ramping up new developers. Join mailing lists. Work on projects that teach you something new.
If nothing else, feel free to email me at alxjrvs (at) gmail (dot) com. I’ll do what I can to help. If I can’t offer some advice, I can definitely forward you to a local group or friend that will.
Until then, Keep Building.