Right now, it feels like more people want to learn to code than ever before. This may be due to the drought of talented developers and all the available jobs, or the allure of working in the startup scene. These reasons are probably relevant, but I believe the most important driving factor is a genuine eagerness to create, and learning the development process gives anyone the power to do so.
With this push for coding comes countless barriers, and tons of services can help. Codecademy, Processing, Bloc, iTunesU, Programr and P2PU are all great ways to get started, but beyond working within these tools, sometimes newcomers just need to spend time with other developers, IRL.
So. Much. Tech.
Some of the biggest names in tech are coming to TNW Conference in Amsterdam this May.
This is where Hacker Hours creator Aidan Feldman comes in. He decided to grow a meet up in NYC for anyone interested in learning to code, volunteering his own time to answer questions and help others get started. We spent to some talking with Feldman after attending one of his weekly gatherings to find out just how it all got started and to see what’s next…
HW: How did Hacker Hours begin?
AF: I had been meeting a surprising number of people at hackathons and meetups who were teaching themselves to code. I went through a traditional four-year (ok, five-year) computer science degree and still felt like I knew nothing, so I couldn’t imagine teaching yourself a complex topic like programming without having the support system of professors, TAs and peers around to beg for help.
I did a bit of private tutoring for coding, but having to pay an experienced programmer hourly for mentorship is a huge barrier to entry — it’s expensive, and simply doesn’t scale. In an industry with exploding demand, we need as much new talent as we can get.
It’s not that beginner coders need hand-holding – they just need help getting unstuck. The structure is somewhat inspired by Khan Academy: why not allow people to work through tutorials, books and projects on their own time, then just offer a place where they can come to ask questions as they come up?
People are always surprised that there’s no structure or agenda to the meetups — I simply make myself available for two hours every week, and bounce around and answer questions. I believe this is as effective and actually far more efficient than private instruction. Even better, if you have a bunch of beginners in the same place who happen to be working through similar issues, they can learn from one another.
AF: At the first Hacker Hours in September 2011, I sat in the Jux conference room for an hour and a half… by myself. No one came. Then right when I was about to call it quits, someone showed up. He was looking for help getting started with Rails, and within an hour we got his app up and running. He was ecstatic, and that excitement gave us both the motivation we needed.
It’s been running every week since. I think six people showed up the next time, then sixteen, then twenty-five, then thirty-five… It quickly got crowded around the six-person conference table.
Although the event is officially 6-8PM, people were showing up a half hour early, and around 9:30 I had to politely ask them to leave — everyone was just so eager to be there. At the end of March I moved it to Vineapple, a great coffee shop in Brooklyn. This gave us more elbow room and a steady stream of coffee. It allowed people to come and work as early as they wanted… and stay until the place closed.
HW: What sort of crowd do you attract?
AF: I’m not sure who I was expecting, but we have a very diverse group. There are folks with established careers in marketing or finance wanting to try something new, others with app ideas who want the power to build it themselves, others who have been programming for years and are trying a new language or framework. There tend to be a lot of Ruby/Rails, jQuery and WordPress questions, but it’s not language-specific. Below the surface, it’s usually a matter of understanding the fundamentals of programming or web development.
HW: Have other pro developers started attending the events to help out other newbies?
AF: If someone reaches out in advance with a specific question that I don’t know I can answer, I try to bribe friends who may have expertise in that area to attend. Sometimes I get lucky and other advanced programmers show up and offer to help out, which is better for everyone. The more the merrier!
It’s interesting how it’s evolved: early on, everyone was coming in with specific questions, so I’d run around like a madman trying to get to everyone. Over time there’s become more of a community, where a lot of the group just shows up to work amongst like-minded individuals and talk tech.
HW: I know you had a proud moment recently, where one of the attendees launched their first app. Could you tell us about that?
AF: There’s a regular who’s been coming to Hacker Hours for months — I think early on I helped him get Ruby installed on his laptop, so he was just starting out. He would come by every week with other questions as he worked on his first project, but I never really knew what he was building.
A couple of weeks ago he was there as normal, and waited patiently while I worked my way around the room. When I finally came over to say hi, he excitedly informed me that he finally launched his first app: a service for scheduling tutoring times between Burmese refugees and university students. He had apparently spent time in India after college in a program sponsored by the UN, but when they had to cancel the program, he figured the best way to help was to build a system for tutoring remotely.
I was blown away. It was a simple solution to a real social welfare problem, yet it still had personal significance…you really can’t ask for a better first project. The more people I meet at Hacker Hours, the more I’m astonished by all the interesting and diverse backgrounds.
HW: How have other members progressed?
AF: The refugee project was actually the second Hacker Hours newborn, and there have been other big achievements, like someone’s first contribution to open source. There are a lot of small “a-ha!” moments, where someone new to coding might spend hours at home banging their head against the wall, but someone glancing over their shoulder who’s seen the problem before can simply say, “oh, try X”.
HW: What’s next for Hacker Hours?
AF: I’d love to get a steady stream of other seasoned programmers attending. There is no shortage of people needing guidance, but I can’t always get to everyone, and others might have expertise in areas I’m not familiar with. I’d love to see them start up in other cities, as well.
AF: I see Hacker Hours as a complement to services like Codecademy, not a replacement. Online or offline courses are great to learn fundamentals, but they don’t answer questions when someone leaves the safety net of the curriculum. Stack Overflow, IRC and mailing lists are always available, but for newbies I think the difficulty is knowing the right questions to ask.
On a more practical level, it is much easier to have dialogue. I can rip out a sheet of paper and draw a diagram to answer a question, or I can talk them through pulling up their command prompt to debug. There’s no delay.
HW: Do you have any advice for anyone interested in learning to code?
AF: Have a goal. The difficulty of customizing a WordPress theme is very different from writing a web crawler, for example, so be realistic about the amount of time you’re willing to put in, and the skill level you need to be “effective” – whatever that means for you.
I also think a pet project helps — programming is hard, not to mention endless, so this will drive you to learn what you need, when you need it.
Lastly, you will spend more time on Google than you will actually writing code. No one tells you that! This holds true even when you’ve been doing it for a while: if you’re not having to do research to solve problems, then your problems aren’t challenging enough.
HW: For those looking to follow your lead, do you have any advice for starting and running a meetup like Hacker Hours?
AF: It’s very simple by design – find a space with adequate surface area, outlets and Wi-Fi, and commit to a regular time (even if it’s not weekly). This makes it easy for people to schedule around.
People are always surprised that I don’t have an agenda: everyone sits around with their laptops, and I walk over to whomever gets my attention first.
HW: How can local New Yorkers attend? Link? Schedule?
Do you have any advice to share for beginners just getting started? Let us know in the comments below! For more, check out TNW’s Design & Dev channel.