Why don’t you tell me a little more about yourself. What do you study and how did you get involved in this space?
I really started doing computer science to learn how to create things – that's the overarching theme of my entire journey with programming. I'm doing a double major in computer science and data science. And, you know, as soon as I got here, I wanted to know how do I get real world skills? Even in the first Python lecture, I was like, okay, how do I package this as an application that people can use? We're just doing basic scripts.
I pretty much looked for any projects that I could get on to start learning how to actually make applications, websites, anything I could find. And one of the places I saw was Coders for Causes. This was back at the in the middle of first year. So, this would be my third year right now. Coders for Causes runs summer projects, and I got involved in that.
You can do core units during your degree, but the real skills and learning – that comes from doing stuff in your own time and investigating stuff that interests you. I've been doing a bunch of that, you know, learning to create web applications, as well as helping out running projects during semester breaks, running workshops during the semester, that kind of thing as well.
I'm interested in anything from design to databases, and I've just kind of covered the entire range. That lets me build pretty much whatever I want without having to become too externally reliant.
What would you say Coders for Causes does? What does your day-to-day look like?
The main body of Coders for Causes is the committee, and we have three main things we do. We run workshops, social events like sundowners and industry nights, and projects. What we're trying to do is be the source of web development on campus. There's a unit that covers pretty basic web development, and then doesn't go any further than that. And, it’s teaching old technology. There’s no units after that really to explore, unless you're going to masters.
So we aim to be where people learn web development: you can come to our workshops, learn, you know, anything from source control, to advanced web development techniques. And then you can apply that in our projects during the break, and get a real feel for working on big projects in big teams.
You mentioned those big summer projects, can you tell me any more about some of the projects you've been on or the ones that you've enjoyed?
Yeah. So I started on my first project in the summer of 2018. All of our projects are for community or non-profit organisations. But this one was for a mentoring organisation that helps kids by running rugby workshops. So previously, they had been using Excel spreadsheets to log all their information – reports coming in from every session about every student. They just had papers everywhere. Our goal was really to consolidate that into a central system and add some nice features, inbuilt reporting, so all of their reports could be entered by coaches themselves, and they don't have to do any data entry. So that was really cool. I got to see the effect.
Another project that I was Project Manager for was for the group Friends of the Grounds. So they run tours around campus showing off all the plants at UWA. And we developed an interactive map for them, so that people on the tours can see where they are on campus. They can see all the plants and then they can explore and see more information at their fingertips.
So how do you select which projects to work on?
The main way we get heard of is a through word of mouth. Our professors will tell people, but sometimes other charities will tell people. Often charity organisations will email us, and they'll have a pitch. Then, what we look for is how big of an impact we’ll have for them. For example, how difficult it would be for them to get that software some other way? We tend to stay away from static websites and stuff you could do with Squarespace or Wix or anything like that. And then we also look for benefits for students. So yeah, again, not Static websites – there's not a whole lot of stuff you can learn – but also things like really repetitive work. So you know, if there was a chat bot or something and all you had to do is enter different branches of the chat bot that wouldn't be very educational because you do it once and you learn it.
We want kind of interesting and packaged applications. The map is a perfect example. Because you, you will learn how to build a map. And then that's it. You don't have to build like 20 maps. It's just one. And I guess the last area that we look for, is scope. We don't want an incredibly complex application that will take all of our time, because we’re working with volunteers and people who are learning. So yeah, we kind of balance these attributes. Sometimes we take more difficult ones, if it will be more impactful. Sometimes we'll go easier so that we can bring in some more inexperienced students. And then we'll choose three projects over summer and we'll split them up into teams. Normally we will have two project managers and around six volunteers per team.
What would you say to people who want to get involved or join up? What sort of skills do you need to have to join, and what can you expect?
The main thing that people who join are interested in is the projects. I think it's also the most beneficial – you can get a lot out of them. Most of the projects are in web development. Having that as an interest is definitely a prerequisite. And I say interest not skill because I find the real barrier to entry is how committed you are to putting in the time. That's really what's going to be necessary to teach yourself. Our benefit is we have a whole bunch of really skilled committee members that are currently working, who know a lot more than me, and they help a lot of one on one. It’s important to be open to engaging, asking questions.
In terms of prior knowledge, we do like people to have coding experience of some sort. It's pretty daunting to come on to the project. If you don't, though not impossible, just disheartening. I did that a little bit. One of my first web development experiences was coming onto this major project, and from my point of view, all of it was magic. There are so many layers of abstraction. I was pretty much just learning based on the code that I saw, not the concepts. If you have that solid layer of understanding of programming or even better, basic HTML, CSS JavaScript, then you’ll get a lot out of it.
That’s all of my questions for today, thanks for your time!
To stay up to date with Coders for Causes, like them on facebook or reach out to get involved at [email protected].
#innovationspotlight