From designing databases to tweaking for optimal SEO, software engineers play a vital role in project development. Many software engineers enjoy creating software that makes people’s lives easier, but working solely for profit can lead to dissatisfaction. Civic tech projects are a chance to give back to one’s community and work on new teams. They’re also great outlets to explore new technologies that can’t be easily integrated into work projects. On top of that, it’s also a chance to gain exposure and network.

DemocracyLab connects software engineer volunteers—from seasoned professionals to students just starting out—with projects that drive their creativity and problem solving-skills.

Professionals’ Perspectives

Lee, a software development engineer, was drawn to Shelter App. He resonated with the project owner’s “compassion for people experiencing homelessness and his desire to make an impact.” Since then, he’s used his knowledge of databases to help implement Shelter App’s backend.

Now, Shelter App has a new problem: building a programmatic way to pull data from various sources, validate it for accuracy, and make it searchable. Previously, volunteers entered data manually. Shelter App team’s latest project is creating a Python scraper to do that work for them.

Photo by Alexandru Acea on Unsplash

Lee says he’s proud to be part of the team.

“My favorite part about working on this project is getting to use skills I have built professionally to give back to the community. The issue with housing and homelessness is prevalent in Seattle and across the country. I’m happy to contribute to making a difference.”
Lee - Volunteer Software Development Engineer  

Time commitment varies from project to project. While some project leaders prefer volunteers to stick around until the completion of the project, others bring on volunteers to perform a specific task or to write a certain feature.

This was the case for Senior Software Engineer Whitney. She was tasked at finding a way to connect DemocracyLab’s volunteer positions to LinkedIn. Although that feature only took a few hours to complete, she encountered problems while setting up the environment.

She recalls taking 2-3 hours to unblock the problem. As it turns out, her problems weren’t unique. Other volunteers also had trouble setting up their environments. After solving the issue, she was able to help the other volunteers onboard as well.

She says DemocracyLab has been a good experience for her. “It was cool to see how it was set up,” she says, speaking about DemocracyLab’s environment. Speaking with Marlon Keating, the technical lead, also helped her to improve her code.

“It was a good experience,” she says and she’s glad to contribute to an open source project.

Contributing to Open Source

"Open Source projects allow people, without licensing costs, to contribute, modify, develop, and distribute a project for any purpose."
Open Source Guide

Job recruiters frequently award bonus points to open source contributors. (Gitlab) Open source contributors can also build soft skills such as communicating with other engineers, working in an agile environment, and collaborating with Design or QA teams.

All of the projects on DemocrayLab are open source and in various stages of development. The project details listed on DemocracyLab usually indicates at what stage the project is in and what skills they are looking for. Joining a project early in its development also gives volunteers the chance to handle design decisions and can be an invaluable learning experience for those just starting out.

A Student’s Perspective

Tao Xu, a master’s student, first joined the Banana App project during one of Democracy Lab’s Hacky New Year event. Xu utilized his former experience as an intern and his studies in fullstack technologies to expedite the onboarding process for new volunteers.

Now his primary work involves the “dockerization” of the backend which saves installation time for beginners. He also contributes to the mobile app building and design.

Apollo Rimando, Banana App’s project owner, says that Xu is the most consistent member of the dev team. He is extremely thankful to the volunteers who devote their time to the projects week after week.

Although Xu was still a student when he joined the Be Good Project, he’s already taken on a senior dev role.

"My understanding it’s an experienced dev for this project and could give new members instructions on their tasks, and that’s what I have been doing recently.”
- Xu, dev liaison

Part of what drove him to the project was the chance to research a company he was interested in. “I attended ‘Hacky New Year’ held by Democracy[Lab] at the Microsoft Reactor. The environment there is very good, I still remember the free drinks and arcade games there and wish to go there once again after COVID-19.”

Indeed, many of the class of 2020 are feeling the effects of Covid-19. Xu feels like he’s gained valuable experience from working with the Banana App team. “Contributing to the Banana App means a lot to me. It’s a small team with very good atmosphere. People there are very friendly and thoughtful. I learned a lot in programming skills and team cooperation by developing Banana App.”

Get Involved

Javascript is the most in-demand language for DemocracyLab’s projects. Python and SQL are also in high demand, and many projects offer a variety of development languages and frameworks to work in.

DemocracyLab provides volunteers the flexibility to browse a list of ongoing projects and choose the role that interests them. In order to volunteer for a project, simply sign up for a free account, browse projects then click the “Volunteer with Project” button and indicate the role you want to apply for. To learn more, contact the project owner by hitting the “Contact Project” button on the project page.