00:00:04.120
Welcome to the lightning talks! The rules are simple: each talk lasts five minutes, and at the end, we hope it doesn't turn into chaos. Let’s get started with the first talk from Max Gorin. Enjoy!
00:00:26.260
Thanks! Before I introduce myself, let’s play a quick game. Does anyone know the memory card game where you swap cards to find matching pairs? Great! Let’s play that together. I created a simple version for two players, assuming the Wi-Fi works. I’ve tweeted the URL, so if you have a decent connection, please join us. I can hear a sound when you join, but in the meantime, let me tell you a bit about myself.
00:01:21.060
My name is Max Gorin, and I'm a Rails developer. I’ve lived in various countries and traveled a lot. I enjoy playing this game on my iPad with someone beside me, but when I move to another country, it makes me sad that we can’t play over the internet. I decided to create an online version myself while learning Elixir.
00:01:44.740
It’s exciting because many people have joined the game! So let’s get started. Please share your Twitter handles for commands. I need to find two pairs! Oh, I hope the Wi-Fi works well. My experiment involved running Elixir on Digital Ocean with a limited resource plan. I started with 512 MB, but it required more resources than I initially expected. I upgraded to 1 GB, then downgraded back to 512, and it worked. I chose Elm because it has great type inference, which is hard to break and doesn’t produce runtime errors. The communication between browsers is accomplished using WebSockets through Phoenix channels, and for Elm, there's a fantastic library that allows complete game state to be passed each time. To deal with large data, I compress the game state into a smaller format. I was concerned about missing Elm libraries, but I discovered that using ports was straightforward. Lastly, some providers have restrictions on WebSockets, which is a challenge, but we'll have fun playing the game!
00:05:59.030
Next up, we have Johanna and Dayana who will talk about Team Yoda from Rails Girls. Please give us a moment to set up.
00:06:08.160
Hello everyone! We’re Johanna and Dayana, and we’re a bit nervous since this is our first talk at such a large conference. We are excited to share our journey in learning web development as part of the Rails Girls Summer of Code initiative. But first, we would like to thank the EuRuKo and the Rails Girls Summer of Code organizers for inviting us and providing free tickets.
00:06:43.010
Let’s introduce ourselves: I’m Johanna, I studied philosophy and social sciences, and this is Dayana, who studied media and literature. Although we don’t have a technical background, we have a strong interest in technology. We met during the Rails Girls Berlin beginner's workshop back in 2014, and we were so motivated that we immediately joined project groups, including the Ruby Monsters, which enabled us to participate in the cool project diversitytickets.org. We are currently organizers of Rails Girls Berlin, so feel free to ask us more about that later.
00:07:29.250
What is the Rails Girls Summer of Code about? It’s a fellowship program aimed at bringing women into open source. Selected teams receive a three-month scholarship to work on open source projects of their choice. This year marks the fourth edition of the Summer of Code, with twenty teams from all over the world participating.
00:08:00.270
For our Summer of Code, we've decided to work on a project called Sun Sound Drop. Feel free to check it out at sounddrop.audio. This project allows users to upload audio files and connect them to specific locations on a map. We refer to these audio files as 'drops.' Here’s an example of a drop that includes art cover on the right side and the associated map location. This is targeted at users who want to create audio guides or share stories of their favorite places.
00:08:56.180
We have worked on several features over the summer. Our first milestone was creating a JSON API to handle requests, like showing all drops within a kilometer radius of the user’s current position. The second feature we focused on was the landing page. We redesigned the content, embedded a map where users can view all added drops, and implemented a tagging feature so users can categorize their drops as either sounds or stories. We closely collaborated on developing these features, and towards the end of the program, we wanted to ship some of our own features. On my end, I created a 'My Drops' page that displays the drops created by the user.
00:10:50.740
Additionally, I worked on a filter for the landing page, allowing users to see only the drops that interest them. Throughout this program, we received tremendous support. We had coaching from a company called Absolventa in Berlin, where we are based, and they provided us with incredible Rails coaches and the necessary space. Furthermore, we engaged with amazing remote coaches, supportive mentors, and an excellent supervisor.
00:11:27.290
You can see some of the tools we learned and worked with during the program. However, it is bittersweet as the Rails Girls Summer of Code is concluding next Friday. But on a positive note, we are eager to continue using the skills we've gained and are actively seeking jobs. Please feel free to approach us, and thank you for your attention!
00:12:29.750
Next up is an exciting talk from another pair: Kinga and Izabela, who will share their experience with Rails Girls Summer of Code. Hello everyone! We are the Ruby Cats, participating in Rails Girls Summer of Code 2016. We won’t teach you how to code because you probably know it better than us. Instead, we want to share our thoughts on the newcomer experience in programming without any prior experience or education in this field.
00:14:00.730
Computers have been a significant part of my life since childhood. I grew up playing on my first computer, and while I was tech-oriented, I never pursued a career in technology. It wasn't until I had my daughter that I realized life is short and I should fulfill my dreams while I can. So I enrolled in my first Ruby course organized by the Girls Code Fun Foundation, where I met my co-speaker, Kinga. Despite starting from zero knowledge about programming and facing a crisis in my previous job that lacked personal development, I started attending tech events and workshops.
00:15:52.670
Eventually, I attended Rails Girls workshops, which were very energizing and motivated me to help others. I also taught kids programming using Scratch, Minecraft, and HTML/CSS. My path eventually led me to the Rails Girls Summer of Code, where I applied and waited anxiously for the acceptance results. When we got in, it felt fantastic!
00:16:53.510
That brings us to the essence of this talk. Participating in Rails Girls Summer of Code provided a phenomenal opportunity for us to give back to the community. It required hard work initially, but we had expectations for our performance and solving interesting issues. The reality, however, was quite challenging. The first experience with real code was overwhelming.
00:17:57.760
Programming is an ongoing learning process. We recognize that while we are still newbies, the field is vast, and there is so much to learn. We urge experienced developers to be patient and understand that things that are logical to you may be overwhelming to newcomers. We are all here to learn together.
00:19:27.340
Our next talk is from Melanie Keatley and Stephanie Nemeth, who will share their insights on a 'Magic Solution' for the tech gender gap.
00:20:20.170
Hello everyone! I’m Melanie Keatley, and this is my friend Stephanie Nemeth. We are here to discuss a magical solution to the tech gender gap. You all know the stats, but we won't focus on the why or the who; instead, let’s talk about solutions. Current common solutions include organizing workshops to make women enthusiastic about technology and creating female-friendly tech groups. We applaud these efforts, but we need to do more; we must address the retention of existing female developers in the tech community.
00:21:58.220
The magic solution we propose is straightforward: hire female developers and recruit career changers as junior developers. We believe that this approach will lead to significant improvements in the tech workforce. To give you a practical example, I’d like to present a case study based on my own journey and contributions.
00:22:44.340
At work, I have made thousands of code contributions across various projects, particularly in the fintech, education, and wellness sectors. These projects often required me to engage with different front-end frameworks such as React, Angular, and Backbone, as well as work with databases like PostgreSQL. Despite the common belief that junior developers cannot contribute effectively, I’ve demonstrated that they can handle these responsibilities with increasing independence as they grow.
00:24:07.020
Furthermore, I believe that community involvement is essential. As I grew as a developer, I initiated a biweekly study group called Coffee or Beer in Code. We gather to support each other on whatever projects we’re working on. Additionally, this past August, I organized a lighthearted hackathon where participants created silly startup ideas that resulted in out-of-the-box projects. It was an enjoyable and productive experience.
00:25:29.600
Now, let’s shift gears to Krzysztof (Christopher) Wawer, who will talk about validations.
00:28:20.250
Hello everyone! I’m Krzysztof Wawer from Ragnarsson, and today I’ll share a bit about our experience with validations in our API. Initially, we only had a read mode without actions for creating or updating due to static data. As we expanded to include CRUD operations, we faced challenges with data validation. We began with a library that cast all values to strings, which caused issues handling numerical types, only allowing comparisons with regex. When searching for a better solution, I found Dry Validation, a gem that helped us establish better data handling and validations, including for nested data.
00:34:50.580
In Dry Validation, we can create shared schemas, allowing us to avoid repetition in writing validation rules. It’s robust and convenient for our validation strategy, and I highly recommend you check out the documentation!
00:35:44.880
Next, we will hear about the importance of teaching and mentoring from Demir Zekić. Thank you!
00:36:47.000
Hello everyone! I’d like to discuss the importance of teaching and mentoring from a different viewpoint. It’s crucial for those who already know how to code and are comfortable with it. Purely learning programming is rewarding, but teaching it can enhance your understanding and rekindle your passion for coding. For example, I started teaching after experiencing burnout from intense workloads at various startups. This led me to prepare a curriculum for local workshops, and ironically, this commitment sparked a renewed love for coding.
00:38:40.310
By teaching, I was compelled to articulate the best practices I had taken for granted, prompting me to reassess my knowledge deeply. Our programming community needs mentors who understand this dynamic well. I urge everyone, especially those passionate about coding, to consider mentoring. It benefits you, enriches the community, and fosters a stronger tech culture.
00:40:00.340
As we conclude our event today, I want to thank everyone for participating. Let’s keep the conversation going as we close out this exciting day of lightning talks!