I Saw The Beauty Of TDD At Coderetreat

Coderetreat Sri Lanka was a big event organized by Exilesoft (pvt) Ltd. I know the effort they took to make it happen. I was the one who created it’s FB fan page and Twitter account. So I’m still getting notifications on comments and likes. I would say, the event was a great success.

 Johannes Brodwall was the facilitator of the event. I would better use the words, “a passionate geek” to introduce himself.

He conducted a two hours cyberdojo session for Exilesoft employees and it was a great event. Then I was lucky enough to get an opportunity to take part in the main event, Coderetreat.

What I learnt at Coderetreat

  • Effective pair programming
Just because I’m from a local university where friends help each others, pair programming is not a new thing for me. Exilesoft culture also support pair programming and I also love to have someone next to me when I debug. I learnt how to pair program effectively at the event. It is you write the test and pass your keyboard to your partner to make the test pass. Johannes calls it “Ping pong”. The keyboard moves between you and your partner like the ping pong ball in Table Tennis. Pair programming helps you to focus and save time.
  • True value of Tests
I learnt to write tests at Exilesoft.(Thanks Savani, Sugandika and Ovini for teaching me how to write tests). I had to write tests for my code just because they practice TDD. Though the tests help me to find my mistakes easily, sometimes we used to writes tests only for main CRUD operations. I understood the true meaning of TDD when I code at Coderetreat. Tests not only reduce the time spend for debugging, it will also help you to solve algorithmic problem steps by step manner. In Johannes words “Test is the common language between you and your pair which you use to communicate when coding”.
  • Learn from each others
As I said earlier, Johannes just acted as the facilitator of the event. He didn’t conducted a lecture there. He only gave us a problem to solve (the print diamond problem from cyberdojo) and he answered our questions.You can find one solution for the print diamond problem from my friend, Eshan’s blog.  I helped two guys who have never practiced TDD before to write tests. I’m so happy that they caught it so fast. I also met two Senior Engineers Madura from Exilesoft and Ruwan from Virtusa. I mainly learnt C# and how to write appropriate tests from them. Ruwan was brilliant and the way he approached the new solution amazed me. It also motivated me to learn more. It was a great opportunity to code which such seniors who have years of experience in the industry. 
Many more things to write about Coderetreat. But it seems this article becomes bit longer. So await for the part 2.

Photo is taken from Coderetreat’s FB fan page. Photo credit goes to Hasitha Wijesuriya on behalf of Exilesoft.
My favourite quote from Johannes is “It is said, Don’t attach to things in Buddhism. So take a deep breath and delete all the code you wrote”. Believe me friends. We had to delete all the code we wrote within 45 minutes and re-wrote it with another partner from the very beginning with tests. It gives us the freedom to think differently and try another approach. Simply, it gave us the opportunity to improve our code. It was amazing. We found that we don’t need to write some tests when we move on. That is the beauty of it.

I really appreciate the effort Exilesoft took on behalf of Sri Lankan programmers. Thanks a lot Johannes for changing our attitudes and giving us an awesome lifetime experience.


Author: Harshani Nawarathna

Sri Lankan woman in Computing

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s