What I’ve learned and am still learning at the CoderDojo Foundation

25 October 2017 · by Nuala McHale

Graham is studying computing at Dublin City University. As part of his third year work experience he got the opportunity to work for six months as a software development intern with the CoderDojo Foundation. Below Graham notes the benefits of getting practical experience, what he has learned and how he continues to learn, as well as the main highlights of his time with the Foundation.

I’ve been interning as a Software Engineer with the CoderDojo Foundation for six months now. My role has been focused on the development of Zen, the CoderDojo Community Platform which involves many different things such as implementing new features and designs, discovering and logging issues, fixing bugs, creating pull requests and testing.

The learning curve

Coming in to CoderDojo from the third year of my computing degree, I was proficient in programming in Java and C++ with limited HTML, CSS and JavaScript experience. However, Zen is written in NodeJS and Angular 1, amongst many other technologies which were all new to me so there was certainly a learning curve! I’ve really enjoyed learning to use all of these new (to me) technologies in a very real way and feel like I’ve gained a lot in terms of knowledge and skills during the six months of my internship.

Experiencing new technologies

I’ve gained experience in using the following technologies so far (to name a few): Git, IntelliJ, NodeJS, Angular 1, VueJS, SenecaJS, JSON, LESS, DUST, Jasmine, WebdriverIO, PostgreSQL, Redis and CircleCI. It wasn’t easy to learn how all of these technologies interact and how to use them but help is always on hand when I need it which is much appreciated and I’ve never once felt bad for asking a question of anyone! Indeed, the atmosphere of the office and the team as a whole is one of encouragement, inclusiveness and learning together while always having time for a laugh too. Because of this, I was able to overcome the technological learning curve quite quickly in the first month or so of working. That’s not to say that I’m not still learning, I still learn new things every day in work which is one of my favourite parts of the job but I feel much more confident now as a student developer than I ever have.

Understanding management practices

It’s not all about technology either, I’ve learned a lot when it comes to development and project management practices, particularly with regard to development of systems with microservice architectures and Agile development practices. Although I had studied the theory behind these practices in college, actually carrying them out each day has taught me far more. Examples of the practices I’m talking about are: user stories, daily standups, pair programming, test-driven development, agile tracking, retros, 15Five, extreme programming, IPMs, dev team meetings and general git workflow. Through experience, I’ve been able to see the value of each of these practices and how they all tie in to the successful management of a development project.

Taking a Break

In addition to these practices, we also take regular breaks as part of sustainable working as well as our hour long lunch which can be taken at any reasonable time before around 2pm (usually we take it at 12:30pm). Our shorter breaks generally involve playing foosball or table tennis for 10-15 minutes which is always great fun and a nice way to relax and not overload your brain too much! I always come back to my desk feeling refreshed and more alert after these, ready to get stuck into some coding! Sometimes, during our lunch we like to play a card game called “Exploding Kittens” which is a game of tactics, deception and luck and a personal favourite of mine despite never having played it before starting here.

As a whole, the office has a very friendly feel to it as we are a small team with a casual dress code (though most of us wear CoderDojo clothes because they’re awesome) and we operate in a shared, coworking office space (Dogpatch Labs) who promote the ideas of collaboration and learning from each other through their community events and such. It’s a very modern and “happening” where there’s always something interesting going on and it is an absolute privilege to be able to work there and be part of it all.

Highlights of the experience

A clear highlight of the internship so far has definitely been the Coolest Project exhibition in the RDS on June 17th which was such an inspiring event to be a part of! Seeing the projects that had been created by people so young was incredible and makes me feel very optimistic for the future of technology. I was an exhibitor on the day at the Foundation’s stand and I had the opportunity to speak to loads of members of the CoderDojo community and also those who were interested in joining or starting their own Dojos which was really awesome! We even had some people approach us just to tell us that they appreciate the work we do which was a really great feeling and a major motivator to keep working hard.

Overall, the whole experience so far has been much more than I ever expected as an intern and I’m delighted to have had the opportunity to spend six months working, learning and making a real difference in the global CoderDojo community! It’s been amazing to be working on real projects and seeing our work going live is always very exciting. it’s a welcomed change from college assignments and exams for sure and has opened my eyes to what working in the tech industry is really like. I can breathe a sigh of relief when I say, I think I’ve found my career choice!

Thanks Graham from all the team for all the work you’ve done to improve the CoderDojo platform to help support our global Community members so they can better enable youths at their Dojo.