7 Chicago developers explain why side projects make a big difference

Written by Andreas Rekdal
Published on May. 18, 2017
7 Chicago developers explain why side projects make a big difference

For developers, side projects are an opportunity to experiment with something new and hopefully learn a thing or two in the process. And even though those experiments aren’t always born out of a business need, the products and experiences born out of them tend to make themselves useful sooner or later. To learn more about why that is, we asked seven Chicago developers to explain how their side projects make a difference in their day-to-day work.


Neighborhoods.com is an online real estate portal that uses data and in-depth content to guide homebuyers in finding the right place for them. For front-end developer Zac Rosenbauer and software engineer Daniel Bloom, off-the-clock forays into custom maps and social media analytics have proven fruitful in pushing the Neighborhoods.com platform to the next level.

What are the most interesting side projects you've worked on?

DB: I worked on a social media analytics platform that looked at the way nonprofits of different sizes and ages used social media to advance their missions. I also helped an organization build a system to streamline the review process for applications to their fellowship program.

ZR: Blueprints — a custom node app used to render Swagger-UI with a white-labeled UI and a custom parser to allow references, which I will upgrade to v3 soon. I’m also working on Terra — a custom React-based implementation of Google Maps utilizing the data layer, built with React + Flow and a custom redux-esque pub/sub system.

How do side projects help you succeed in your day-to-day work?

DB: Engaging with new technologies and solving problems in one sphere often helps you solve problems in another. For instance, the experience of consuming the Twitter API and working with their data was beneficial when it came time to design our own public-facing API.

ZR: I usually am able to take what I've learned and either implement a similar paradigm or functionality, or use this knowledge to help architect better and more scalable solutions. Both of the above projects were also adopted as dependencies or rolled into our organization’s code bases. The projects solved problems I ran into while at work, but I took time after hours to R&D and experiment with some possible new solutions. Everything from better documenting API contracts to adding Flow and expanding upon another internal maps library has not only improved our code quality at Neighborhoods.com but also prepped us to release a couple of open source projects in the next year or so.

How does Neighborhoods.com encourage you to take on new challenges outside of work?

ZR: We have personal development plans (PDP), which are used to set career goals and determine a plan to achieve those goals. Our management team encourages us to continually learn as a part of our PDP Action Plan. This learning can be anything from taking an algorithms course on Coursera or writing a quick web API in Laravel 5 or some other new technology. This challenges us to get out of our comfort zone at work and continually grow as engineers.

DB: The company is good about maintaining an appropriate work-life balance. Work is generally confined to business hours at the office. This allows developers time to pursue personal projects that interest them.


Optiver is a tech-driven trading company operating in markets across the globe, and with offices in Chicago, Amsterdam, Sydney and Shanghai. Senior software developer Matthew Nassr has worked on a number of side projects during his time at Optiver, but his most recent project focuses on demystifying trading for developers without finance experience.

What are the most interesting side projects you've worked on?

One project that I’m working on right now is an auction-based trading game that’s used as part of a fun coding competition to expose undergrads to what it’s like to write a trading application. I think trading can be pretty hard to conceptualize for a lot of people, but a coding competition is a great way to explore some of the problems we solve here. It’s been really fun to work with the developers and traders in our office to come up with rules and gameplay dynamics.

How do side projects help you succeed in your day-to-day work?

This project is great because it allows me to think about the things I really enjoy about the work we do here and turn it into a simple game that everyone will be able to play regardless of their trading experience. It helps me frame what is at the core of the problems we’re trying to solve and to look at trading from the exchange side. We usually have to work from a protocol spec given to us by an exchange, but in this case I get to think about what it would look like if I could design it from scratch.

How does Optiver encourage you to take on other new challenges outside of work?

Optiver encourages us to proactively find and solve problems and to take on new challenges. I enjoy exploring wines from different regions around the world, and Optiver has supported organizing our wine club. Every month, I select two new wines for everyone to try and I attempt to explain what makes them unique. I’m not a sommelier by any stretch, but it’s great to continue to learn about new regions and producers while getting tasting perspectives from everyone else at the company.


 

Formerly known as Cleversafe, IBM Cloud Object Storage provides companies with hybrid data storage solutions that combine on-premise servers with public and private cloud technologies. For L3 product support manager Greg Papadopoulos, the most important recent side project was not a deep dive into new technologies. Instead, he built a taxonomy of his team’s technologists to streamline onboarding and help developers weave their side projects into the final product.

What are the most interesting side projects you’ve worked on?

As we experienced growth as a company and Level 3 Product Support, we sought to detail the various interfaces of our team. For each job area or team we interfaced, we outlined specific job functions and approaches required to succeed as an individual contributor and as a team. These served as aides to new hires, who could then quickly grasp the team's vision and scope and ultimately allow for discussion and improvement across the interfaces. We now have leaders for specific sub-teams and functions to facilitate ownership across the team and to cover any gaps.

A specific example is an internal L3 tools development team, which creates and uses applications and scripts to efficiently perform tasks such as log analysis, troubleshooting, data analytics and non-productized workarounds. This team offers an opportunity for members to code and have their code and tools reviewed and used by peers. Eventually, most of the tools make their way into the final product.

How has that project helped your team succeed in its day-to-day work?

The sub-teams we've created will help us measure, react, adapt and improve our approach and results. We've engaged numerous teams for knowledge sharing, training and process improvements. Through communication and information sharing, we expect to see an improvement of product quality coming out of development and test.

Internally, having a clear layout of the team's functions allows for better planning and resource allocation. Finally, the sense of ownership from the sub-team delegation has provided a strong sense of responsibility and accountability across the team.


 

Digital marketing agency Rise Interactive leverages analytics to help its clients make better marketing investment decisions. For senior interaction designer Ben Ludwig and data engineering manager Josh Friedlander, open source projects and programming book clubs provide new lenses through which the company’s upcoming projects can be examined.

What are the most interesting side projects you’ve worked on?

JF: I’ve enjoyed working on several open source database projects using some new and exciting technology. One in particular uses a distributed framework called Druid. It’s a relatively new offering and is extremely good at running analytical queries on very large datasets. I have also been testing Apache Flink, which allows developers to do some pretty incredible things with streaming datasets.

BL: Most recently, I’ve been working with other designers to build a library of user interface patterns to consolidate our front-end code as well as to document our visual language. This system of connected interface pieces (similar to Russian nesting dolls) enables us to make design changes in a few places and have it propagate everywhere. Building this pattern library requires a deeper understanding of JavaScript, so my manager and I started a JavaScript book club. Every two weeks we read a different book in the JS series by Kyle Simpson.

How do side projects help you succeed in your day-to-day work?

BL: The book club assists us in our interaction design and with the transition of our interface patterns from the pattern library to our codebase. So far, we’ve designed styles for typography, buttons, date selectors, tables, charts and navigation using an open-source static site generator called Pattern Lab. By abstracting their purpose for wider use as part of our design system, we can rapidly scale the application and create a more consistent user experience.

JF: Staying active and well-informed on the latest in the tech world by testing new stacks and frameworks allows me to quickly come up with solutions when new problems arise. Most new Lambda and Kappa architectures typically have very specific use cases, so knowing their strengths and weaknesses helps us stay ahead of the curve. It also allows us to quickly evaluate problems and present solid solutions.

How does Rise Interactive encourage you to take on new challenges outside of work?

BL: Whether it’s a new tool or methodology, our team is always encouraged to take on new challenges that empower us to grow. We began exploring atomic design and pattern libraries after attending a conference that featured Pattern Lab. The benefits of this process were immediately apparent when we considered its potential for our platform and our team.

JF: Rise has enabled my team to have access to multiple in-house resources for tech trainings, such as Safari Books online, O'Reilly and PluralSight. Additionally, we are encouraged to attend and present at relevant meetups and conferences.  


 

With its ecosystem of cloud-based APIs for the logistics industry, project44 lets companies automate communications with their supply chains. Outside of his day-to-day work, senior engineer Bryan Karlovitz has been experimenting with new technologies that could potentially change how the company’s developer team works.

What are the most interesting side projects you’ve worked on?

I’ve been experimenting with an object-oriented programming language that plays nice with Java. When a customer connects to project44’s APIs, they’re integrated into a larger network of capacity providers, so we have to plug into different technologies on a regular basis. A segment of our dev team works on those connections, but it can take a lot of time because there are so many different programs and formats involved.

My goal is to use this project to build out connectors that simplify that process. API technology has a significant upside, and using object-oriented languages in tandem with Java to programmatically orchestrate our APIs is reinforcing that upside. It’s fascinating stuff.

How do side projects help you succeed in your day-to-day work?

It’s nice to occasionally take a break from larger projects and approach work from a more personal perspective. It also contributes to a better overall understanding of the product, and helps us see some more out-of-the box solutions. My side project is going to drastically reduce the amount of time it takes our team to integrate API connectors, which is incredible.

Dev communities are a strong indicator of a programming language’s potential. When engineers are excited about the application of a language, they participate more. Side projects allow for more community interaction and more exposure to new languages and their potential. Projects like this one foster innovation within our product, and they help with professional development. I’m constantly learning new things about connectors and Java, and how they fit into the overall framework with APIs.

How does project44 encourage you to take on new challenges outside of work?

The company is dedicated to guiding employees, even helping us learn new programming languages. We have a library of books in the office that’s always growing, and we participate in cross-functional book clubs to discuss what we’re reading every month. Expanding your knowledge base is crucial given the speed at which platforms like Java advance.

 

Images via participating companies and Twitter.

What are your side projects? Let us know with a tip or a tweet @BuiltInChicago

Hiring Now
Basis Technologies
AdTech • Software