Building Complex Client Solutions – One Line of Code At A Time

Written by: Nicole Hunt

Rich Gerdes discovered a love of engineering in high school when he and his friends built a robot for the school’s FIRST Robotics Competition. He followed his interest to college, where he studied computer science, to the open source Drupal Project, where he actively contributes code, and to Urban Emu, where he acts as our Senior Software Engineer. We’re so fortunate that Rich is a part of the team.

Q. Can you tell me about your role and a typical day at Urban Emu?

A. I typically start my day with dev team standups and sometimes client meetings. The remainder of my day is dedicated to focusing on projects. Work can range from content updates, styling and theming work for promotional pages, development of new features and functionality, research and planning for upcoming work, or testing, validation, and analysis of site data and functionality.

Q. How did you first get involved in software development?

A. My best friend and I built our first website for a local organization while I was in high school. From there, we got to explore building dynamic functionality and learned to work with WordPress and the configuration and setup of our own servers with Linux. We both joined our high school’s FIRST Robotics Competition team, which gave me the chance to explore programming further, helping write the software that controlled our robot. My friends and I continued building fun projects, like our own chat application. In college, I chose to major in computer science since it was a hobby that I enjoyed. While working for the University’s IT helpdesk, I was able to work with the team’s internal portal, which was built on Drupal. Following graduation, I took a job with the same team, maintaining their Drupal and WordPress projects.

Q. I know you’re involved in the Drupal Project. Can you tell me a bit about that project and what’s involved?

A. Drupal is an open-source software platform created by a community of developers. As a developer who uses the Drupal platform, you get access to extensions and tools built by this community. The success of the project depends on users of the platform reporting issues, requesting features, and, when possible, helping fix or build the new functionality. During my time working with Drupal, I’ve come across bugs that I’ve needed to resolve, modules that were unmaintained and needed someone to support them, and missing features that I needed for projects. I’ve been able to leverage my experience with Drupal to assist with fixing these bugs, maintaining projects, and building new modules to help enhance the Drupal Experience.

Through the connections I’ve made through the Drupal community, I’ve been able to present at Drupal camps, which are small local conferences hosted by community user groups, and recently I helped host a contribution day, where others could contribute to Drupal.

Q. Why is it important to you to contribute to open-source projects?

A. Open-source projects are ones where the source code of an application is publicly available. This typically means that anyone can view, use, and extend the platforms. Open-source software is at the center of most technology and the internet. This list includes projects like Linux, Docker, Chrome, Firefox, Javascript, Android, and React. Most of these projects are created and maintained by a community of passionate developers, who keep these projects updated and supported. WordPress and Drupal are examples of open-source projects that thrive due to the dedicated work of the individuals who use them. I think it’s important for anyone who’s involved with open-source projects to also be involved with the community to ensure that these platforms remain successful. Contribution to open source projects also doesn’t always mean writing code, but can also mean assisting with testing, documentation, marketing, design, and many other areas.

Q. In your opinion, what’s the secret to writing successful code?

A. Good code needs to solve the problem but also be maintainable and stable. In order to ensure that the code meets these requirements, you need to think through possible future use cases, failure cases, and performance implications of the functionality. When possible, considering these challenges upfront allows a developer to build the code that hopefully won’t need to be refactored or changed in the future. Additionally, establishing and following code standards for the language, framework, or project can ensure that the team follows best practices. After completion, it’s important to test functionality, both in typical use cases and nonstandard ways, which can help ensure that bugs are caught before the feature is released. Implementing these testing cases as automated tests is a great way to ensure nothing breaks when updates are eventually done and also provides great documentation of functionality by setting up a list of expectations for the code.

Q. At Urban Emu, you work on all kinds of web development projects, from site creation to security and data management. What’s your favorite type of work?

A. Yes, I’ve been able to work on a number of different things here, from building promotional pages and content to adding advanced functionality to the sites, which improve the experience for both admins and end users. I personally enjoy working on complex functionality, which involves thinking through how to solve a problem. This could be trying to create a better UI to enter complex data into a form, working with complex data models which can be used to generate dynamic content sourced from multiple areas, or implementing a complex algorithm.

Q. Have you worked on any projects that really stand out?

A. I’ve primarily worked on the MyPlate.gov website while at Urban Emu. My focus for the last year has been providing a new integration with the USDA Food Data Central, to enhance the recipe data, provide more accurate nutritional data for recipes, and overall improve the administrative experience for the MyPlate team.

Q. When you’re not working, volunteering, or building Drupal, how do you spend your spare time?

A. In my free time, I enjoy spending time outdoors. I try to get in a walk or run every day and spend my weekends exploring nature when possible. I’m an avid hiker, skier, and sailor.

Q. What’s your favorite thing about working at Urban Emu?

A. I love the Urban Emu team. Everyone on the team is hardworking, knowledgeable, and passionate about their work while still providing a relaxed atmosphere. This makes the team feel like a family working together to empower our clients.

We’re so grateful to have Rich on our team to help us find creative development solutions to complex problems.
Stay tuned for more teammate spotlights.

Contact Us

Urban Emu is an experience agency proudly driven by a singular mission: to transform the way humans live. We achieve this through a powerful fusion of design, technology, and communications, creating unparalleled online and offline experiences.

We love to hear about ideas big or small. Please don’t hesitate to get in touch with us regarding your project.

Email: hello@urbanemu.com