HackNY, NY, Y?
22 Oct 2014
Recently, a lot of people have been asking me about New York. Sometimes, it’s regarding this whole “hackingNY” thing that I was a part of this past summer. And other times, it’s about my fascination with Manhattan and the greater NY area. But most of the time, the questions are just about how I manage to keep missing my flights out of Newark. But first, an anecdote.
A while back, I watched a movie that follows Justin Timberlake as he takes on his new job as the new Creative Director for GQ magazine. To add much needed drama, of course, Hollywood had JT relocate from Los Angeles, presumably, to the oh-so-packed metropolis of Manhattan where, upon arrival, he meets the arguably “gorgeous” Mila Kunis in what could be better described as a shitshow welcoming.
In a fashion as expected of a young and naive Calvin after watching a typical Hollywood RomCom, I imagined life as JT. I pictured myself sleeping in a huge penthouse apartment, leading GQ’s creative team from the seat of my personal room on the 42nd floor of a high-rise office building, and, of course, casually hooking up with Mila Kunis. New York seemed like an awesome place to be.
During my time in New York, I did not do any of the above. Instead, I stayed in a small NYU dorm room (for most of the summer) and worked as an engineer at a small startup in SoHo. And most surprisingly, not once, NOT ONCE, did I find myself hooking up with Mila Kunis (what a shame).
So it’s safe to say that living in New York was nothing like No Strings Attached (err, I mean Friends With Benefits). There was none of the glamour that JT so heavily bathed in, none of the exorbitant lifestyle that Hollywood so easily portrayed, and no Mila Kunis (okay, last Mila Kunis joke, I promise). Instead, there was a community of hackers that I can now confidently call family, a team of coworkers that, both, pushed me to become a better engineer and showed me how to gargoyle a keg (it’s a thing, look it up), and, admittedly, way too many visits to Saturdays and Two Hands. And I loved every single minute of it.
Before I go on, I need to establish that no blog post of any length will ever do the fellowship justice. My HackNY experience just can’t possibly be fully articulated in words. But I’ll try my best. First off, the nitty-gritty:
The HackNY fellowship is a 10 week program that brings together around 35 students from schools around the world to live in New York for one summer. The fellowship matches each student with a startup for a concurrent engineering internship. The fellows are connected with prominent members of the New York startup community including, but not limited to, founders, investors, journalists, and professors.
That sounds like an entry out of the dictionary, so let me explain. I spent ten weeks living in Palladium Hall (an NYU dorm) with around 30 other fellows, all of whom are brilliant engineers and, more importantly, amazing people. My fellowship class brought in students from colleges around the world, from as far West as Claremont McKenna to as far East as NYU Shanghai. These students are all amazing engineers who have all helped shape the collegiate tech community (or, excuse me, the hackathon community) into what it is today. For ten weeks, we lived together, went out to bars together, got kicked out of bars together, watched Germany annihilate Argentina together, made chocolate truffles together, and, of course, hacked together. Regrettingly, we did not go to any punk/metal shows together.
I spent my days working as a Product Engineer Intern at Skillshare. Every morning, I hopped on the 6 train from Union Square and got off the Spring Street station in SoHo. Most days after work, I would attend a hackNY talk by an awesome member of the NY startup community. In those ten weeks, I’ve visited a handful of well-known tech companies (think Buzzfeed, Foursquare, NYTimes, Codecademy, etc.) to hear from people like Joel Spolsky (StackOverflow), Samantha Jon (Hopscotch), and Fred Wilson (Union Square Ventures). Needless to say, most days when we had talks were long and tiring (I would leave my room at 9:30AM and probably get back at around 10:30PM), but I had no complaints. Everyday, I learned something new, and that’s not something I think many people can say about their internships/fellowships.
Those ten weeks went by way too quickly. By the ninth week, I sort of had this weird, unsatisfying feeling that I didn’t even get to bond with some of the fellows much. But yet, tenth week rolled around, and by the end of the last night (to be fair, I don’t think the last night ever actually ended, per say) we were all treating each other like family.
To say that the fellowship ended after ten weeks would be misleading. I experienced that first hand almost immediately after I left. I reunited with a lot of my friends and got to meet some of the alumNY. In fact, I’m typing this right now on a plane, on my way back from a hackNY reunion in New York. I’ve definitely developed even stronger relationships with hackNY and its alumNY these past few months, and that brings with it a feeling I just can’t put into words.
Interning at Skillshare
As a hackNY fellow, I interned at Skillshare, an online learning community that helps users master real-world skills through project-based classes. Most summer internships last about ten weeks. I was at Skillshare for just under four months, having extended my internship beyond the ten week timeline of the hackNY fellowship.
SELECT count(*) FROM team WHERE position = ‘engineer’
Six. When I started my internship, I was the sixth engineer on the team. Granted, there were a few engineers who’ve come and gone, but on my first day, there were 5 other engineers besides me. That was the first indicator that I was in for an experience unlike any other. It was different than what I was used to; my previous internships, prior to working at Skillshare, were all with teams of more than 10 engineers. From day one, I was treated no different than any of the full time employees. I was responsible for all of my own code, and contributed heavily to the platform codebase. There were several nights when I was the last engineer in the office, finishing up features for the next day.
Product Engineering - Move Fast and (Don’t) Break Things
One of the most valuable skills I learned while interning at Skillshare was how to analyze user interaction data and react to changes in that data. We were constantly experimenting, pivoting, and iterating. A lot of effort was put into A/B testing various features, user experience, and interaction flows; if something didn’t work, we would quickly rollback the changes or try something different. I learned how to make sense of different metrics by observing how the team utilized data analytics to support sprint priorities.
As an engineer, I often feel protective of my code; a sense of ownership often accommodates each feature/module/package I ship. As such, it’s often cringe-invoking to see a feature be scraped in the middle of production. Many times this past summer, I had to stop working on a particular feature because data showed that it was inefficient, or did very little to improve the platform. Several times, I had to drop what I was working to prioritize another feature or experiment. Though disappointing at times, I helped develop a more user friendly platform; through iterating and experimenting, I learned how to place the product before the engineering.
My internship started in May, near the end of the second quarter for the company. Sometimes, I wonder if it was just plain luck that I entered the company at the start of a new quarter, mainly because I was able to take part in the planning the goals and milestones for the next quarter. And on that topic, to celebrate the end of Q2, Skillshare rented out a huge beach house in the Hamptons for the quarterly retreat.
I mean, if that wasn’t the perfect way to start an internship, I don’t know what would be. We stayed in the Hamptons for a week, spending a lot of time discussing the goals and priorities for Q3. The engineering team, in particular, isolated specific aspects to focus on for the third quarter (i.e. platform stability, security, etc.). We spent most mornings working, but implemented daily siestas. It was an excellent opportunity for me to get to know the rest of the company, and by the end of the week, we were all sunburnt cornhole champions.
One of the most satisfying things was being able to see the company progress through the quarter. For example, during those few months, I think we went through at least 3 different membership models, working to figure out the optimal way to increase user conversion. Because my internship lasted through the entire third quarter, I was able to see which goals and milestones were met, and how the company changed as a whole through the quarter.
OKRs and 1-on-1s
Skillshare adopted a system of identifying goals and priorities coined by Google as OKRs (Objectives and Key Results). Essentially, each employee had to identify personal key results that they wished to achieve each quarter, quantifying each objective with key results that could be used to qualify progress towards the completion of the objective. In addition, each team would create team OKRs, identifying what the team as a whole would work towards. By establishing both personal and teamwide OKRs, each member of the team would be able to commit progress towards personal development as well as the development of the company.
Personally, I established three clear objectives for the quarter that I was at Skillshare. I wanted to
- Become a better full stack engineer
- Contribute a key feature to the Skillshare platform
- Help ensure the stability of the platform
I also established various key results under each objective (most of which I’m happy to say I knocked off).
- Become a better full stack engineer a. Work with technology I was unfamiliar with
- Contribute a key feature to the Skillshare platform b. Ship an essential component that would improve the platform
- Help ensure the stability of the platform c. Help diagnose an error or failure
Every week, I had a sync up with my manager, Angie, about my progress towards my OKRs. These were called 1-on-1s and they were opportunities for me to discuss what I had accomplished and what I would like to accomplish in the upcoming week. In addition to talking about my OKRs, I was also able to talk about anything else that I had questions about or other things I wanted to achieve. By the end of my internship, I had pushed some Ruby code to the Chef cookbooks of our dev environment (prior to this, I had never worked with Ruby), helped ship a data bootstrap component to reduce the number of AJAX requests, and took part in diagnosing a few critical bugs and failures.
Living in New York City