7 Chicago devs discuss their most interesting challenges — and the tech they use to take them on

by Michael Hines
August 16, 2018

Developers have no shortage of job opportunities, especially in a city with a fast-growing tech scene like Chicago’s. However, when it comes to finding the right fit, the chance to tackle challenging projects and experiment with new technologies is often as important as perks and pay — if not more so.

We recently spoke with seven Chicago technologists about why they joined their companies, the most exciting challenges they recently tackled and the new technologies they’re working with and keeping an eye on.

 

Enova Chicago tech company
PHOTO VIA JIM PRISCHING

Enova is an online lender that uses advanced analytics and machine learning to provide loans to those who cannot access them through traditional means. Joining a new company is always challenging, but Senior Software Engineer Snigdha Sinha said the company’s custom onboarding process allowed her to hit the ground running.

 

What about Enova made you want to join the team?

I was excited to learn new languages and a new business. I’d heard great things about the company and knew they were one of the biggest fintech companies in Chicago working on web development, payment technologies and microservice architecture. Enova made it easy to transition, with weeks of dedicated time to learn their tech stack and business through the Baseline learning program. It helped me get off the ground running quickly. Also, the perks are awesome.

 

Can you talk about a challenging project your team recently completed?

I recently led a tech initiative that was one of the most exciting and challenging projects of my career. We were breaking out a monolith app into a service-oriented architecture to enable greater speed, performance, efficiency, scalability and agility to allow us to easily make updates and add new products. I was responsible for collaborating across teams to understand product and business requirements, gaining buy-in from various tech teams, and partnering with engineers and architects to ensure sustainability and scalability. Plus, I got to write a service in Go, which I love.

 

What technologies does your team use, and what are you looking to incorporate or keeping an eye on?

Our CTO consistently emphasizes the importance of testing new technologies to see how they can help us improve as a company, create a better customer experience and deliver on our mission. We’re always scanning the horizon for new, useful solutions. Right now, we’re working on incorporating Go to write newer services. The services team is also working with Amazon Web Services and leveraging Lambda for some of our high-volume, performant services.

 

All Campus Chicago tech company
PHOTO VIA ALL CAMPUS

All Campus combines custom web design with data analytics to help colleges and universities both grow their online enrollment and retain remote students. Software Engineer Chris Grubbs said the small size of his team means they’re able to move quickly when solving problems, like how to scale their software in a way that keeps both performance and maintainability intact.

 

What about All Campus made you want to join the team?

Being able to choose every aspect of the stack was a big plus. There wasn’t much legacy code or many architectural decisions to deal with, and I’ve been able to pick the right tools for the job. Just being able to use Python 3 alone has been huge!

 

Can you talk about a challenging project your team recently completed?

As our projects have moved from alpha toward beta, we’ve had to start seriously considering how to organize things for the long term. Figuring out how to make our software scale, not only in terms of performance but also maintainability, has been an ongoing challenge for us. Fortunately, we’re a small and agile team, and we’ve got a lot of flexibility in making these important decisions.

 

What technologies does your team use, and what are you looking to incorporate or keeping an eye on?

Our team currently uses Postgres and some Redis at the data level, Python on the server side — Flask and SQLAlchemy — and a React/Redux app on the front end. This is all running on Amazon Web Services. For the future, we’ve been looking at telephony integration with Twilio, and I’ve also been looking into WebSockets to allow our front-end apps to respond to events in real time.

 

Peapod Chicago company
PHOTO VIA PEAPOD

Peapod, founded in 1989, is an online grocery delivery company that is currently active in 24 metropolitan markets across the Midwest and East Coast. Senior Software Engineer Andy Kang said he caught a specific vibe from the tech team that made him excited to join the company.

 

What about Peapod made you want to join the team?

I got the vibe that the team enjoyed technical challenges and pursuing continual improvement, both in their skills and of the architecture of various systems. And, personally, I was coming from a consulting role where I was mostly doing tech lead roles and was ready for a change. I was excited to go back to 100 percent coding.

 

Can you talk about a challenging project your team recently completed?

Our e-commerce site product data and searches had previously been sourced from an in-memory cache, Java Database Connectivity or object relational-mapping, calls to a relational database and Solr search. We created an abstraction layer using an Elasticsearch cluster that would get near real-time batch updates from the relational database and provide real-time search capabilities of product data live for the site. This has improved server startup times, memory consumption and reliability. It was challenging due to the amount of code that had to be refactored and tested, since product and search data affected many of our site’s APIs and pages.

 

What technologies does your team use, and what are you looking to incorporate or keeping an eye on?

Our back-end team codes in Java, Groovy, Kotlin, and JavaScript or TypeScript. We use Spring Boot, Elasticsearch, various relational databases, Angular, Nginx, SaltStack, Consul, Apache Mesos, VMs, Docker, etc. Some of the team has been exploring Spark for machine learning, creating ANTLR grammars, scalable in-memory cache and more.

 

Braintree Chicago tech company
PHOTO VIA BRAINTREE

Braintree’s technology is used by companies of all sizes to accept and process payments. Risk Team Tech Lead John DeWyze and his team recently completed development of a new app, which was built from scratch. Needless to say, that presented some challenges for DeWyze and his team.

 

What about Braintree made you want to join the team?

The technological problems at Braintree are fascinating, but the team is what keeps me here. We value learning, education and approaching problems as a team. If I have ever have a “how” or “why” question, the answer is always “let's go look.” This makes Braintree a comfortable place to learn, grow and teach.

 

Can you talk about a challenging project your team recently completed?

We had the opportunity to start a new app from scratch, which brings with it the challenge of working from a blank canvas and gaining enough perspective to not let the perfect be the enemy of the good. We had an extract, transform, load problem. We needed to retrieve data from multiple systems, send it to a peer team for analysis and update our records with the results. To make this reliable, we focused on things like idempotency and pre-aggregation of data to avoid large query times. As our app entered regular use, this approach helped us debug issues, backfill existing data and handle errors robustly.

 

What technologies does your team use, and what are you looking to incorporate or keeping an eye on?

Our main app is Ruby on Rails, which serves us reliably. We recently switched to deploying to Braintree’s Kubernetes cluster. The easy and fast deployments in Kubernetes allow us to iterate quickly. Looking to the future, we are adopting Apache Spark to manage our ETL jobs, which we anticipate will help our data processing enormously.

 

Veritas Health Chicago health tech company
PHOTO VIA VERITAS HEALTH

Veritas Health’s network of online publications features content written by physicians that helps people get a better understanding of chronic pain causes and conditions, as well as how to manage their ailments. Senior Web Engineer Debra Venckus said the company’s approach to incorporating new technologies is inspired by, of all things, a great white shark.

 

What about Veritas Health made you want to join the team?

During my interview, the new director of IT described his vision for moving the company forward technologically. My skills, experience and ideas were eagerly welcomed, and I could see how I would make a significant impact. We were encouraged to investigate new technologies to determine if they would benefit our infrastructure or improve workflow. Technology requires we remain agile, flexible and adaptable. We are constantly learning and investigating, which I love.

 

Can you talk about a challenging project your team recently completed?

We needed to build out our infrastructure and find an efficient way to manage it. We began an initiative to migrate to new cloud servers managed with the DevOps tool, SaltStack. It took about nine months to complete and required us to do a thorough inventory of every server setting, software package and script on each of our servers. The effort was well worth it. We have been able to expand our fleet of servers, automatically deploy new servers quickly and integrate the SaltStack tools into our local development environments for seamless integration and testing.

 

What technologies does your team use, and what are you looking to incorporate or keeping an eye on?

We use Nginx, Varnish Cache, Drupal, Memcached, Redis, MariaDB, SaltStack, CentOS, Ubuntu, Vagrant and VirtualBox, just to name a few. We have been investigating Drupal 8, Laravel, Docker, Node.js, WebPack, Selenium for automated testing and web monitoring tools with StatsD. Tech companies have to be like great white sharks. If a great white shark stops swimming, it dies. If a tech company stops innovating, it risks its demise.

 

Supernova Companies Chicago tech company
PHOTO VIA SUPERNOVA COMPANIES

Supernova Companies’ technology enables both wealth management firms and banks to offer loans that enable borrowers to use their investment portfolios as collateral. Developer Manager Yougu Yuan and Chief Information Security Officer Ahmed Fawaz both weighed in on recent challenging projects they’ve tackled.

 

What about Supernova Companies made you want to join the team?

Yuan: Being in a small tech team, one gets the chance to participate in the entire lifecycle of a technical solution. Also, we are encouraged to learn from the latest tech trends and get the opportunity to utilize them to solve real-life problems efficiently. This is not the same kind of experience one would have with a very established company that has many existing legacy systems.

Fawaz: Coming from an academic background, I was interested in testing out my ideas and research in a production environment. The tech team at Supernova was open to testing new paradigms in security. I was attracted to the motivation, excitement and dedication of the team.

 

Can you talk about a challenging project your team recently completed?

Yuan: We have recently implemented a new encryption solution in our platform, which utilizes an external key management system. It is required to not only provide key safekeeping mechanisms that meet the needs of the financial industry, but it also exhibits high availability, supports automatic key rotation and needs little maintenance.

Fawaz: I recently joined the company and am working on automating a lot of the processes that are currently in place. Moreover, I have been working on baselining the security posture of the company while evaluating and auditing the current deployed infrastructure.

 

What technologies does your team use, and what new technologies are you looking to incorporate or keeping an eye on?

Yuan: We extensively use Java on the back end and JavaScript on the front end. We deploy all our infrastructure inside AWS, and we have been using many AWS offerings such as Elastic Container Service, Simple Notification Service, Simple Queue Service, etc. throughout our system. We started to consider the emerging serverless approach as it might help us be more efficient, if we can incorporate that correctly into our software development lifecycle process.

Fawaz: We are looking at passwordless authentication for our systems. Passwordless authentication is a new method that relies on tamper-proof hardware to store user credentials. Such a method allows us to alleviate the risks of traditional password-based authentication, such as phishing, password reuse and weak passwords.

You Might Also LikeBest Software Engineer Jobs in Chicago

Jobs from companies in this blog

Chicago startup guides

LOCAL GUIDE
Best Companies to Work for in Chicago
LOCAL GUIDE
Coolest Offices in Chicago Tech
LOCAL GUIDE
Best Perks at Chicago Tech Companies
LOCAL GUIDE
Women in Chicago Tech