Say Namaste to FreeCodeCamp Hyderabad

Building a cohesive local web developer community for Hyderabad, India

Kapil Dutta
5 min readSep 6, 2016

I started learning to code about two years ago. On the 16th of May 2014, I created a new Codecademy account. In the next few months, I learned the basic syntax of HTML/CSS, jQuery, PHP, Python and JavaScript . Then came across the Google Python Class, dropped everything and picked that up instead.

As you can see, I had no real clarity on what I wanted to learn. I had no focus, and ended up skipping over the basics. I was just spoon feeding my brain the syntax of all these languages and then moving to the next one. I was not learning how to think, how to build and how to solve problems.

Two things changed that for me — CS50 by Harvard and the FreeCodeCamp community. Just going through the first two weeks of CS50 taught me so much. But the real turning point was when I came across an article titled “A Cautionary Tale of Learning to Code. My own” by Quincy Larson. I felt a sense of comfort reading the coding journey of this random person on the internet, because I knew I was heading down the exact same path. He kept insisting that you need to focus, and provided a few resources to get started, one of which was FreeCodeCamp.

Around this same time, I also decided that I would skip college, simply because self learning was working far better for me. So now I had all the time in the world to do whatever I wanted. I ended up spending most of that time engaging with other campers in FCC’s Gitter chatroom. I’m going to be honest here, for me the community served as a far greater resource than the curriculum itself. I learned so much from the random conversations, and loved to help other campers out.

Source

I entered a pure blissful learning period right around the 2nd quarter of 2015. Until this point, I was not really challenging my brain. Solving the first few CS50 p-sets and FreeCodeCamp’s algorithm plus front-end challenges really pushed me to think hard, break down the problem into small units and figure them out individually. I was now finally learning the core ideas, not just the syntax.

In the 3rd quarter of 2015, FreeCodeCamp started encouraging their campers to create their own local communities, which we call campsites. Someone else had already created the Facebook group for my city, Hyderabad, but we were not active at all. I wanted to start organizing meetups, but was occupied with the startup scene here and was not really sure we even had enough people interested.

Skip to June of 2016 and I see a random post in the group asking people if they wanted to meet at a local coffee shop that afternoon. This guy (Ramana Venkata) just wanted to help people out with their personal projects. Couple of days pass, and I’m trying to convince him to organize the meetups for the community with me.

Now we just had to confirm a location and announce. All those startup people I met from last year were helpful and let us do the meetups for free.

Pair Programming Meetup at Collab House

Our first meetup was at a co-working space called Collab House, which was back in June. We had a turn up of ~15 people. One of them was even in the FCC core team — Arijit Layek, who has been a great asset for our community.

Currently we have around 10 different locations confirmed for organizing our meetups. Some are co-working spaces while others are office spaces. All pro bono.

Intro to Git and GItHub at Whiteboard Cafe

From the start, our goal was not to be just another meetup group, but a strong local web developer community. We wanted to create a mini-brand of our own. So naturally, we came up with various new ideas.

We’ve gone through many iterations since then. Ramana likes to say we’re in Version 6 right now. Some of our meetups were “Intro to Git and GitHub,” “Intro to Web Development” for absolute beginners, few pair programming meetups. We even did a session on building a basic clone of Flappy Bird!

Intro to Web Development at Progress Software

Our meetups are usually in either teaching or practice format. In teaching format, we basically pick a topic or concept and teach it while the members listen. They don’t necessarily have to follow along on their own laptops.

For the practice sessions, we just ask people to work through the FreeCodeCamp curriculum on their own, while the mentors provide guidance whenever required. We even encourage people to pair with others, to have a casual pair programming session.

A new format that we’ve come up with is called Live Coding Meetups, which is a merge of the above two formats. Basically, the mentors will be building a project from scratch, without any planning or preparation, while engaging with the audience. The goal is not to actually build the project, but to expose the attendees to the real time development process of experienced programmers. How do they approach a new project from scratch? How do they plan it out? How do they tackle errors and bugs?

It’s like watching a live coding stream but without the latency and better interactivity!

JavaScript Code Review at 91SpringBoard

We even have our own Instagram and Facebook page now! We also have our own GitHub Organization that we use pretty frequently. Some of our interesting community projects include the Flappy Query one, an interactive “Intro to HTML & CSS” teaching tool and a GitHub profile lookup. We try to encourage our members to contribute to these projects to gain experience with Open Source development.

Since our goal is to build an engaging developer community, we decided to have our own chatroom as well. Initially we had a Discord server and a WhatsApp group, but now are have moved to Gitter.

Pair Programming Meetup at Terminus Adda

Recently, we decided to take a break from code and organize a networking meetup for web developers. We just wanted everyone to get to know each other better.

Web Developer Networking Meetup at 91SpringBoard

We constantly keep asking ourselves, how can we provide more value to our members? How can we improve community engagement? Should we even teach concepts when all the learning material is available online? What is the best way to teach/learn software development?

In an attempt to answer those questions, we come up with some ideas. Theories that we experiment with our community. And no matter what the results are, it is always a positive learning experience for all of us.

And we’re just getting started! :D

--

--