Conversations about Software Engineering

Conversations about Software Engineering (CaSE) is an interview podcast for software developers and architects about Software Engineering and related topics. We release a new episode every three weeks.

Transcript

Eberhard Wolff: Welcome to another episode of the Case Podcast. My name is Eberhard and I'm sitting here with Ute Mayer. Ute Mayer is a colleague of mine, she works for innoQ and she's one of the organizers of Rails Girls Berlin. Welcome to the show!

Ute Mayer: Hello.

Eberhard Wolff: Her focus is on front end development in Rails. She also participated herself in Rails Girls and the Rails Girls Summer of Code. If I understand correctly, that is what helped her to start a career in programming. First question - maybe the obvious question - what is Rails Girls actually?

Eberhard Wolff: Ute Mayer:[00:00:40.05] Rails Girls is a worldwide organization of people want to bring women into programming and into IT. All the workshops that are done are for free. The movement is now five years old, it started in 2012 in Finland and came then to Berlin. In Berlin we have the most active chapter in the whole wide world. We have now around 25 workshops done since our beginning, and over 700 attendees, and a lot of success stories.

Eberhard Wolff: That's great. You said that the goal of Rails Girls is to bring women into programming. Is that all, or are there any other goals? What's the reason for doing that?

Ute Mayer: There are two reasons. The most important reason is that the IT and technology scene we now have is mainly dominated by white men; it's always good to have a lot of diverse people in groups, to have different perspectives on projects, on life, so bringing more women into technology and IT and programming will help to settle this diversity. Women are not the only groups who are missed in IT. There are a lot more people who count on the diversity. But this is the main reason.

Ute Mayer: The second reason is today our life is very dominated by computers and smartphones, and I think it's important for us to know the technology we are using. Having an idea of programming and the way of thinking like a programmer will help to minimize this fear of technology. This is the second reason.

Eberhard Wolff: You're saying that diverse groups are better at problem-solving because there are more diverse approaches towards problems, and also that it's about educating people about technology. What about the job market? Obviously, there is a strong demand for developers, and developers often get very competitive compensation - is that another vector behind the reasons for Rails Girls?

Ute Mayer: We do not organize the workshops for starting the career, that's not the main focus. We want to show that programming can be fun. Secondly, it's also good for women to have this chance after that to jump into the career and see that it's no rocket science to be a programmer.

Ute Mayer: The salary is very good in IT, and you also have more opportunities to have a flexible workload. If you are a mother, for example, a job in IT is better fitting than an office job from 9 to 5. This is a very good field for women who need flexible job times.

Eberhard Wolff: Can you share some success stories of how Rails Girls actually helped people?

Ute Mayer: I collected some of the success stories on our website. There are a lot of women who started with Rails Girls and had no idea about programming; they did the workshop and after that learned programming by themselves. A lot of them earned a job in IT as a junior developer after a year or so. This makes me very proud of my work, and I can see that we do something that has a meaning. If you want to read the stories, you can go to our website. It's pretty impressive.

Eberhard Wolff: We are going to put the link to those success stories in the show notes. But what if I'm not a woman? Is there anything that I can do concerning Rails Girls, or to help out in this regard?

Ute Mayer: Yes. If you are a coach, there is no problem to help as a man, and we are not completely closed to men. If there are free seats left on a workshop, we can also take men. But in Berlin there is a long waiting list every workshop, so maybe there's not a good chance to come into the workshops as a man. There are other organizations is you want to start learning to program. For example, there's Open Tech School, which is open to everyone. They also offer free workshops.

Eberhard Wolff: Actually, we did an episode about Open Tech School, so that will be something you can consider. Why would I do Rails Girls if programming is not a part of my job and I'm not intending to do a career in programming?

Ute Mayer: Maybe you want to check out what programming is. We have a lot of attendees who work with programmers in IT, maybe project managers or product owners, and they want to understand the developers in their team are talking about. They come to the workshop and get an idea. Maybe they want to start to program by themselves, but this is one of the reasons. Or maybe see if that would be a career in the future.

Eberhard Wolff: But even if I'm a project manager, programming is part of my job because I have programmers in my team... Are there any women who do Rails Girls just for the fun of it? Are there any other reasons for doing it?

Ute Mayer: Yes, some of them are doing that just for fun, in their free time. Or maybe they have this little project in mind they want to implement, and they come and hope to find the knowledge they need. Some of them want to start their own startup and want to code their product by themselves. There are many reasons, but some of them are only coming just for fun. You don't need to learn all the things after the workshop, you can just come for one day and see if it's something for you. If not, it's okay, but then you have an idea of what programming is.

Eberhard Wolff: Obviously, you're doing Ruby on Rails - what is that actually, first of all?

Ute Mayer: Ruby on Rails is a web framework. It's like a toolbox for building web applications, so the developer does not have to build all the things on their own. It's based on the programming language Ruby. Ruby on Rails is a pretty nice framework that's easy to understand, and you get results very fast.

Eberhard Wolff: What's the reason for choosing Ruby on Rails over other frameworks and other programming languages?

Ute Mayer: The founder, Linda Liukas went to a workshop from RailsBridge (an organization in America) and she decided to use Ruby on Rails. I think that was a personal choice, and after five years we often have this discussion - if it would be better to use another framework, because Ruby on Rails is very complex and there are also frameworks like Sinatra that are much easier to understand. But the first thing was Rails, and the name is Rails Girls, so we have to stick to it.

Eberhard Wolff: As you said, there are quite a few other web frameworks, so what if I don't like Ruby on Rails?

Ute Mayer: Then you can go to maybe the Django Girls. They are doing it with Python, and Django is a framework based on Python. Or you can go to Node School, they are doing something with Node.js. And Open Tech School offers a lot of other workshops, so you don't need to do Rails. Or you can come to a Rails Girls workshop and after that you start with the basics of programming and are not so stuck to using Rails. The first six months you will learn the basics with Ruby or Python, for example, and the framework is not that important.

Eberhard Wolff: I guess there is also stuff like HTML that you can use anyway.

Ute Mayer: Yes, you should learn that.

Eberhard Wolff: Yes, that's actually true. What do you provide? Are there guides that you have, and materials?

Ute Mayer: On the Rails Girls website there are all the guides - how to start a workshop when you decide you want to have one in your own city, there are guidelines on how to find sponsors and what you should do if you want to be a coach. There's also a curriculum that you can use step by step in the workshop, and all the things are explained there for the attendees, and there are also coaches' notes.

Ute Mayer: Everything is there, and it's open source - that means you can use it for yourself and bring some add-ons in it.

Eberhard Wolff: How is it licensed? What's the open source license that you're using?

Ute Mayer: I think that's an MIT license.

Eberhard Wolff: That means I could even run a commercial business using that material, in theory...

Ute Mayer: Yes, you could, but you're not allowed to name it as a Rails Girls workshop then.

Eberhard Wolff: Okay, but it's a very liberal license in that way, as far as I know. We are doing this interview in English, and I believe that it's important -- that might be a barrier for some people. Which languages are the guides in? Are they just in English or are they in other languages as well?

Ute Mayer: There are a lot of languages now. You have English, German, Polish, Chinese and a lot of other languages. You can translate them if you need it for your country. Here in Berlin we teach in English and in German. In other countries they use the guide that's fitting for them.

Eberhard Wolff: The local language?

Ute Mayer: Yes.

Eberhard Wolff: Okay. The translations are just the material for the attendees, or also the material for the coaches and for how to organize the events?

Ute Mayer: At the moment it's only the attendee tutorial in different languages, all the other stuff is in English. But if you want to help, you can translate it and make other people happy.

Eberhard Wolff: Excellent. I guess we already spoke about those workshops that you're doing... How are they structured? How do they actually work?

Ute Mayer: The beginners workshops are separated in two days. The first day or first evening is like an installation party. The attendees come together and install all the things they need in the next day and get to know each other and the coaches, and having some drinks or pizza or something like that.

Ute Mayer: The second day - it depends on where you're going to the workshop. Here in Berlin we have it separated into two parts. The first part in the morning is kind of a talk about what a web application is, the basics, the terminal and the tools you are using. After that, the attendees are going to code in group, following the tutorials we provide. We have one coach and two attendees; this is a very good ratio for learning. We saw in the past five years that this ratio is very good for learning, and if you have more than two in the group it's not so good. So we have one coach and two attendees, and they go through the tutorial step by step, and the coach explains things.

Ute Mayer: After the workshop, they have a complete Rails app, a basic app, and they can do something with that and go on further. There are additional tutorials they can use, and it's pretty nice.

Eberhard Wolff: Do you start those events on a Friday, or a Saturday? When do you start with the evening event?

Ute Mayer: Usually it's on a Friday, the installation party, and then the workshop on Saturday. If you want, you can go Saturday and Sunday, or you can also do it together -- we did two or three workshops together with Open Tech School, and there were three days. Friday was the installation party, Saturday HTML and CSS workshop (only focused on that) and then on Sunday the Rails workshop. You are free to develop your own curriculum.

Eberhard Wolff: You said that the first half is talking about what web applications are. Is that something where someone actually goes through slides, or how do you do that?

Ute Mayer: Yes, there are slides, and there's also an exercise for the terminal they can go through in the group. So yes, there are slides, they're on the website, but it's only for Berlin, I think. The original Rails Girls guide is a little bit different; they have exercises like the Bentobox, where you can learn this landscape or a map of the different of a web application, like back end and front end and database and all the things. But we found that not so useful, so we developed our own slides, and I think they are a bit better.

Eberhard Wolff: And in the afternoon you actually do the work in the groups with the coaches?

Ute Mayer: Yes.

Eberhard Wolff: You said that afterwards there is still material that I could use to extend my application?

Ute Mayer: Yes.

Eberhard Wolff: By the way, would everyone create the very same application, or is it focused on something that the attendees really want to build?

Ute Mayer: It depends. You can go only through the tutorial, but some of the attendees say, "I want to do my own blog, or a to-do list", or something like that. If they have an idea, then they can do it.

Eberhard Wolff: After I did the application, would you run through the additional material yourself, or is there any kind of additional support and additional stuff that you provide afterwards?

Ute Mayer: Sometimes they do some of the additional tutorials during the workshops, when they are faster than the others. Then yes, after the workshops you have to go by yourself, or you can join a project group; this is something we settled in Berlin, and there are now running project groups also in Munich, after the last workshop, and in Hamburg. But the other cities don't do this project group thing.

Eberhard Wolff: What's a project group?

Ute Mayer: It's like a learners group. Some of the attendees (around 5-6) decide "Yes, we want to start learning programming", so they find a coach - or sometimes we help them find a coach - who is willing to teach programming in their free time, and then they meet. The best thing is to meet once a week, and start with the basics. They do it in their free time, for free, just for fun, and it should be fun - that's very important.

Ute Mayer: In Berlin, the first project started in 2012 in the summertime. They are the Ruby Monsters, they are very successful and have a lot of attendees; a lot of our success stories are coming out of this group. The first big application they built was the Speakerinnen Liste - it's an application/website where women speakers can put their profile in there, and if you're running a conference, you can go through and find some females speakers.

Eberhard Wolff: I see. So a project group is larger than this one coach/two attendees group, I assume.

Ute Mayer: Yes, it's one coach and a group of six attendees.

Eberhard Wolff: I see, so that's how you go on developing stuff.

Ute Mayer: Yes.

Eberhard Wolff: You just mentioned Ruby Monsters... What's that? Can you say a few more words about that?

Ute Mayer: Yes, Ruby Monsters is the oldest project group we have here in Berlin. They are very successful, and nowadays a lot of the first-time attendees they had in 2012 are now coaches for the Ruby Monsters, so it's like giving the knowledge to the next generation. I think they have had a lot of attendees since they started - 50 or 60, or maybe more - and they also have their own learning materials now, which you can use. They have a website, and they also have a Ruby Monsters chapter now in Zurich, Switzerland. It's pretty amazing what they are doing.

Ute Mayer: After a beginners workshop usually they are open for new beginners, so if there are some people who want to learn, they can come to Ruby Monsters. It's pretty amazing. There is the Speakerinnen Liste - it's one of the very successful applications they made, and also the Diversity Ticket applications... If you have a conference and have to give away some diversity tickets, you can put your conference on the website and they manage the application process for you.

Ute Mayer: That's pretty nice, building useful applications, having an application out there that's used by other people, and you are a beginner... So that's pretty cool. The Ruby Monsters are really nice.

Eberhard Wolff: When I did that initial workshop, I can actually join that group and work on those applications, that's what you're saying?

Ute Mayer: Yes, if there are free seats in the Ruby Monsters, you can go there. There are also other project groups. There's a web application called Organize It, and a lot of project groups are in there. Formally it was only for Berlin, now there are worldwide project groups in there. If you want to find a project group near you or help as a coach, you can go to that website.

Eberhard Wolff: And those projects, again, would work on specific applications, like you mentioned - Speakerinnen Liste and Diversity Tickets?

Ute Mayer: Yes, it depends. For example, the Rubycons was a project that made the Organize It application, and they also have features that want to be implemented. But you can also bring your own idea of your project, and implement that together with a project group. It depends.

Eberhard Wolff: To join Ruby Monsters or to join any of the other groups, would I actually need to have done the workshop before?

Ute Mayer: No.

Eberhard Wolff: Are they looking for women only?

Ute Mayer: Yes, it's women only. But you can choose how the project group that you are starting should look like. If you say, "Okay, I have some friends, and one of my friends is a man. He can also come." I was in a project group where a friend of one attendee was joining, and that's totally okay. If the attendees are fine with that, then it's okay. You can use this format as you like.

Eberhard Wolff: And that way I can get more experience and continue learning with the other people, with a concrete example?

Ute Mayer: Yes.

Eberhard Wolff: Most of the project groups are starting with the basics, like learning Ruby, the way of thinking, and HTML and CSS, and I think after six months they are then starting with Rails applications or something else. That's pretty amazing.

Eberhard Wolff: In the introduction I said that you participated in the Rails Girls Summer of Code - what's that?

Ute Mayer: The Rails Girls Summer of Code is a three month stipend. The idea behind Rails Girls Summer of Code is to bring more women into open source and programming. It's the logical next step to Rails Girls. It's community-founded, so a lot of companies are supporting it and giving money, because the three months are paid, so you can work full-time on an open source project, and learn how to develop more skills in programming and see how software projects work - all those project management things and issue tracking and all the stuff.

Ute Mayer: It's the first time now in 2017, and I've heard they had around 200 applications from all over the world. I think they found enough money for 15 teams now, so they have to go to the applications now and to choose the teams who can do that.

Eberhard Wolff: So you're doing it the first time this year?

Ute Mayer: I did it in 2014.

Eberhard Wolff: So it has been going on for quite a while.

Ute Mayer: Yes, it's every year.

Eberhard Wolff: And you said it's 15 teams? How many members are in a team?

Ute Mayer: One team is made up of two women, and there are some open source projects you can apply for on the Rails Girls Summer of Code website. They apply for Rails Girls Summer of Code and say what they want to do, and then they need a coaching company where they can sit. The idea behind that is the company says, "Okay, we support Rails Girls Summer of Code and we have some coaches, and a desk for the women where they can sit in the summer time (three months) and work on their project."

Eberhard Wolff: I see. Would you participate in an existing project, or would you start your own project?

Ute Mayer: They now have some open source projects on the website and you have to choose one of them. When I started Rails Girls Summer of Code, we had our own project, and we applied with our project and then we implemented it.

Eberhard Wolff: Can you give an example of such a project that you can apply for right now?

Ute Mayer: It's like the Speakerinnen Liste, for example. They have some issues open, and you can apply for that and say, "Okay, I want to solve those issues and help to develop the application." Then you can apply for it.

Eberhard Wolff: Okay, so that would be an example. So much for what you actually do, what you provide and the material... How is Rails Girls organized? Is there any entity? How does that work?

Ute Mayer: No, there is no entity. It's like a grassroots movement, I would say. If you want to start a Rails Girls workshop and there is none in your city, then you can go to the website and there's a form where you put your name in and say "Okay, I want to start a Rails Girls workshop in that city", and then you can do it. There is no entity.

Ute Mayer: In Germany we have this problem - if you do things with money and have sponsors and something like that, and writing bills and all those things, you have to have a legal something. For Rails Girls Berlin we decided to be a part of Ruby Berlin e.V., so we can use their bank account and all those things. But there is no entity, it's totally free.

Eberhard Wolff: Excellent. Do you have any idea where Rails Girls is active? Obviously, in Berlin, but what about other cities or other countries?

Ute Mayer: In Germany we have a chapter in Munich that's active again, we had Rails Girls workshops in Cologne, or in the Rheinland, and in Hamburg... This is for Germany. In the other countries there are also a lot of Rails Girls workshops going on. They are not that active like Rails Girls Berlin; we are active on a regular basis - three beginners workshops each year and three coding follow-up workshops. In the other countries there's one from time to time. On the Rails Girls website you can see where the next Rails Girls workshop is.

Ute Mayer: I think in Poland there are a lot of workshops happening, and also in Japan, India, America... It's very international.

Eberhard Wolff: Cool, so it's a really global movement, and I think that you said it was founded in Finland, right?

Ute Mayer: Yes.

Eberhard Wolff: That's great. Do you have any idea how many people are involved in the whole thing?

Ute Mayer: In the whole world? I don't know. A lot of people, I would say. Here in Berlin we have an organizers team of around eight people at the moment, and the coaches who are helping us are around 200. A lot of people are helping, and in the whole world - I don't know, a few thousand, I would say.

Eberhard Wolff: That's a lot of people, that's great. As you already said, there is a non-profit entity, at least in Germany, so you can give money and make that tax-deductible, right?

Ute Mayer: Yes, and we can get money from the sponsors, pay bills and all those things.

Eberhard Wolff: Excellent. I think we already talked about how those things started and how it moved on... How do you sustain such a group? As you said, there is no strong organization, it's very decentralized - is there anything that you do to make sure that this is actually something that is going on and that lasts for a longer time?

Ute Mayer: Yes, we have a global mailing list and a global select channel for all the organizers. You can join it if you want to start a workshop. There was some talk about the experience in different countries or in different cities.

Ute Mayer: The interesting thing about Rails Girls is that this movement is going by itself. There is this inspirational thing on Rails Girls that has this ability to excite people to start or make workshops, and the spirit of Rails Girls Berlin is just living, so the movement is going on and nobody has to stand behind it and say "Oh, you have to do this or that." You don't need that. It's the spirit of Rails Girls.

Eberhard Wolff: Do you ever do meetings where people from different parts of the world actually meet face-to-face, or is that something that you don't do at all?

Ute Mayer: There was one meeting in Finland a few years ago, but at the moment we don't have something like that. I was thinking maybe it would be cool to have a Rails Girls conference. That would be nice, but at the moment we don't have something like that.

Eberhard Wolff: So the people actually never met in person, I guess.

Ute Mayer: Yes.

Eberhard Wolff: If I'm interested in Rails Girls, how can I attend a Rails Girls event? What are the steps to actually make that happen, to find one?

Ute Mayer: If you want to attend as an attendee, you can go to the Rails Girls website (RailsGirls.com) and see in which cities the next workshop is happening, and then you can apply if the application is already opened. Then you can get hopefully a place in the workshop. This is the opportunity for attendees.

Ute Mayer: For coaches, it's the same - you can go to the website and you can mail the organizers and say, "I want to help as a coach" and they will be happy to have you as a coach.

Eberhard Wolff: You said that I need to apply for a seat in a Rails Girls workshop - is it just personal data, or do I need to actually write something that says "I really want to attend because of X, Y and Z"?

Ute Mayer: It depends on the cities. Here in Berlin we have a little bit more, like the programming experience, and if they have programming experience, what it is. The problem is that there are much more applications than we can handle, so we have to decide who can come to the workshop, and we are very sad about that. The first thing we use as a decision point is if they have programming experience; we prefer on the first step those who don't have, because Rails Girls is for complete beginners. After that we choose the others.

Eberhard Wolff: Why do you prefer people who don't have programming experience? Because you think that they will be bored, or because you want to give other people the chance?

Ute Mayer: Yes, we do it for complete beginners, to get them into programming. Usually, we have around 40 slots per workshop, and we get 200 applications, so we really have to decide who can come in there. We prefer those who don't have experience, because we think if you have some experience in another language or something like that, then there are a lot of online tutorials or other resources you can use, or go to Open Tech School. We know that is not ideal, but it's a problem we cannot solve at the moment.

Eberhard Wolff: Do you think that you can go through the guides all by yourself, would that make any sense?

Ute Mayer: I think you can, but if you are a complete beginner, I would say start with something more basic, like HTML or CSS, or plain Ruby, or another language. Because doing something like Rails on your own - it's hard.

Eberhard Wolff: That means if I do have some programming experience, I could try to go through those tutorials?

Ute Mayer: Yes. Some of the people who apply as an attendee have so much experience that we say, "Hey, you can come, but as a coach", and they come as a coach and enjoy the experience.

Eberhard Wolff: Yes, which leads me to the next question - what kind of support are you looking for? Coaches, I guess...?

Ute Mayer: Yes, coaches. We are always happy to have new coaches on board, and being a coach is very good for learning something about yourself, learning how to teach and talk to beginners. We need coaches all the time. You don't have to be a Rails professional, because you have to explain only basic things. For that, you can run the tutorial at home as a coach at home and see the steps; that's totally fine. If you want to be a coach, you can write us an e-mail.

Eberhard Wolff: Is there other kinds of support that you are looking for?

Ute Mayer: If you want to support us as a sponsor, then we are always happy to have some money, but in Berlin we don't need that much money. We have a Spendenformular on our website from Betterplace, but if you want to share some money, you can give it... Or to Rails Girls Summer of Code, they are also happy to earn some money.

Eberhard Wolff: Usually, if you are a commercial entity and you are sponsoring, there's the question "Why would I do that?" Obviously, there is good karma that you get; is there other stuff that you get out of that?

Ute Mayer: We put the logo on the website and tweet about it. It's a good chance for a company to get in contact with coaches. Maybe they are the future employees, and yes, the good karma is a very good point. I think it's a good publicity thing.

Eberhard Wolff: We covered the question why you would want to become a coach - karma, again, but also... Teaching is quite an interesting experience. Anything you want to add in that regard?

Ute Mayer: All the coaches I've spoken to said that it's a very rewarding thing. If you coach and after that you see your attendees being successful or getting a job in IT, it makes you very proud. On the other hand, they say "I'm seeing problems in a different way" or "I see my work now in a different way." When you are programming for 10-20 years, you don't think about your terminal and what it's doing and why it is doing something. If you are talking about the terminal to a beginner and the beginner says, "Why does it do that?", and you have to explain it - now you get a different view on your work. I think that's very important.

Eberhard Wolff: I agree. Those basic questions are often very good to think about, and get a different perspective; I think that's great. If there is no local Rails Girls group, what you said is that you can basically start one by yourself. What kind of support will I get, and how hard is it to actually do that?

Ute Mayer: You can write to the mailing list, and there are people always in the Slack channel that you can ask how start. There is this first basic guide where a lot of stuff is written, but there are also people who want to help. For example, the group that is now running the Munich chapter started this year, and I helped them with my experience from Berlin. The community is very helpful.

Eberhard Wolff: So there is more than just the guides...

Ute Mayer: Yes, you get a contact with a community, and then you get help and support.

Eberhard Wolff: Okay, cool. Anything else I forgot to ask you, any more things that you want to say to the audience?

Ute Mayer: I can only encourage you to do such a workshop, and help, or come to a workshop as a coach. It's an amazing experience. Also, spread the word.

Eberhard Wolff: I agree. I think that was a good last sentence. Thanks again for joining, and I wish you all the best of luck for Rails Girls.

Ute Mayer: Thank you.

Ute Mayer: Eberhard Wolff:[00:44:47.05] Thank you.