Last week, I alongside my RGSoC teammate, Ipshita Chatterjee were invited to speak at Codemotion Berlin about our project during the summer, coala which is a static code analysis tool and about the program itself. While it wasn’t the first technical conference we were attending, it was the first time we were going to be giving a technical talk and hence, we were quite nervous. We also had a very strong imposter syndrome as many speakers came from stalwarts such as Google, Microsoft, IBM, Salesforce and we were just college students. Needless to say, our worries were totally unfounded and we ended up having a blast at the conference! Here is what we learned :)
Know your audience
As our first step towards preparing for the talk, we researched about our target audience and the conference itself. Codemotion guidelines stated that the attendees usually came from strong technical backgrounds and most of them were already pursuing careers in technology so talks were expected to be of intermediate/advanced level than beginner. This gave us an indicator that we could comfortably use technical terms in our talk and would not necessarily have to simplify the content.
Telling our story at coala.io, Image Credits: Ines
Tell your story
One of the earliest advice that we had received from the people who had given technical talks was to structure it in the most engaging way possible. We began by talking about how we had a very strong impostor syndrome before RGSoC and how we felt empowered enough to talk about it now, we talked about our process of choosing our project and interspersed the dialogue with anecdotes of why it is was awesome. Most importantly, we told our ‘RGSoC and coala’ story.
Practice, practice, practice (and engage)
One of the best things we learnt while preparing for this was that we were supposed to give a ‘talk’ not a speech. We were supposed to keep the material engaging, ask questions rather than just provide answers. And it helped us immensely. We didn’t rehearse the talk much, except being thorough with what came next and that helped us in having a really really successful first talk!
(L-R) Prachi and Ipshita from Team 200 OK, Marie and Ines from team NK42, Image Credits: Codemotion attendee
Berlin and Codemotion
It was our first time travelling to Europe, so we had a lot of fun in the city. We met up with other teams from the current and past editions (we also met a few people who applied and didn’t get in — so we encouraged them to apply again). Codemotion, in itself, was a very satisfying and enriching experience. Some of the talks, especially the keynotes, were very relevant to us as minorities in tech, and as new graduates looking to join the industry. We met with a lot of interesting people, networked, spoke to recruiters and in general, had a blast!
(L-R) Codemotion Berlin venue, Image Credits: Prachi
Codemotion and the entire experience of speaking at our first technical conference is something we will never forget! A huge huge shout out to the RGSoC organising team for giving us this opportunity!
GOTO conferences, “for developers by developers”, are incredible. I had watched GOTO talks on YouTube and was familiar with the quality of the conferences, so when I was offered a ticket to GOTO Copenhagen by Rails Girls Summer of Code, I jumped at the chance to attend!
What made this opportunity extra enjoyable was that my wonderful RGSoC supervisor, Inês Coelho, was also attending the conference, and we were able to finally meet in person! It was so much fun to spend time together exploring Copenhagen and at the conference.
Image Credit: Inês and Kara
GOTO Copenhagen was a three day conference with each day organised into tracks.
Day 1
On the first day, I followed the 360 Degree Developer track. The opening keynote of the day, Engineering You, by Martin Thompson was a thought-provoking discussion of what it means to be an engineer, including best practices for becoming a better software engineer. Dan North’s talk, Beyond Developer, focused on the importance of continuous learning and growth as a developer beyond programming into areas such as understanding the business domain, building user interfaces, and automating testing and deployment.
Mark Seemann’s talk on Functional Architecture was extremely pertinent to my current concerns: I’m trying to learn object-oriented design patterns and best practices. Mark’s argument was that many of these ‘best practices’ must be explicitly taught, and laboriously learned, because they don’t evolve naturally from object-oriented programming. However, many of these best practices fall naturally into place with functional programming. Fascinating!
Day 2
During the second day, I followed the Microservices track. I really enjoyed the process of watching a series of talks on the same subject, with each having its own specific take on the topic. The talks focused on microservices, serverless, and reactive design. A number of the speakers spoke on architecting a system using reactive principles and event driven design. Others spoke with great enthusiasm about serverless and AWS lambdas.
In contrast, Jesper Anderson compared microservices to what has been available in Erlang for 30 years and gave a more critical take on modern architecture design.
Day 3
The microservices talks formed the perfect context to the third day’s opening keynote by Adrian Cockcroft on Cloud Trends, seen from the vantage point of AWS. He emphasised the likelihood of the future being serverless and the continued growth of tooling to build, monitor, and operate serverless applications.
The third and final day, I mainly concentrated on Machine Learning and AI talks and really enjoyed Phil Winder’s academically grounded introduction to AI.
I’m very glad I jumped tracks to watch Laura Laugwitz’s engaging talk examining and broadening the concept of diversity as it is usually applied to tech.
Pop quiz! How many of the women in the slide below can you name?
Laura Laugwitz speaking at GOTO Copenhagen (Image Credit: Dajana Guenther)
(Answers to the quiz are given at the end of the blog.)
Linda Rising presented the closing keynote of the conference on Experiments, encouraging us all be more methodical in our decision-making and to test our assumptions! Wise advice to ponder as we made our way home.
Closing Thoughts
I feel very grateful to have had the opportunity to attend GOTO Copenhagen thanks to Rails Girls Summer of Code. All the more so as the conference commenced the weekend directly following the end of the RGSoC programme. I so loved my experience on RGSoC: three dedicated months to work on Babel, with tons of support from our host company Pivotal, RGSoC, and the Babel community, especially phenomenal lead maintainer Henry Zhu.
Here is Team Pivotal London presenting our work on the final day of the programme – and detailing how much we love RGSoC!
Team Pivotal London ❤️ 's RGSoC (Image Credit: Denise Yu)
Attending GOTO Copenhagen with my RGSoC supervisor, Inês, and meeting other RGSoC organisers there such as Laura Laugwitz, Nynne Christoffersen, and Tam Eastley was a wonderful way to celebrate the summer’s achievements and join the wider RGSoC community!
Three generations of Rails Girls Summer of Code participants! (Image Credit: stranger at a pub)
Answers to quiz: Ada Lovelace. Grace Hopper. Dorothy Vaughan. Evelyn Boyd Granville. Audrey Tang.
After a hectic three months, it’s hard to believe that our Rails Girls Summer of Code experience is coming to an end. This past week we celebrated with a few milestones. The first was giving a presentation to our host company, info.nl sharing all of our learnings and a project demo. We also threw an End of Summer Celebration for all of our coaches and friends in typical Dutch fashion - with bier and borrel by the canal.
Preparing for the presentation and bringing together our RGSoC community gave us a great chance to reflect on everything we have learned and accomplished over the past few months:
What did we build?
Our project requirements had two components:
1) A notification center where website admins can create and save notification messages to Worldbrain’s 4,000 users. Notifications can consist of anything from product updates, security alerts and new features. Notifications are then saved to a mongo db, and made available as an API.
A react app that renders both a form and list of notifications previously created and sent.
2) An addition to the chrome extension that shows users there are new notifications via a badge on the extension icon, and list that shows all the notifications, all in React. All unread notifications are bolded, and when it has been read it then becomes un-bolded. Each user’s read & unread notifications are saved and updated locally in the browser using PouchDB.
What we built this summer (Diagram created by Jess and Vanessa)
How did we build it?
From the beginning, we tried to stay organized and clearly communicate our goals for what we wanted to build and how to build it.
Before the project began, we created a mockup and a project milestone plan with agreed-upon weekly and monthly goals and objectives with Oliver, our Worldbrain mentor.
Once the project started, we made a daily log with what we did that day, and anything interested we learned with links. It’s really interesting to refer back to it now! Each day we had at least one sit-down where we’d ask about each other’s progress and maybe even teach each other what we learned or how to build something. For example, I taught Jess how to build a node server, and she taught me how PouchDb works.
After two months of research, tutorials, building and deploying, we finally built the minimum viable product of our project. For the last month, we refactored, tested and added new features to each component.
Lessons and Challenges
One of the best and worst parts of our project is that we were given free reign to build using whatever stack we wanted. It was very freeing and made us feel like our mentor really trusted us with making the right decision. However, as newbie developers sometimes we would spend days or even weeks researching different technologies, not knowing if we could overcome the steep learning curve for using React.
Anticipating time to build - this was probably the trickiest aspect. It’s really hard to predict and allocate time for building a new page or feature - because a lot can go wrong, and can totally derail the project. For us deploying via Heroku was a huge challenge and took over a week to understand why it wouldn’t work. But while discussing this with our colleagues, we found out that this is a normal problem even for senior developers, which made us feel slightly better.
It sounds cheesy, but we also learned that we really love coding! Spending three months day in and day out, peppered with agonizing failures and small victories, we loved every minute of it! Which is the best lesson of all from working on the RGSoC project this summer.
What’s next?
For now, we have an idea of what we want to put our skills towards next - Jess and a front end developer working with React and Vanessa as backend developer using Node.js. We’ve made a great impression on our host company and they’ve even asked us to work with them after the project - which is incredible and we feel so lucky.
We also want to continue building the Rails Girls Summer of Code community - we’ve started a RGSoC Alumni Facebook group to keep in touch and updated on events, conferences, life changes after this summer. So please feel free to join and spread the word :)
How to be an Ally in Tech stickers - let us know if you want some! (Photo taken by Jessica)
What a roller coaster ride it has been! It is disheartening to realize how soon it has ended. RGSoC is one of the most beautiful communities we could ever be a part of at this stage. We really learnt so much from our fellows and the community members. The best thing we learnt was giving back; giving back to the community which taught you multiple things, giving back to the society by helping out and supporting more people to get into tech.
What RGSoC taught us
We would not be able to thank RGSoC enough for all we learned through this summer. Let alone be the fact that we are now comfortable reading huge codebases (Yes, we got the opportunity to work with two amazing Projects :D). RGSoC gave us the visibility in college and other communities in our city. It opened so many new doors for us to explore and learn. Besides contributing to opensource, we learned new tools and technologies and improved our skill-set. It gave us motivation to be a part of the open-source communities and boosted our confidence of giving talks in their meetups.
At one such opensource meetup, Akarsha also met the co-founder of her early-stage startup ‘Invadex’ which she is going to represent in the Alpha program of Web-summit this November which is regarded as “The Largest Tech Conference in the World”. And because of our exposure with Scikit-Image, Ramya decided to pursue research with the Image Analysis and Biometrics lab of our college. This is how Rgsoc helped us kickstart our careers and grow a lot as individuals.
A big big thanks to Rgsoc for giving us the opportunity and for their constant support.
Our journey
Well, in short, the most amazing summer till date ! We spent nights working on a problem, had arguments, submitted proposals, shifted projects, volunteered at conference, met siraj raval, learned new UI libraries, gave talks, stalked data-science people together and what not. These were a small fraction of the awesome memories this summer gave us.
Initially starting with Susi AI server as our project, we were happy to work on artificial intelligence for chatbots, though rule based. With no timeline in hand, we worked on random issues and created skills for susi. One month gone, we lost the excitement without the inputs from the mentors and looking at the situation, orga team changed the project for us. It was a blessing in disguise since we got to work with Scikit-image. It is a python library for Image analysis. We were so lucky to get such amazing mentors. They assigned us the task of analysing the performance of fast_histogram wrt numpy histogram and benchmarking them for all instances in the entire repo which we successfully completed.
Things we learnt in these 3 months:
Proficiency with git
Jupyter notebook
Virtualisation
Image analysis in Python
Data extraction using API’s
Working of AI chatbots
React JS
Using Docker and Heroku
Our journey ahead
This is not the end, this is definitely not the end!! We are planning to continue to contribute to Scikit-Image. Apart from that, we are super excited to attend Websummit this November.
And we are Organizing Django Girls Lisbon on 5th November to let more girls fall in love with programming and open-source..
If you are there in Lisbon during that time, come join us!! :). Also, next, we’ll organize Django Girls, Delhi in December/January. And next to this, we’ll be going for Rubyconf in February’18. Also, we are now active members of the local communities and we will continue to learn and grow; and keep promoting RGSoC wherever we go !!
The summer’s over already? We had to pinch ourselves to let the reality sink in! However, looking back at the last three months, we are amazed to see how far we have come. Though we have previously interned at a few other places, it wouldn’t be wrong to say that the Rails Girls Summer of Code experience was one of a kind! Apart from giving us memories to cherish, it also marked the beginning of our Open Source journey. We were collaborating from three different timezones with our mentors Brandon, Nick, and team present in the USA, our supervisor Linda in Berlin and we here in India! This was something really unique. This was also the first time we were working in such a diverse setting and we got to experience that it does not matter what gender, country or race we belong to. It’s what we do that defines us and that is all that matters. Working with people from a diverse set of places is also very interesting as there is so much to share and know about people living outside the realms of one’s country. It was also great to learn about the experiences other teams were having and each story was so inspiring!
Thank you Rails Girls Summer of Code and OpenLMIS for having us this summer! (Logo courtesy: Google.com)
This summer we worked with OpenLMIS. We introduced OpenLMIS and the team in our introductory blog. Have a look at it here in case you missed it! When we jumped on the wagon, we wanted to make sure that we learn as much as possible through this program and with this aim in mind, we got our hands dirty both in backend services and frontend UI. The three major features we worked on are -
SMS Service
The idea was to notify users for any updates related to their accounts. OpenLMIS had an email notification service but there wasn’t one for SMS notifications. Since users check mobile phones much more frequently than emails, this feature was very essential.
Cordova Application
One of the essential requirements for OpenLMIS is to shift their web application to handheld devices. This was one of the major aspects we worked on during the summer. Cordova provides us with mobile development framework to build cross platform apps using Web technologies such as HTML, CSS, etc.
Mobile UI Prototypes
We enjoyed the most while doing this! The UI of OpenLMIS web application is more suited for desktop than for mobile devices. Over the past one month, we worked with Nick towards understanding user needs and coming up with lo-fi mockups to modify the present UI to fit in small screens.
What we learnt?
Some of our key learnings this summer -
Working and collaborating across different time zones!
Got introduced to RESTful Service and Spring BOOT.
Developing multi-platform mobile application through Cordova (which was something that we never tried before)
Playing around with the Docker Toolbox
UI Prototyping, understanding user needs, iterating over proposed models based on feedback and patience!
Much much more!
Thank you Mentors, Team and RGSoC!
We would like to thank our mentors Nick and Brandon from the core of our hearts. We haven’t met mentors as patient and awesome as them. We pestered Nick throughout the summer for minutest of troubles and he was always ready to help us out. Thanks Nick for actually caring about our learning and sharing very useful advice. Though we could not cover all the resources you shared with us, we will make sure to continue even after RGSoC. Thanks Brandon for giving us this amazing opportunity and connecting us with the awesome OpenLMIS community. We will always cherish this experience.
Our awesome mentors Brandon (Left) and Nick (Right)! (Collage courtesy: Protichi)
We would also like to thank the entire OpenLMIS community. We are grateful that we got to present the work in the Showcase meeting and the Product Committee. It was really fun and we got some really cool feedback. We were amazed by the diverse set of people working at OpenLMIS and we are sure this experience will take us really far. We hope our little contribution was of some help. We would especially like to thank Mary, Tenly, and Josh for their support!
From left to right: Mary (Product Manager), Tenly (Community Manager) and Josh (Developer). (Collage courtesy: Protichi)
A big thanks to our supervisor Linda for checking on us on weekly basis to know if things were going smoothly and if we were in need of anything. Be it providing information regarding conferences, blogs, or finding extra coaches, you were always a great help! Also, we are grateful for your reminders to make sure we don’t slack while putting up daily logs!
Our super cool team supervisor Linda! (Image courtesy: Linda herself)
Thank you Thank you Thank you RGSoC! For coming up with such a great community including developers, coaches, mentors, supervisors and participants and it keeps growing each year! This gave birth to a culture of collaborative learning and growing where easy and free exchange of ideas, skills and knowledge has been made possible! Thanks to each and every person making RGSoC possible! We also feel it wouldn’t be wrong to say -
Image courtesy - google.com and Nikita for minor modifications :P
We are also thankful to GOTO Berlin and RGSoC for giving us free tickets to attend the GOTO conference taking place on 16th and 17th November in Berlin. If things go as planned, we will soon share our experience at GOTO in another blog. Fingers crossed!
This is us, Protichi (Left) and Nikita (Right), bidding our final goodbye! Tata!
With a heavy heart we bid our final Goodbye! And we being hardcore Hitchhikers Guide to the Galaxy fans would like to say it in style - So long, and thanks for all the Fish RGSoC! ;)