So long and (and no thanks for the
externalities) goodbye! Rails Girls Summer of Code
2015 has come to an end, and, as it has always been, it has been a sad farewell.
For 3 months, we have been coding and learning evything that we could about
this amazing world that coding is. We have not only learnt that coding is
fun but also that the people who code is perhaps the most kind and most
willing-to-help people on the world. Throughout this 3 incredible months we
have got in touch with people from all over the world who, without any kind of
compensation, was always been there to help. So for everything that has been
done and taught, thank you all!
In general, it was not only about learn technical skills… it goes farther than
that: it is a personal experience to prove yourself that you
can do things that you never thought you could. How important is for a
person to get this knowledge when he/she doesn´t know nothing about programming,
like running a server, creating a controller from the terminal or doing a “push”
on git? It´s so important as it encourages you to try new things. So, for sure,
“this is not the end. It is not even the beginning of the end. But it is,
perhaps, the end of the beginning.”
Soo… how was it?
FYI, we were (well, actually, we ‘are’) TeamRubyGirlsQuito from Quito, Ecuador. Our
work was to implement Braintree Payment gateway, allow Bitcoin payments and
implement a deactivate button for the amazing LEAP web app. And even though, we
knew nothing about crypto currencies and payment’s gateways, we managed to learn
everything about them (well, maybe not everything, but, at least, a lot).
Working with LEAP was, in a word, amazing. It was like a dream come true to work
on an application that works with encryption and, so far, it has motivated us to
learn more about encryption (or, al least, to read a lot of books about
cryptography). So, we think that Rails Girls Summer of Code is one the most
amazing experiences we will ever have. We know that all of the things that we
learnt on this summer, all of the people we met, and all of the nights and days
we spent coding will be part of our fondest life memories! :)
Pretty much what implementing Bitcoin feels
like (image from www.bidnessetc.com)
But apart from everything that was learnt (git, Rails, the evil haml,
javascript, bitcoin functionality, Braintree functionality, etc.) we had a
really great time while meeting people from all over the world. Even though, we
only had one amazing coach (having Batman is always enough!), we got help from a
variety of people. We couldn’t be more thankful for the help that was given:
from Erlang’s master Dave Cottlehuber from whom we
learnt that MacPorts are the evil and should not never (NEVER) be used, from
stackoverflow’s boy Raki, who helped us even though
we only met him at Stack, to Colombia’s rails core member [Guillermo Iguaran]
(https://twitter.com/guilleiguaran) (thanks so much for all the tutorials,
for all the amazing discussions about logic, Turing and Hilbert, and for all
of the sleepless-nights in which you helped us to understand ‘fake-braintree’).
Thanks to LEAP guys (Thorsten, Azul, Elijah, Klaus and Christoph) for
everything… You’re, indeed, amazing! Thanks to the Rails Girls Summer of Code
and ThoughtWorks! And of course, thanks so much to our amazing only coach,
Batman! As the “real” Batman would say:
“a hero can be anyone. Even a man doing something as simple and reassuring as
putting a coat around a young boy’s shoulders to let him know that the world
hadn’t ended”. (You’re our hero ;) )
Soo.. Thanks so much!! RGSoC has taught us not only how to code but also that
there is people building a better world while coding, who we will always give
help to whoever needs it. And, lastly, it has taught us that no matter how
many bugs there are, no matter how many nights you haven’t slept and no matter
how many dreams you had about your code, at the end of the day to see
your code complete and useful is, in a word, priceless.
“One of my most productive days was throwing away 1000 lines of code.”
– Ken Thompson
Oh, Sean Bean, we love you so much (image from:
worldbuilderblog.me)
To say that these three months were great would be an understatement. We had so much fun, we learnt a lot, we faltered, made
mistakes, and interacted with so many nice and humble people this summer. To be honest, we could have never imagined how warm
and welcoming the open source community would be to newbies like us. Not only our coaches, but the whole RGSoC community was
super helpful throughout these three months - no question was dismissed as small or trivial, and help was always found on
hangouts or on Slack. A very special shout out goes to Kashyap, who took extra efforts to give us Ruby lessons on Google
Hangouts even during his busy office schedule.
To give a brief about what we had been up to - the first half of our summer was about creating a demo app for the Rails Admin
gem, something which could be linked to the Rails Admin website and could be used by people to play around with. While we were
ready with the initial app very soon, we stumbled when the time came to write tests and deploy the app on Heroku. Having no
prior experience of the same, it was challenging at first, but we soon got a hang of things and started enjoying the learning
bit.
When we moved to contributing to the core gem, we were introduced to the very encouraging and helpful contributors of the Rails
Admin gem. They suggested us what to work on, and what we could improve in our code - we could not be more grateful to the
awesome people who helped us throughout the summer!
Being a volunteer team, we were only supposed to give 20 hours per week to RGSoC, but hell, we were having so much fun, that we
would often find ourselves over stretching our limits and working on the gem just because we got so engrossed in it.
RGSoC has been an amazing experience, something that we will remember for the rest of our lives. It was great interacting with
the other teams on Slack and reading their status updates and the cool things that they were doing. It inspired us to do more,
and give our very best. Erik has been such a wonderful mentor - he gave us full freedom to work on anything that we liked in
the gem, and encouraged us to learn as much as we could in these three months.
Last but not the least, we are so thankful to the core team - for organizing this wonderful summer. You guys are the best,
thank you for giving us the opportunity to be part of something so great. You have given a remarkable beginning to our open
source journey.
Our project was to change all of the RGSoC participants lives… aka working on the RGSoC Teams App! If you paid some attention this summer, you might already have noticed some of the amazing stuff we did. Here’s a summary of our milestones:
The Teams App is now RESPONSIVE! A big deal in the 21st century. Try opening that app on your phone now!
The readme got a manual for newbies. Next year’s RailsGirls will profit from our startup problems.
The daily status update entry form is on a way more user-friendly spot
The activity stream on the root page has avatars and is streamlined
A “Fork me on Github”-ribbon for bigger screens
Seeds for the Job Offers
And for our fellow developers, there is a season phase switch in order to get access to phase-dependent settings
We left our cheesy mark on the FFaker seeds:
Oh yeah, cheesy lingo FFaker seeds.
###Master proof: Supervisor Dashboard
And let’s not forget about the milestone of milestones… creating a supervisor dashboard!
Under a namespace dedicated to supervisors, there is a brand new supervisor dashboard to enable them to better monitor their teams. This is how it was and how it looks now:
Quite the make-over, don't you think?
Look at all the shiny features. They can make notes, check upon their team, send a message to the organisation, read the latest status update of the students and see if they need some TLC, and that all at first glance. We sure hope the supervisors were as content as we were with creating this :)
###Ready Steady Go!
But…. how did we do this? We noticed that the warming-up period is very important. Installing everything, getting to know everybody, deciding on a (Git) workflow, getting everything working and… finding out that our knowledge of RoR wasn’t by far sufficient to substantiate our project goals.
So, Maud (formerly known as a trainer/coach) came to the rescue and created a learning plan that saved our asses. Big time.
We were like students back in high school and strictly followed the learning plan to get the hang of Rails’ fundamentals. The learning plan consisted of reading stuff, doing tutorials and exercising our new knowledge with playing around in no less than three sandbox apps. And don’t get misleaded by the word “playing” here. This period included bruteless code reviews and hardcore challenges by our coaches.
But we survived and thrived! The third month we worked on the supervisor dashboard agile style. In five sprints, we created the dashboard, in short and quick iterations, delivering working functionality with each sprint. WE DID IT!
###Screenheroes
And we could not have done this without our team of superb coaches, who knew everything from front- to back-end, from Git to Slim back to Javascript and of course Rails. Thank you for your time and dedication:
Wanna be my screenhero?
André Medeiros
Thijs Cadier
Yorick Peterse
Hans Gerwitz
Shannon Thomas
and Nathan Van der Auwera and Ariejan de Vroom, for filling in for the other coaches during their holidays
You have no idea how much we appreciate what you did for us. Thank you for your time, your lessons, your patience, your support - and the fun we had in between. But most of all, thanks for pushing us to do the best we could and for insisting that the code we delivered was clean code. In a few years, we will probably laugh at the coding challenges of this summer, but the bigger lessons will carry a long way.
Thanks Carsten Zimmerman for being the best and most generous mentor one could wish for. Your instructive code reviews took both our code and our understanding to a higher level.
We earned some decent GitHub credibility :)
Thanks also to Laura, who made herself available for reviewing and merging our many front-end pull requests - and being enthusiastic about it as well. And of course thanks to supervisors Lieke, who was able to fix two extra coaches on a crucial moment - thanks for your support, and Alexandra, who left a lasting impression on us with just two Skype sessions.
And let’s not forget… the organization! The people who enabled all of us to experience this life-changing summer #wecanteven.
The Rails Girls Summer of Code program was one of the best experiences we had in our life. By the way we are Team Hackrgirls; Anjaly Elizabeth is a good front-end developer and a passionate designer and Nidhiya - two crazy coders from Cochin, Kerala, India who believe in the awesomeness of “OPEN SOURCE“. Although we have participated in many coding events and all, we never got to work in a project that spans for 3 months. We still remember the wow moment, when we got the selection mail from the RGSOC organization. We never expect that we could be one among the worlds 16 teams who got sponsored for the RGSOC. And with all that enthusiasm we started the project on July 1st. We were working on one of the dream projects we had in our mind – impress.js ( a 3D presentation tool) with the one and only Bartek as mentor. We were literally thrilled to know that we got the great person behind the impress.js as our mentor. Katrin Kampfrath was supervising our project and she was supporting us through out the program. Even though our coaches were not getting sufficient time to help us out, our mentor was extremely supportive. There have been days on which we got stuck with some bugs. And Bartek was more than happy to help us despite of the fact that he was very busy. It was like our mentors and supervisors were just a “slack message” away from us. The remoteness didn’t matter at all. Only thing is we had to convert the IST to CET most of the time. ;)
We were learning many things throughout the program. And we had to admit that we had a difficult time in managing our academics with it. We used to bunk classes, skip food and miss sleeping. But the perks of learning always kept us going. And most importantly we were enjoying the Summer Of Code. Nope. We will call it the Monsoon of code. Coz it was raining throughout these three months. During three months we also had set backs when Nidhiya fell sick because of food poisoning and Anjaly fell sick due to viral fever. But we cooperated well to complete the work. And the disrupted internet services and frequent power failures due to Metro work really made a hard time for us. Sometimes we forgot to update the log and it led to warning mails. With the frequent support from our mentor and supervisor we were able to complete the tasks in time. Towards the last month our supervisor got changed and Laura was given charge of our project. And on 27th we had the final call with our mentor and supervisor and we got chance to pull the code into the original repository of impress.js :D :) We were truly excited about it.
“Why did we sign up for this?”
“Why aren’t the test passing after all the time we put it? Sigh”
“Why all these errors? But my code was running yesterday? Arrgh”
“You mean to tell me no one has ever got the solution to this error since the invention of Stack Overflow?”
These are just but some of the few questions that kept running through our minds each time we hit a snag during the three months. After asking ourselves these questions in several occasions, you would wonder why we have such a hard time saying goodbye.
We had the most intense three months and we loved it. We learnt a lot: testing with cucumber and rspec, internationalisation, even some German. Awesome, right? haha. Great of all, we got to experience the beauty of open source since it was our first time to contribute to an open source project. Last but not least, we learnt to work as a team. Even when we were in different parts of the globe, we braved the distance and shared in the spirit of teamwork. These three months that left us glued to our laptops brings to our minds a beautiful quote that says “The roots [of coding] are bitter, but the fruits are sweet.”
MEET THE TECHYLITES
Resla & Esther (image by Techylite)
The Techylite team starred Resla and Esther as students, Percilla as the coach, Maren as the mentor and Alex as the supervisor. Alex used to check on us frequently through all available methods, be it Hangouts, Skype calls, Slack. These calls taught us several little facts about video calling over the internet. We are grateful to Maren for all those questions and merge conflicts we sent her way, thank you for having our back. We also thank tyranja for always being there to review our code.
Perci, we can’t even count the number of bugs and errors we sent your way every day. Your time, effort and care is much appreciated.
We couldn’t have made it without your support and encouragement.
(image courtesy of [giphy](http://giphy.com/gifs/thread-teh-riQw6Nc9i4sKc))
PROJECT SPEAKERINNEN
Our project, Speakerinnen, is a searchable web directory designed specifically for women conference speakers. Women speakers are encouraged to sign up and provide professional information, including their area of expertise, any previous conferences they’ve presented at, contact details, etc.. The aim of the app is to provide a way for conference and event organizers to find and contact appropriate women speakers.
During the three months, we put our focus on TDD and BDD. We were running tests on Speakerinnen using rspec. It was our first time doing testing and it was a challenge to find someone who does testing to help us. We later discovered that very few people tested their applications since testing is an arduous undertaking. We thus found ourselves hanging out on Google, Stack Overflow, Jumpstart lab and Rspec forums. We even borrowed books on testing (Esther who isn’t the greatest fan of books found herself reading the Everyday Rails Rspec by Aaron Sumner). We learnt the pros and cons of both rspec and cucumber. And then there is Github. To think there was a time we thought we knew how to use Github because we could write commits and push code is perplexing. Who knew Git was a whole complicated universe? Certainly not us (at the beginning of RGSoC). There is a whole lot of knowledge about Github that we’ve learnt that is incredible. There was so much inflow of information about git everyday such as git rebasing, git squashing, merging conflicts, cleaning the merge conflicts, creating branches and remote origins, writing good commits, etc.. We also got the hang of Postgres, FactoryGirl, Capybara and lots of gems. It is extremely difficult to summarize the challenges and successes of RGSoC out, but what matters is that we lived it and we loved it. In the end, we know so much (plus we are now asked a lot about rspec) to the extent that the Nairobi Tech Community has nicknamed us “The Rspec Girls” :)
(image by Techylite)
CHALLENGES
The main setback we encountered was the fact that we had very few people who understood rspec in Nairobi and we had to learn a lot on our own (which took much time than anticipated). Thanks to the Slack helpdesk channel, the late nights and Stack Overflow, we were able to work around it.
CONFERENCES
Some of the opportunities accorded to us after being part of the RGSoC include being invited to the Africa Hackon Conference in Nairobi, winning tickets to attend the GoTo Berlin Conference and being invited to speak at
2nd Annual African Women In Technology Conference to be held on October 15th 2015 in Nairobi, Kenya. Esther will be speaking at the Women in Technology Conference about her experience at RGSoC and on why more women should join the coding community. We are also looking forward to seeing you at next year’s Rubyconf Kenya, which we are organizing and may speak at.
Esther, Resla and Dorcas at the Africa Hackon Conf (image by Techylite)
WHAT NEXT?
Our journey just began. RGSoC has given us the confidence, skills and the attitude required for coding. With the opportunity we’ve been given, we hope to work on projects that are close to our hearts such as lowering the barrier for women/girls who who want to join the tech community. We are currently working on starting a Rails Girls Nairobi Chapter and we hope this goes well.
Dorcas, Resla, Esther & Chris (image by Techylite)
OUR APPRECIATION TO RGSoC
As much as we would want to write a beautiful vignette describing our gratefulness, words cannot express the joy we feel for getting this opportunity. We hope to continue contributing to open source projects and finishing translating Speakerinnen to Kiswahili.
Thank you. (image courtesy of [giphy](http://giphy.com/gifs/nintendo-thank-you-satoru-iwata-10dvjmLNHQ6O3e))