We spent our summer of code working on the Nextcloud contacts app. Originally built with the Angular.js framework, we supported app maintainer John to migrate it over to Vue.js. With the date for the Beta release now approaching we can report our work has been successful and provided us with a lot of insight and knowledge along the way. Some of our work has also made it into the official NPM package for Nextcloud vue components
Team Popcorn’s top 8 highlights of the summer of code
Coding in person with app maintainer John
Docker workshop with coach Victor
First PR merged into vue branch
Social gathering with coaches and mentors
Learning Vue.js
Team meetings on the train
Trouble shooting issues together
Meeting contributors and our mentor John at the Nextcloud conference
🎶 Finding our Rhythm and getting Agile
Team Popcorn was committed from the start to creating a work environment that would allow both of us to maximise our personal growth and enjoyment of the summer. We held weekly meetings on Mondays which we ran in an Agile format. Its purpose was to refactor our work flow and analyse how we could increase our productivity, but also to improve our experience and allow for personal growth alongside contributing meaningful work to the project.
One thing we found was that by splitting tasks up into manageable and clear goals we felt a lot more satisfaction and less frustration with our work. At first we started working on our own fork of the project but we quickly moved over to our own branches in the master repository so we could keep our work closer to the master branch. We went further still and created issues and made branches for smaller parts of code so we could make more regular PRs.
We also had to address that we both work differently, have different knowledge areas and have different lives outside of the Summer of Code. Communication has been key and talking openly about our feelings has given us the chance to approach subjects before they became issues and ensure we were both getting what we needed from the programme.
As the RGSoC is about learning the skills for working in the tech industry, we also set up knowledge share sessions with some of our coaches to gain more knowledge on topics ranging from Docker to BEM and CSS structuring. We will also be running a few more before the end of the programme.
Team Popcorn’s update titles
For our daily updates we decided to create a format for our titles and turn them into popcorn flavours. We asked our coaches, mentor, family and well whoever was around to give us three things. The base of our question was a food, a colour and an adjective but we changed it around a little each week
Here are our top 6 flavours
Flaming Pink Spaghetti Popcorn
Pipoca brincalhona de Paçoca Amarela
Tired Grey Croissant Popcorn
Königsblau Reggae-Feverish Watermelon Popcorn
Lime Green Glamorous Praline Pecan Popcorn
Thankful #0082C9 Kumquat Popcorn
Arati
On this September day, with no distance from the program to provide perspective, I can safely say that the summer of 2018 is going to have repercussions on my work and life for years to come. Though I may not be able to articulate all the changes I have gone through, the degree to which I have been challenged is undeniable. One of the greatest benefits I have observed so far is that RGSOC has helped me become familiar with unfamiliarity.
Exhibit A: our first week of the summer of code. During this time I was introduced to Vue.js, the offices of Absolventa, working with a teammate (the indomitable Jessica), German keyboards, our wonderful contingent of coaches, RGSOC communication requirements and a gruelling schedule that would hopefully enable me to continue my new job as a full-stack developer while participating in the program. This is without mentioning the changes that were still to come. Having to juggle two remote repositories, a million local ones, strange forks, branches, trees. Vuex. The work process of the app maintainer (yay skjnldsv!) and collaborating remotely. Linting. Getting uncomfortable with CSS, up close and personal with git. What it means to migrate a project.
This constant exposure to novelty has proved to me in a clearer way than ever before that the strangeness of a new beginning doesn’t last. I can now much more easily see past my comfort zone to the day when it turns into a skill or an insight that I can call mine. This is how I was able to quickly fix a branch at work by cherry picking commits even though I had never done it before and to impress my boss along the way. The most significant aspect of the incident was that I sought out the challenge and I did so with confidence, i.e. feeling completely lost for much of the past six months, surviving and realising that coding is not nearly as fun when you know what you’re doing.
Dev.to(blog about software development/watercooler)
Jessica
I have certainly learned a lot about programming and contributing to Open Source during the summer, however what was perhaps less expected is that I have also learned a lot about work flows and team work. Our weekly agile meetings and talking with team mate Arati about how we could streamline our workflow gave me a lot of insight to how this may work in a future position. Something else that was new to me was working in an office environment. Both my previous jobs were more physical and in varying work spaces. I have really enjoyed working at our coaching company ABSOLVENTA’s office and I am incredibly thankful to them for providing us not only with computers and workspaces but also a safe, friendly environment to work in.
During the summer of code I was successful in finding a position as a software developer at Ecosia (the search engine that plants trees 🌳). I am so happy to be able to continue my journey and thankful to RGSoC which has helped me so much to prepare for this next step.
I am also inspired by all our coaches, mentors, supervisors and the RGSoC organisers to give back to the community. I am already actively involved in the local chapter of PyLadies and as part of my new position will be able to take time to lead community activities. I hope to be able to participate in future RGSoC sessions as a coach or supervisor and support others on their journey into tech!
Thanks
We definitely could not have done this without the support of the following people. Thank you for making our summer of code inspirational, productive, and most of all fun!
We can’t believe time went by so fast, but Rails Girls Summer of Code 2018 is over! And while the program has ended, we know that this is the start of multiple beginnings: It could be a participant’s first time application to a job, receiving their first job offer as a software developer, or working on a new OSS project.
In spite of all these new beginnings, some things will carry on from this year’s RGSoC; we are proudly talking about all the students who decide to continue contributing to the Open Source projects they worked on during the summer, and all the friendships and work relationships that have been developed during our program.
These special friendships are what makes our community exceptional. And as a community, wee got together and coordinated, funded, trained, mentored and supervised 26 people who are now on their way to make a change in tech and in Open Source. We couldn’t be more proud of our students’ growth since day one! You have been inspiring us in the past 3 months and we know for sure that you will continue to inspire a whole lot of other people in the future.
We are profoundly grateful to all of the students, coaches, mentors, supervisors, organizers, sponsors and individual donors who helped make RGSoC 2018 a reality. Thank you for believing in our mission and in the importance of making Open Source a better place for everyone. We hope to have your support in the years to come!
Let’s keep in touch!
And on that note: If you would like to receive RGSoC updates for the next time we launch the program—such as information on the OSS project submissions and student applications opening — please subscribe to our newsletter using this link. We promise we won’t spam you.
Another thing: if you’d like to keep in touch with our students, coaches, mentors and supervisors, we suggest you check our twitter lists here and our RGSoC twitter moment.
So, you’ve done a bootcamp, congratulations you’re now a programmer!! It’s weird to think that now you have a developers’ certificate for the whole world to see, but it still doesn’t feel like you’re a dev. Now you can start applying for jobs as a junior developer and dip your toes in a new project. With this new job comes your first programming experience, and the ups and downs of being a junior in a field of seniors.
When we wrapped up our bootcamp, we didn’t feel confident that we had a dev toolkit; we were so lucky to come across and be able to apply for a Summer of Code together. Entering a program where you can start learning by doing was a great opportunity to dip our toes into a real project and an amazing stepping-stone to an eventual job. We spent some time after our bootcamp classes checking our application and searching for coaches. We had our doubts during the process, thinking we would be so lucky if we were to be chosen, so we chose the projects that we felt comfortable with and most familiar. We reached out to the community to find coaches willing to invest time for a whole three months during the program. Alina already knew who our first coach would be, Daniel. By reaching out to reddit Amsterdam community we found our second coach Jack.
Ana Sofia from RGSoC organization
We felt a bit like imposters even..
With hindsight I guess we’ve been blessed with the way everything worked out for us. We got into the program quickly, even though there were lots of good teams to choose from. I think we didn’t expect that we had been selected, when the news came. I guess we felt a bit like imposters even, with so little coding coding experience and always thinking that we don’t know enough. Even though Rails Girls is meant for teams like ours, there’s definitely still a voice in the back of your head telling you don’t have what it takes.
We’ve realised that it’s actually good to have that voice there, since it will probably stay with us our whole career (we might as well get used to it). Seasoned developers online even have a blogs on the subject of imposter syndrome. It’s good to learn early on that this is there to stay. It’s selfishly nice to know that every developer out there has these feelings, and it doesn’t seem to matter how experienced you are. In the end coding comes down to this feeling, but the only expectations you’re not meeting are the ones YOU CREATE for yourself. Things like algorithms, frameworks, new tech can be learned, with enough effort and time.
A potato for every occasion
We learned during the program that there’s so much more to coding, than programming itself. That basic feeling of not knowing enough to do the job is something we will encounter in life on many different ways. But with coding, it’s a day to day business, the confrontation with not knowing. As humans, most of the time we have an option to choose: go bungee jumping for the first time or not. This seems to be the overarching theme of coding, too. There is so much to learn, that every coding challenge is another decision of whether to jump. You never know what you’re going to get. So if you’re prepared to take a challenge, you’ll grow on the fly, and code through it. It will never be the same thing twice, and definitely won’t be as you expected, but it will feel adventurous. I guess what we want to say is that we can choose if we want to live the fear or not. Feeling adventurous ? become developer : choose another profession.
We both had part time jobs when we started Rails Girls. Alina was a growth-hacking trainer, and Sabine was (and still is) a front-end developer at her company. We’ve had to make sacrifices to find time for everything, but we both knew the best way for us to continue our growth as developers was to learn by doing. Actually working on a project for an intense period and lots of hours has caused us to grow exponentially. This is exactly what we wanted and needed when starting a different career path. Working on our project has consolidated a lot of our progress and gave us more confidence in developing and knowing that we can learn if we persevere. We were so humbled to get a chance to do that with Stretchly and Rails Girls.
Talk to each other
Part of our way of overcoming our fears and anxieties was to talk to each other. As a team we are very open about issues we encounter in the project or in our personal lives. So, whenever we were stressed about an issue we discussed it first thing. It helped us to reconsider or get other viewpoints to a code problem or situation. Having mentors, coaches, teammates to rely on has provided us with an environment where we felt comfortable and safe.
Even so, the list of hurdles we encounter as junior developers grows bigger every day. To name a few, this is what we’ve come across:
Not enough documentation written for our innocent junior dev eyes (it takes hours to sometimes decipher documentation)
Working with timezones in any code is a huge pain! Just ask Jan (our mentor), Dan (our coach), or Jack (our coach) and they will confirm
Junior software-engineer job listing: minimum 3 years of experience
Corrupting git branch data to a point of no return (queue Phantom of the Opera soundtrack in the background)
Courtesy Forbes Conrad Macau Bridge
Just like we’ve found solutions to most of these, we’re determined to chip at this list one issue at a time, and bungee jump as much as it takes :)
Overall, we had a great smooth time at Rails Girls, with very few hiccups along the way because we were lucky to have our amazing supervisors and mentors. Going forward, I think we’ll find that having a network to rely on will be one of the most effective ways to overcome these struggles. We can only hope that one day we’ll be at a level where we can provide the same type of support for future aspiring devs!
Wow, it’s hard to believe that the summer is almost over! And it is even harder to believe that we started working together on this project only (almost) 3 months ago… At the beginning of the project, we were excited to be a part of all this, but we had no idea what was ahead of us. Now we can say that we were part of an amazing project. It was a great summer and we will be always grateful for this opportunity!
Obrigada - or thank you if you don’t know Portuguese :), RGSoC!
Team Brazilian Housewives coding! picture taken by Julio Albinati
How was our experience?
During our summer, we learned… A lot! We had the opportunity to learn much more than simply programming in a new language or using new tools, but also about teamwork! And many times that was our biggest challenge! We have learned that communication is one of the most important thing when we are collaborating with several people - remotely or not.
In addition, we learned a lot about APIs implementation, Rails, Ruby, MySQL, Git… Oh, all the rebases that didn’t work, such special moments!
So far, what did we do?
Our summer project is the Public Lab, a community and non-profit democratizing science to address environmental issues that affect people. They are really cool, check it out!
Two months ago when we started working on the project, we had to spend a lot of our first week studying the Public Lab code and documentation. We chose to work on the API because it was something new for us. We studied the basics such as what is an API, what is a RESTful API, RubyGrape and Swagger - an open source tools for creating and documenting API’s.
After refactoring some part of the API we were able to identify the endpoints that needed urgent improvements and we worked hard on making some of them more efficient. Our work was mostly done on the back-end but we are really proud of the new /search page that we are working, that will be soon alive on the project’s website.
We used the Github Projects page to keep track of our work and to break our tasks into small parts:
Photo credit: Github Public Lab projects page - API project
And thank you so much to our amazing team:
Our supervisor Mayar, you’re so sweet and helped us a lot during our summer <3
Our mentorJeff, thank you for your time and all of your reviews of our countless Pull Requests :D
And of, course, our coaches, Thiago and Julio. You helped us so much, especially when we were stuck or lost xD. You are an inspiration for both of us, keep shipping! :)
What’s next?
Well, now you can call us the Brazilian housewives developers coding! Now we are super ready to embrace new challenges to come! See you around, RGSoC!
Our Happy Ending - All things must come to an end, but every end becomes a new beginning.
We cannot believe that it’s September and RGSoC is ending soon. It seems like just yesterday, we were prepping up our application forms !
Our Experience
We were asked the following question in our application forms “Why are you applying to RGSoC ? What would you like to achieve by the end of the summer ?“
Here’s a short excerpt from our answer as the actual answers are too long.
“We want to improve our ability to understand a large codebase and become better developers. We want to become confident individuals who can manage their time effectively. Through RGSoC we want to meet women who have broken norms and set standards to come together and change pre-conceived notions. We want to make new friends from all over the world with whom we can share ideas and get insights on our code !”
As we looked back at the summer, we asked ourselves, “Did we achieve any of that ? “
The answer is a big YES. We achieved all that and a lot more than we had hoped for ! :)
Things we learnt
Test Driven Development - Indians have this term “Jugaad”, roughly translated “jugaad” is a hack or a workaround. Before RGSoC, we used a lot of “jugaad” to make our codes work. Through RGSoC, we learnt to write proper, optimized, linted code that had to adhere to certain standards. We refactored our code many times and no longer use “jugaad”.
Collaborating - Lots and lots of pair programming sessions ! We have learnt many techniques and strategies by watching our mentors code.
Code Reviews - We learnt how to work on code reviews and also how to review others’ code.
Git - Git is awesome. We had to close a PR because our commit history was unclean. Ever since, we have started squashing commits and writing proper commit messages.
Time management - Juggling University with RGSoC wasn’t easy. We learnt how to utilise our time wisely. These three months meant less outings, less Netflix and chill, but it was totally worth it.
Tech Stack - Ruby on Rails, ReactJS, Enzyme, Jest, RSpec, Capybara.
Challenges we faced
We were completely new to test-driven development and we initially used to write code that worked just fine. When the CircleCi tests would fail continuously, we realized that we had to write clean, efficient code and also write tests before pushing the code.
Initially we used to think our doubts and errors were silly, and that we would be judged for asking such simple questions to our coaches or mentors. Slowly, we learnt that no question is silly, and asking saves a lot of time.
What we have achieved?
1000+ lines of code written!
14 Pull Requests submitted, 8 merged, 4 in progress!
23 issues created (for further enhancement of if-me)!
7 Pair programming sessions!
The friends we made
We met such amazing people. We cannot believe we have friends from Korea, Berlin, Delhi, Africa, Spain etc. The love, positivity and goodwill the RGSoC community fosters is just amazing. Special mention to RGSoC Slack. It is our favourite slack channel :)
Terrific Thursdays - We are going to miss our sweet and adorable supervisor Srishti. We loved chatting with you on Thursdays every week. Thank you for being such a great support during the past three months.
If-me community - Julia, Alvaro, Camille, we had a blast working with you all. Thank you for all the encouraging words, dealing with our silly doubts and for making us better developers. RGSoC would not have been possible without you all.
RGSoC’18 in Tweets !
Alvaro's Tweet (Credit: Twitter)
Julia's Tweet (Credit: Twitter)
Srishti's Tweet (Credit: Twitter)
Atibhi's Tweet (Credit: Twitter)
The ending is only a beginning in disguise. What’s next for us ?
First and foremost, if-me is amazing and we want to be associated with it for as long as possible. We will continue contributing to it and hopefully become mentors for if-me in the next-edition of RGSoC !
We were the first team from our college to make it into RGSoC, we want to mentor other girls and encourage them to apply to RGSoC next year. Other than RGSoC, we want to mentor others through programs like LearnIt girl, GSoC etc.
We also want to use our learning experience to land awesome internships next year and continue to grow as developers.