freeCodeCamp is helping train thousands of Sri Lankans to join the developer workforce. But most people here still haven’t heard of the platform and the global community that built it. So me and my company, Fidenz Technologies, decided to help publicize it to our countrymen.

We went on stage at the Google I/O Extended Sri Lanka event and launched an initiative called {code_blooded}, with codeCampChallenges — a platform that hosts coding challenges.

The event attracted 2,300 tech enthusiasts. And over 200 attendees had registered for the competition. The challengers competed against each other to complete the greatest number of coding challenges within a limited time. And the winner not only claimed the winner’s title, but also won a free trip to Singapore.

LwThWPhK1hBpKS4NQifeFcH0JU6wvhQe-izX
The winner announcement

Background

Fidenz Technologies is a bootstrapped software development house based in Colombo, Sri Lanka. Like anywhere else in the world, we found it challenging to pick the right talent in Sri Lanka to join our company. The pressure was even more acute with increasing demand for the services we deliver.

Our strategy was to hire engineers who were still undergraduates, and then train them to become professionals. We provided training to selected undergraduates in many different ways. And yet it took us about 2 years to shape up our process to finally produce the results that we expected.

Here are the two main limitations that we faced:

  • Since we gave in-house training, we had only few trainees at a time.
  • It took senior engineers a significant amount of time to train and mentor these new recruits.

When we were a small company, we could survive these two limitations. But now we were looking for ways to scale the process to the next level as our resource requirements grow. Our mission was to make our process more efficient. At the same time, we would provide a model for other tech companies that have the same set of problems.

Bingo!

yfyXEZ-z21N7yI8mbXL5v4CRfSNFqp9X2ul3
Fidenz Technologies introducing freeCodeCamp and kicking off the coding competition

That’s when we came across freeCodeCamp (on softwareengineeringdaily.com slack channel). This platform does almost the same thing that we do, but without the limitations , or at least most of them.

We agreed, from now on, to rely on freeCodeCamp to train our fresh recruits.

Yet, in Sri Lanka, freeCodeCamp had not yet gained the popularity that it deserved. It only had two Facebook groups, each with 200+ members.

That’s where we decided to take the lead and make freeCodeCamp better known to the local tech community. We wanted to make sure that Sri Lankan future tech geeks get the best out of freeCodeCamp and become pros at coding.

We took this opportunity to introduce a couple of other things to the freeCodeCamp curriculum. This included the learning materials for iOS, Android, and .Net, which we already had as part of our offline training process. We were also aware that these new technologies would not be as interactive as HTML/CSS/JavaScript are within the freeCodeCamp framework.

We finally decided to go with the name {code_blooded} — which perfectly sums up our intent. All we want is to make whoever is serious about programming feel like coding is in their blood. The goal of our program is to make them {code_blooded}.

Google I/O Extended Sri Lanka 2017

yq-a1Uaax8pcD7afxjNgOdSZSf6kiaX3jnwn

The ideal forum to launch {code_blooded} was at one of the most-anticipated events among the tech community, Google I/O Extended Sri Lanka 2017. Due to the 14-hour time difference between San Francisco and Sri Lanka, Google I/O Extended is an overnight event in Sri Lanka. Until the keynote begins in San Francisco, the event in Sri Lanka has tech talks, product launches and many more sessions around the main event.

To take advantage of this schedule, we pitched the idea of launching {code_blooded} as part of the Google I/O Extended event, organized in Sri Lanka by Mobitel Innovation Center. The organizers welcomed our idea without many questions asked.

Our team came up with a coding competition which could revolve around existing challenges in freeCodeCamp. The team decided that whoever completes the most number of the challenges within 5 hours would be the winner. The organizers liked the idea very much. They even agreed to offer a fully paid trip to Singapore for the first-prize winner.

We were happy about how things turned out, and were confident in proceeding with the competition. After finalizing the decision, we had only a few things left to do.

The Devil is in the Details

tnL4m8NstcJlYi6-SZzJXrxpHNIY3bJu9We3
Fidenz providing the contestants with tech support through an online help desk with 10 engineers during the competition to ensure a smooth flow

A member of our team realized that the answers to all freeCodeCamp questions were available in either the freeCodeCamp wiki or in the profile of any camper. This was a complete disaster and a clear no go to host a competition using freeCodeCamp. Per our agreement with the organizers, we had already crossed the point of no return. This meant we had to somehow host a coding competition at Google I/O Extended Sri Lanka 2017.

The only way out for us was to find a solution, and we had to host a clone of freeCodeCamp for this competition. Setting up this clone website came with several challenges, so we modified it to suit our requirements. We decided to:

  • Introduce a new registration process
  • Make all solutions private
  • Build a leader board
  • Come up with new challenges
  • Deploy and test the new platform

We named our platform “codeCampChallenges”, which defined the purpose of the competition.

The biggest challenge that our team experienced was to fit all these into a 6-day agenda. Our team had to work hard to come up with challenges that could last for 5 hours. And, assuming there could be a couple of super geeks fighting for the first place, we had to work extra hard to make the challenges tough enough.

We imported the bulk of the questions from freeCodeCamp, and altered 80 JavaScript questions. Five of our engineers included 5 algorithmic questions in the line of challenges. We wanted our team to show the contestants how tough it could get. They did a very good job making the questions complicated enough.

As a team, we went through all the tailor-made questions, rating them from 1–10 based on the level of difficulty. Those questions followed the 80 questions from freeCodeCamp, with the most difficult ones at the end.

We also set up some guidelines to ensure that the competition was fair and square. The guidelines included:

  • If a contestant skips a challenge, scoring will only take place up to that particular challenge.
  • The candidate who has completed the challenges in the least amount of time will be the winner.

We setup codeCampChallenges in Heroku. Heroku is a platform as a service (PaaS). It enables developers to build, run, and operate applications entirely in the cloud. Since freeCodeCamp was also originally set up to run on Heroku, we didn’t see any reason not to take advantage of the same platform.

We did some stress tests to make sure we had enough server resources. We also had to be certain of its effectiveness with 10 Performance-M/L Dynos. None of us wanted to take a chance of failing.

Utilizing the LiveChatInc.com 30-day free trial, we integrated LiveChat into our platform.

Meanwhile, the organizer instructed the registered users to bring their laptops and chargers.

All in all, we managed to get everything done on time. Hats off to all those who worked hard to make this launch a success!

D-Day

When the event arrived, we opened the competition to an audience of 2,300 tech enthusiasts. Over 200 users registered for the competition and started the challenges.

LiveChat turned out to be the lifeline of this competition for troubleshooting. Many people ran into trivial issues. That didn’t stop them from finishing as many challenges as possible within the given time.

Out of 200 plus contestants, about 150 ended up contacting the help desk via LiveChat. We had deployed about 10 of our staff members to provide the competitors with online help. Our team had so much fun helping the contestants get back on track. In fact, as a team, being tech geeks ourselves, we realized, we are pretty serious about tech support.

During the 5 hours, about 50 competitors had completed 30 challenges. But it was only the best who could claim the winner’s title. Ashan Beruwalage completed 85 challenges, winning a 3-day tour package to Singapore.

What’s next

With the launch of {code_blooded}, freeCodeCamp received publicity and attention from the tech community in the country. The grand success of this event has given us the energy to take this program to the next level of development.

We now look forward to hosting monthly study group meetups from August onward. We also have plans to visit four government universities over the next year, to promote freeCodeCamp as the best tool to start programming.

Fidenz Academy is the unit of Fidenz Technology which trains graduate and undergraduate students. A selection of students for the Academy use a clone of freeCodeCamp. Most of the training uses freeCodeCamp as the platform to deliver the training and test individuals.

To host a coding competition, or set up freeCodeCamp to select candidates for hiring or training, we have the full platform available. We are more than happy to assist you to host the session and see things through to the very end to ensure a smooth run. Feel free to reach us via our contact page.

Thanks for reading!