Rubyherzlein & The Rails Girls Summer of Code 2015
This summer is nearly over! Team Rubyherzlein has been working on the SoundDrop app at the SoundCloud office in Berlin since July, as a part of the Rails Girls Summer of Code 2015 Program.
So what have we learned during these three months? Here is the list of most of (but not all!) the topics that we covered with our coach, mentors and coding buddies:
Git, GitHub and Version Control
A brief history of Unix
Binary and octal numbers
Hexadecimal numbers
Testing
Pairing
Shells
Characteristics of programming languages: compiled vs interpreted, objective orientated, Functional, etc. example languages: characteristics, area of use etc etc
Databases + SQL
High-level vs. low-level languages
Database migrations
Stack traces (stack overflow)
Recursion
Regular expressions
Vim as a text editor
Inheritance in Ruby
SSL
_why the lucky stiff (Why_day is August 19)
Environments (and environment variables)
JavaScript and jQuery
Garbage Collector
Variable Scope
Duck Type
This checklist looks pretty long, actually we probably covered much more ground than that!
Image: Bitcrowd
Eurucamp
Besides working on the SoundDrop app and learning all those basics, we also attended two conferences this summer! For both of us it was our first ever tech conferences, and such great experiences. The first one was Eurucamp held in Potsdam, just outside Berlin. Eurucamp is a one-track conference that prides itself in its inclusiveness.
Image: Twitter/Speakerinnen
Its really cool that a tech conference with that many women were our first ever! It sets the bar pretty high for future conferences.
Image: Team Rubyherzlein
On the first day of the conference, we both coached at the Rails Girls Beginners’ workshop. We even gave a lightning talk about our experience with the Rails Girls Community! The main point of the talk was to tell the story of how we went from attending a beginners’ workshop to teaching it as a Rails Girls Summer of Code team only a few months later. With this slide we tried to tell what it’s like to be a RGSoC team:
Image: Team Rubyherzlein
Important elements include: the Rails Girls Community, SoundCloud team, our SoundDrop project group, the conferences we attend and our twitter community!
(Photo by Amanda Kievet)
Full Stack Fest
As Team Rubyherzlein we got the unique oppertunity to attend this years Fullstack Fest in Barcelona, which is composed of two separate conferences:
Baruco (Ruby Conference) + FutureJS (Javascript Conference) = Fullstack Fest.
First of all, we would like to thank everyone who helped us make this trip possible:
Erik, Alex Duana, Tam, Txus, Jano, Sara, Sergio and George!
(Photo by Amanda Kievet)
our personal highlight was it to meet Matz in person. We guess it’s always good to get to know people who have achieved something incredible in their life and experience them as a normal human being. Us being total beginners, it was great to joke around with Matz and ask him all the questions we always wanted to know about ruby and its creation process. Matz is a very authentic and kind person. It was great that he took so much of his time to chit chat with us. Now, our motivation to become a top ruby developer has exponentially increased ;) !
Image: Team Rubyherzlein
It was great meeting so many people from the ruby and javascript community. The random lunches as well as all the other offsite events were the perfect setting to have longer and more intense conversations and made the whole week feel like a big friends & family meetup.
Image: Team Rubyherzlein
The last three months have been both challenging and rewarding. After the summer, Nynne and Franzi will continue to code, continue to learn with all the tools and connections made. You can follow our journeys on @WlFranzi and @nynnest.
Sophia & Boryana & Andrew Radev, RailsGEnthusiasts Team (Image: Sophia & Boryana & Andrew Radev)
Hello again from our Team RailsGirlsEnthusiasts
As we all know there isn’t endless happiness, unfortunately, but we think we could change that :)
The expectations that we had at the beginning :)
We actually hadn’t been prepared for everything that happened…and that is true because we didn’t know what to expect :)
How did these three months just disappeared?
Well, like it was yesterday when we were just starting :)
Part of the coding process, RailsGEnthusiasts Team (Image: Sophia & Boryana)
What have we achieved during the RGSoC?
At the beginning, there was a lot of reading, we mean (a lot) * 10 … and nothing left in our heads till the moment we started the real coding process :)
As you all know, it doesn’t matter how many books and tutorials you gonna read, the practice is the most important thing if you want to learn coding.
So, this summer we spent our time in reading and practicing, reading and practicing and listening to our coaches, and again, and again, and again. And the practice – coding was … :) you know … fascinating in its own way :) You can spend hours trying to find a solution or fix bugs etc. … but when you make it, when you see you have finished the task, well, you are full with enthusiasm to start with the next one … :) :) :)
What comes next?
As maybe, every team from this year edition of RGSoC knows that 3 months are not enough to learn all aspects of coding, we are eager to continue our training in RoR, JavaScript and further some other programming languages. ‘Cause our aim is to become Senior RoR Developers :)
This second blog post for the RGSoC will be full with gratitudes, but it could not be otherwise.
Lets’ start:
We would like to express our big gratitude towards our coaches during RGSoC.
Without the support of Andrew Radev, Tsvety Mihaylova, Marta Radeva and last but not least Dimitar Dimitrov, we would be able to understand nothing, nooothiing.
They gave us not only explanation, they were helping us, pushing us to continue to fight with the problem and grab the knowledge. They had the steadiness and patience to explain us everything and to share their knowledge with us. They were just like a kick-boxing coaches sitting in the corner of the ring and primed you up :)
We want to thank as well to our mentor Andrew Havens. Although the time difference was huge, we could always rely in his support and advices. Thank you Andrew for giving us the opportunity to work on RubyGameDev.com, which was a real challenge for us. The Project is a wonderful idea, giving a great opportunity for Junior RoR enthusiasts to develop their skills and if we have the possibility, we will continue helping Andrew with his Project.
Aaaaaand TheOryx – Thank you that you hosted us during the RGSoC and that this summer was a real one with your wonderful green summer garden and the breathtaking view to the Pancharevo Lake.
Sophia & Boryana & TheOryx crew, RailsGEnthusiasts Team (Image: Sophia & Boryana)
And we won’t forget InitLab Sofia which hosted us during the time we were not at TheOryx company.
A present from InitLab Sofia, RailsGEnthusiasts Team (Image: Sophia & Boryana)
(Oh, God, we feel as if we are on the Oscar’s awards ceremony… :) )…because now we would like also to turn to all RGSoC organizers: Without your brilliant idea and hard work to create this wonderful three-month event of coding, we would know almost nothing about how to create a real RoR Project, how to write blocks of code, methods, functions, tests, how to use Git, etc, etc…
Thank you Sara, Anika, Laura, Lieke, Verena and all other organizers, who participate in this great organization. Thank you, you are here for us!
Now, it’s time to finish writing our second blog post, as it’s time to start writing our code and tests for RubyGameDev.com as Andrew is waiting for our next pull requests.
Stay tuned for our next blog post about ‘dotJS’ conference in Paris ;)
During our summer, we’ve been working on the LEAP Encryption Access Project’s web app. Some email providers have been looking for a way to select the users who can sign up for their service, or to limit the number of new sign-ups. As a solution, we implemented a new field on the signup form that asks for an invite code: New users will have to receive one before they can create a new account. We also set up the necessary validations so that you can only sign up when you have a valid, unused code and built a way for admins to generate new codes to give out to new users.
Our finished invite code in action
Our coaching team was really helpful. We honestly can’t thank them enough for their time and effort. Almost every day, we had sessions with at least one of them and learned about a lot of new and interesting things. Sometimes we were just programming, other times it was more about theory and general coding knowledge. Some examples of the topics we covered are Test Driven Development (TDD), Continuous Integration (CI), CouchDB, (a lot of!) Git (oh Git, we tried really hard to become friends), project management and agile development…
Since we were mirroring our current work status and github issues on our kanban board, we have accumulated quite a collection of cards with finished stories. Every week or so, we dumped our signed-off issues in a big box to make more room on our board. We’re looking forward to emptying our box of completed stories when we finish the project and reminisce about all the fun and the struggles we encountered while resolving the issue.
What else we’ve done
We won tickets to two conferences via the first conference raffle. Luckily for us, we got into the conferences that are relatively near to Hamburg so we didn’t have to pay too much to get there. The first conference was the Eurucamp in Potsdam (near Berlin) where we got to know many other passionate Rails Girls. The other one was in Dortmund and was called Open Tech School (OTS) Conference, where Anke and I got pretty lucky! We attended two different workshops on the second day of the conference and were given a phone and a drone to take back with us to Hamburg. We held lightning talks at both conferences.
Lightning talks at Eurucamp (left) and OTS Conf (right) (Photos: Anika)
Because we were so impressed by the lively Ruby community in Berlin, we decided we needed a learner’s group in Hamburg as well. Our group is called “Hamburg Gem Sessions” and has about 7 attendees, which is pretty awesome given that we’ve only had a few meetups!
Not only did we go to the conferences proposed by the Rails Girls, but we also got a few opportunities to go to other ones, such as the Dine and Discuss by the Hamburg Geekettes and the Polymer Summit in Amsterdam.
On our international RGSoC day off (where we were supposed to spend our time doing anything but code), we decided to help at our local donation center for refugees at Messehallen. We were busy folding donated clothes for a few hours - a great feeling to leave the place just a little bit tidier than before!
Folding donated clothes on our RGSoC Day Off (Photo: Aya/Anke)
What we liked best about our Summer
We were really happy to get such a warm welcome from ThoughtWorks, our coaching company, as well as the whole Rails Girls Summer of Code community. We felt very lucky to always have a friendly, patient coach around to help us when we got stuck or to give us a session on software development.
Our team of coaches and burgers ;) (Image: Anke)
Beyond our everyday office life, it was great to feel like we weren’t just a tiny team of two working in isolation but instead part of something bigger, coding and learning at the same time as 19 other teams all over the world. Too bad we can’t all have one big meet-up with everyone because we’d surely have a lot to talk about and celebrate! But it was wonderful to meet some of the teams at conferences and get glimpses of other teams’ work on Slack, the blog and daily logs.
We also loved the welcoming atmosphere at the conferences and meetups we attended. Being just a small newbie burger in a big world of software development can be intimidating - but we soon discovered that people were very supportive and excited to hear about the Rails Girls Summer of Code. We gave three lightning talks about RGSoC and our progress to spread the word and were very happy with how friendly and encouraging the feedback has been. <3 You hear a lot about Ruby/Rails having a great community and we found out that it is really true.
Outside all that community love, it has been really motivating that there are some email providers out in the “real world”, waiting for this functionality to be implemented so they can start using LEAP. So we haven’t just been working on a sample application to prove that we’ve learned something (which is what one often ends up doing when learning to code, it seemed before RGSoC…) but instead were able to have real users in mind who will be using our work as soon as it gets implemented. We really hope they will like it! :)
What’s still left to do until the end of the summer
We still haven’t had the hamburgers by the Alster that we were planning on in our first blog post. That still has to happen!
Also, we’re excited to see our code merged into the LEAP project. While the main functionality is already done, we also still have a few features in our backlog that will make it even nicer to use, so we won’t get bored in our last weeks.
And what’s next?
Hopefully, we’ll continue to build our coding skills! We’ve learned a lot of things during those summer months but often, the questions grow at an even faster rate…
What learning felt like at times... Illustration: Anke
After RGSoC, Aya will be travelling on to California to attend Draper University and found her first startup! Follow her adventures at @ajafferson. Anke (@ankonym/ankonym.de) hopes to continue coding but will be distracted for a while by her side project: Her due date is in December to welcome a member of the next generation of programmers into the world.
Well, it’s after BaRuCo. We came back refreshed, full of new energy to work. We would like to tell you about this conference very subjectively, about our impressions, which consists of four elements: atmosphere, talks, community and Barcelona.
Full Stack Fest (Image: Ania)
Atmosphere
This is indescribable. The amounts of energy at BaRuCo is comparable to the energy at a concert of a popular rock star. A huge joy, warm applause before and after each talk, a lot of discussion and a lot of fun in the evening conference parties. A big plus for the organizers for a large number of women among the speakers. Ruby is a girl’s best friend. ;)
Talks
To be honest, we were not expecting to take so much advantage of the merits of such a conference. Meanwhile, even for such newbies as we, this conference was very stimulating, and giving new perspective on object-oriented programming. While our notes are mainly a list of incomprehensible concepts, which we now check in google, which is also learning. We definitely will be going back to those talks and we encourage you to watch them online when they are available. Our favorite was Sandi Metz with her “Nothing is something” talk. The way Sandi explains things is absolutely wonderful. In very simple and precise examples, we could see what the object-oriented thinking is, how inheritance should look like, what is a good composition and how to use dependency injection. And we definitely want to read her book “Practical Object Oriented Design in Ruby” - it’s waiting on the shelf. We look forward to the publication of all the talks, to be able to see them again and understand more. We very strongly encourage you to do the same. Many of the talks were on high technical level, but there were also others, inspiring with their uses of metaphors and comparisons, for instance comparing programming to building skyscrapers or to poetry.
This is one of our thoughts after the conference: even if you can not be at the conference - watch talks online!
We also have to mention that we met there a lot of famous people like Ruby chief designer, Yukihiro Matsumoto or Aaron Patterson from Rails Core Team. Yay!
On BaRuCo site we can read “It’s not just the talks, it’s the people”. And It’s really true. It’s very inspiring and encouraging how open and friendly people at that Ruby conference were. We were very surprised. People were willingly explaining to us, if we didn’t understand parts of the talks or some concepts, we could asked freely even about basic things and reactions were always very warm and kind. We would say that Ruby Community is a great environment for female beginner programmers. Do not be afraid to participate in such events and do not be afraid to ask for even quite basic things. Remember that there are always people who would support you.
And Rails Girls community is even better. We met Paulina & Maria - Rails Girls Barcelona organizers, and these girls are amazing! We shared our experience about organizing such events like Rails Girls or regular programming classes for women. It is really amazing how strong that idea is and how many people want to participate in this without any profits (besides lots of joy).
L-R: Ania, Basia, Magda (our supervisor) (Image: Luca) L-R: Basia, Magda (our supervisor), Ania (Image: Magda)
We’ve also met closer our super supervisor Magda and she is the best supervisor ever! We spend a lot of time with her and her colleagues from DaWanda. Thank you guys for a wonderful time and help in understanding talks!
And finally, Barcelona … very European city, vibrant, upbeat and interesting even just for simple walking down the streets. There are so many things you can do in Barcelona: there is a seaside and mountains as well. This never sleeping city is full of cafes, pubs and has plenty of interesting cultural and art institutions. We managed just to taste the artistic side of Barcelona and certainly we will go back there. Maybe next year for the next edition of BaRuCo?
Three months is a long time to go without a break, so we like to schedule a day
off mid-program. While it’s not required to take the day off, we highly recommend
that participants take it to regroup, relax, and do something other than
coding.
As has become the tradition, the Berlin teams got together for the HitFox/SoundCloud Houseboat party, which was a blast! It’s a great opportunity for Berlin-based organizers, mentors, coaches and students to have some offline time together.
Team Alster Hamburgers dedicated themselves to helping others on their day off, by volunteering at a Refugee Centre in Hamburg, sorting clothing donations.