Building the Hangman Game

The first time that I gotta hear about the Code Newbie community was through an episode on the Giant Robots podcast with Saron as the guest. Being someone who has used Rails(for backend development) for a while along with very little javascript exposure, I thought it was time for me to level up my Javascript(frontend) skills. Overtime, I had come to realize that learning by doing is one of the best ways to get better at something and with that in mind I was looking for a javascript project that could help me improve my frontend skills. In my quest to find something on those lines, I was glad to find out that people in the Code Newbie community were(and still are) doing that kind of thing.

After exploring the Code Newbie site for a while, I ended up joining a couple of channels on their slack group. One fine day, Dan Berger the host of the Javascript Tuesday group had broadcasted a notification on the channel inviting interested folks to join the weekly Google hangout session to discuss more things around the current Javascript project. I just thought of giving this a shot(thinking that this might just be the opportunity I was looking for) and it turned out they were just in the initial phase of building a Hangman game that mainly uses Javascript. That’s basically how I got involved in this project.

Screen Shot 2015-09-06 at 6.48.32 PM.png

Initially, I wasn’t quite sure how exactly I could get started in terms of contributing to the project but I found that doing some of the JS resources mentioned in the js-tuesday-hangman project readme was a good way to get started. With time, I got more confident with my JS skills and soon I was ready to take up my first task for this project. One of the collaborators on this project(Mark Pearyer) helped suggest what could be the first task that I could take up. This helped in a way as I had missed some of the initial sessions since when the project had initially kicked off.

Taking up a small task for starters worked well for me and with time I was getting more comfortable with the overall code base. There were times when the task I had to work on was dependent on some code implemented by a fellow team member in the project. This turned out to be a good thing because with each such task that I had taken up, I realized that I had to understand how those things were implemented by another teammate before I add my changes on top of it. This way, I was not only learning new things in javascript from the code that I was writing but at the same time I was learning new stuff from the code written that was written by fellow contributors involved in the project. I didn’t think that I would ever learn stuff even through this way when I first started off but looking back I’m glad that I did this and I’m grateful to the opportunity that I got through the Code Newbie community.

Along with getting more confident with the javascript that I now write I also had the below takeaways that I’d like to mention about -

  1. Learnt how to use some parts of Bootstrap like using the Bootstrap modal and the related button CSS

  2. In one of the hangout sessions we had Saron to help us out with some prioritization for the tasks related to the project and from the entire discussion one major takeaway for me was this quote that she had made - “make it work, make it right, and make it better”. Come to think of it, this is what we do in the projects we work in. It’s just that we need to be more conscious about it.

  3. I’m from India and working on this project gave me the wonderful opportunity to work with a distributed team.

  4. In one of the tasks that I was working on, I wasn’t really sure if I was doing things the right way and I brought it up for discussion in a hangout session with others in team. After a quick discussion, I realized that I was think of approaching a solution in only one way. Just a different perspective from fellow team members helped me to realize that things were actually much simpler than what I had initially thought of. I learnt approaching a problem from a different perspective with no assumptions made(like for e.g., thinking that things can only be done in one way) could really help simplify a problem.

These were also those things I never really thought I’d get exposure to when I first started working on the project but I’ve come to realize that if one is more open to working collaboratively there is so much more to learn. No wonder things like pair programming, collaborative code reading etc., are so helpful :)

Apart from the things that I gained from being a part of this project I was also happy that through this community I had the opportunity to share my javascript and git knowledge with other code newbies involved in this project.

Lastly, I would like to say that the Code Newbie community is really friendly and people here are happy to help out. I would like to especially thank Saron for starting such a community, members of the Code Newbie team who keep it going, Dan for being such a nice host and the other members that I had worked with as part of the Javascript Tuesday group. Oh and btw, if you’d like to play the Hangman game that we built, you could do so on this link.