Looking for a New Engineering Role? These Companies Are Hiring.
Summer vacations and long weekends haven’t slowed the Chicago tech scene down. Between funding and hiring, the spree of development is continuing into fall, with plenty of big goals on the horizon.
With so much evolution to manage, honesty and supportive collaboration are key in maintaining a strong and cohesive team. At local fintech company PEAK6, this comes in the form of leadership opportunities right from the jump.
“Ever since I started, the team has been highly supportive of all engineers — even new hires — participating in building the company,” said Software Engineer Jake Gathof.
Broad encouragement of creative problem-solving keeps all team members looking for the next best solution and ready to tackle each new project.
Going hand-in-hand with this collaboration is the willingness to learn from one another. In Caroline Joseph’s experience as engineering lead at Kin Insurance, the spirit of teamwork extends to trial and error, with the understanding that sometimes great solutions are hidden beneath just a few iterations.
Creative and open discussions, “have allowed our team to be flexible and open to trying new things, knowing that if it doesn’t work we can always make it better,” she said.
To learn more about the latest developments and growth best practices, we met with 11 local engineering leaders who shared their tech stack, projects they’re working on, and what makes their team unique. If you’re looking for a new role on a growing team, they want to meet you.
In Arnold’s experience at M1 Finance, the encouragement to build positive relationships across departments helps to reinforce a cohesive company culture.
Their tech stack: “Our tech stack consists of primarily Scala microservices written using Lagom and Akka,” Arnold said. “In addition to that, our services run on AWS Elastic Kubernetes Service (EKS), and we use a variety of other AWS Services and Apache Kafka to round out our architecture, which is largely event-coursed and driven by Command and Query Responsibility Segregation (CQRS).”
“One of my favorite tools is Akka Streams, which allows us to build reliable, resilient and performant code to build a wide variety of solutions quickly. The customization and library support around the Streams ecosystem makes it a great tool for both beginners and experts.”
Scaling for the future: “Broadly speaking, the most challenging project that I’m working on right now is starting and building a new team. As you might imagine, as our company grows, we need more engineers to keep building new features. I have been enjoying this ongoing project since it enables me — and the entire team — to grow beyond technical implementations.”
“Engineering Watercoolers”: “This is a completely optional, 15-minute hangout session that typically happens right before most team’s standups. The primary purpose of this meeting is just to get to know each other and build positive relationships with team members that you don’t always interact with on a day-to-day basis.”
In Mao’s experience at Screencastify, the engineering team has sharpened a critical lens when reviewing projects and solutions, and welcomes equally critical feedback free of egos or presumptions.
Their tech stack: “Our original product is written in AngularJS, with our newer products in new Angular,” Mao said. “Almost all of our products live together in a monorepo, and we recently switched over to using Nrwl’s Nx to organize and build our code. Nx has been very useful for keeping dependencies straight among our products’ shared components. As part of the switch, our whole department got to participate in a two-day training to quickly get familiar with Nx commands.”
“Another squad is currently porting over existing Angular code to React/MobX, and I got to ride along in a pairing session the other day. It was refreshing to be immersed in a totally different framework, and eye-opening to see how nimble old code can be.”
No easy answer: “We have started moving some of the older, UI-based features of our Chrome extension product to the web app. It’s been an interesting dive into AngularJS and video processing, and figuring out how to rewrite code with new constraints. It makes me a little nervous to think about, since the extension code was written almost entirely by our founder. This is also one of my first times doing technical planning, but that’s what makes the project so interesting and exciting – the fact that there isn’t an easy answer that already exists.”
Working without ego: “Our team is always looking at our processes with a critical lens,” Mao said. “While we own up to mistakes, there’s no finger-pointing here. I feel like I learn from my team every single day, whether it’s how to write cleaner code or leave better PR comments.”
“We have a lot of full-stack grads, so something silly we do is keep the hot-seat tradition alive during our bi-weekly team meetings. It’s fun to hear the random stories that make up each member of our team. For example, someone in our department walked past Tom Hanks in her dorm hallway and someone else was in the audience when Oprah was giving away cars.”
Camaraderie and collaboration keep engineers like Muratovic inspired and connected to the rest of the iManage team.
Their tech stack: “Our team works with a wide set of tools: Azure, Docker, Kubernetes, Helm, Argo, Jenkins, GitHub, Prometheus, Grafana, HashiCorp Consul and Vault, Golang, Python and Bash,” Muratovic said.
Making a big move: “We are moving our entire container orchestration platform to Kubernetes on Azure,” Muratovic said. “It’s a new platform for us, so we are getting a chance to learn a lot and try out different approaches to continue advancing aspects of the platform. The most exciting part about this process is learning new technologies, expanding our knowledge base to grow our careers and delivering a platform that delights our customers.”
A focus on collaboration: “We are able to share ideas and have open and honest conversations while working with like-minded people,” Muratovic said. “Also, our leadership is willing to work with us to truly understand the challenges and how we are solving these problems. They are open to feedback, and it’s a true work hard, play hard culture. Our leaders know us by our names and as individuals, and they genuinely care about the people. It feels like we are working with our friends, and we don’t just see this as a job. We even game together sometimes — it’s unique compared to other places.”
PEAK6 encourages its engineers to be part of the recruitment process; for Gathof, one of the most rewarding experiences has been seeing interviewees go from application to offer letter.
Their tech stack: “Our tech stack is constantly adapting,” Gathof said. “We’ve traditionally built our stacks using a mix of Java, Golang and Python. Over the last few years, we’ve moved toward open-source solutions and adopted Kubernetes, Kafka, and Airflow as key players in our systems. Each of these comes with their own challenges and rewards, but I’m constantly impressed by how much our stack is evolving. One of my favorite parts of the day-to-day is that I have the chance to interact with and help develop all of these systems.”
Gaining visibility and control: “A big initiative for our team is consolidating the process in which users map out and group concepts in the trading world. While our users have independently created solutions that work for them, we determined that we wanted more visibility and control over the entire process. Our current project involves tearing down these existing solutions and replacing them with something much cleaner, more maintainable and scalable.”
“Rather than building something completely new, we’re being challenged to seamlessly replace the existing solution. As we tackle the logistics behind building the new system and untangling and migrating the legacy code, it sometimes feels like fixing a flat tire while the car is still barreling down the road. But I’m loving the puzzle-solving that goes into designing this architecture and having the chance to approach this project as a full-stack developer.”
Some lighthearted tech competition: “As I’m writing this, our firm is in the middle of one of our quarterly hackathons. Every three to four months, the organization sets aside two days for a lighthearted tech competition. The technology and trading sides of the company will form small teams, come up with an idea, design the project and develop it. The ideas range from highly impractical to wildly useful. Some of them evolve into company-wide projects.”
In Skifstad’s experience, her team members’ desire to learn and their willingness to teach is a key highlight of the culture at Civis Analytics.
“Day-to-day interactions with the stack vary from team to team. For example, our Surveys engineering team has been doing a lot with Python recently, and our Platform API teams rely heavily on Docker for local development. I appreciate that Platform caters to all types of users, so there are more opportunities to engage, both as a developer and a user.”
Establishing new patterns: “I think the most challenging and exciting project my team is working on right now is migrating our front-end over to React Functional Components with TypeScript, pulling some from the Material UI Design System. TypeScript and Functional Components were new to a lot of our team before we started, so this project has involved a lot of learning. I think this newness has worked in our favor; it has caused us to really sit down and think about what we want this code to look like as we establish new patterns and, to some degree, start from scratch.”
A culture of growth: “One of the things I love most about Civis is people’s desire to learn, and their willingness to teach. I joined Civis right out of college and consequently knew very little about the industry standards, let alone what maintaining a powerful tool like Platform would entail. Everyone was (and is) incredibly willing to help bridge those gaps, and is generous with their time. Time and time again, my fellow Civizens answered my questions with patience and empathy, withholding judgment even if the topic was something very obvious to them. I think it is important to point out that this goes both ways too — both leadership and other senior teammates have always been receptive to feedback, and are continuously working toward making the team the best it can be for everyone.”
In a safe environment, team members are empowered to challenge ideas. This spirit of mutual encouragement and respectful debate keeps Joseph engaged at Kin Insurance.
Their tech stack: “Our main app that hosts our policy administration system uses Ruby on Rails on the back end,” Joseph said. “We recently started implementing PostGis, a spatial database extender for Postgres, in order to be able to query geographical objects, which comes in handy when working with different data across the U.S. More recently, we have been gathering data from the National Weather Service and are utilizing PostGis to understand the impact of floods based on geographical location.”
Expanding their geographical reach: “My team, the Expansion Emus (we like animal alliterations), is currently tackling how to expand our geographical reach. Every state is unique and every policy type is unique, so as we grow our team encounters a lot of problems from an efficiency standpoint. We are constantly thinking about how to implement something that is sustainable for the future. Currently, our team has been building an interface for the application that handles how we determine our premium. This will allow developers to avoid being a funnel or blocker, and allow insurance to have more ownership over changes that need to be made. I really enjoy tackling these types of problems because we are focused on spreading ownership across all stakeholders and working on directly growing our business.”
Constantly challenging one another: “Everyone on our team gets along and works together super well. This is something I’ve experienced before, but what makes it even more exciting at Kin is that we are constantly challenging each other. These discussions, because we’ve built a safe environment, have allowed our team to be flexible and open to trying new things, knowing that if it doesn’t work we can always make it better. We have a meeting every week where we share progress on the things we’re working on or are able to walk through a sticky problem with the whole team. Every other week our team gets together for a meeting where we play a game, or just talk — the goal is to see each other and connect outside of what we’re working on.”
Their tech stack: “Our web applications are built with Ruby on Rails. One of my favorite tech tools that our team uses is New Relic,” Minhas said. “It’s a great tool that has helped us not only to troubleshoot bugs in development, but it also allowed us to be proactive about establishing KPIs for our features and ensuring that our features function as we intended them to post-release.”
A flexible process: “The most interesting project that I am working on is building out our guided enrollment funnel. It has a great mixture of building out new features and utilizing components that had already been built. Our flexible and iterative process is also one of the things that I enjoy most about all of our projects. This allows us to release features quickly, and then circle back to them post-release in order to add additional functionality.”
Keyed in on collaboration: “Our bi-weekly demo meetings give us a chance to really collaborate as a team. They are great opportunities to discuss trying out new tools, go over how to use tools that maybe not everyone on the team is familiar with, and share recent projects that we’ve worked on.”
Continuous learning, fresh technology and savvy personnel empower Jeganathan and his team to develop solutions quickly and collaboratively.
Their tech stack: “The CCC parts team specializes in building cloud-based applications using microservices architecture,” Jeganathan said. “We use VueJs, electron and WebSocket for all web communication to establish a real-time data feed for the user interface. Microservices are built with Java and Spring Boot and are delivered through APIs. APIs are secured with an API gateway (APIGEE), and identity management is designed using OKTA. We also use SQL (DynamoDB) for transaction storage and AWS Redshift for analytics.
One of our favorite tools is Elastic Search — it’s an extremely scalable open-source tool, and easy to integrate with REST API.”
“Web Diagnostics”: “This development is about creating a web platform to connect heterogenous systems using diverse protocols (e.g. web socket, HTTPS). It is challenging to integrate different systems/protocols and still maintain a uniform user experience. Where WebSocket brings challenges in terms of security, session management and error handling, http-based interfaces bring challenges like performance and message sequence. We are able to overcome these challenges through a distributed cache, and implementing the interface with the correct design pattern.”
Continuous learning: “The CCC parts team is a great mix of experience, fresh technology and savvy personnel. We believe in apprenticeship, and continuous learning is our primary focus. Collaboration is a high point for us. Our team’s ability to test new tools, develop proof of concepts, convert ideas to product and solve problems in a short period make us unique. We have a process to allow for research spikes ahead of active work sprints, which helps in executing POC and feasibility studies, enabling quick turnaround to meet business timelines. We empower our leads to take independent design decisions and developers to implement new development methodologies.”
Vivid Seats invests considerably in its employees’ professional development; the opportunity to grow alongside his team keeps Pollack inspired and engaged.
Their tech stack: “We like to use the right tools for the job,” Pollack said. “We are always trying to balance pushing the boundaries of new technology with maintaining stability to serve our customers, particularly during the intense traffic spikes of ticket sales. Our most common structure for an application has a Java back end, a node BFF layer, and a React front end. We’re deployed in EKS on AWS, with MySQL as our database. Our big concern, always, is scalability and stability — we serve a high volume of traffic, and we want to provide our customers with immediate results. Our goal is to always be available and frictionless so folks can find the seats they want and check out as quickly as possible.”
Building intentionally: “We’ve broken up our large service monolith and are working to construct a well-balanced service-oriented architecture. I find these sorts of projects really interesting because they drive you to think about your technology differently. In a monolith, you’re just building features and bolting them onto an existing structure. With a more distributed architecture, you spend more time thinking about the key functions of your product, how they interact with one another, and more importantly, how to make them fault-tolerant and resilient. I’ve seen a lot of naive approaches to microservices. Ultimately, those projects result in operational complexity and challenges in development, without getting the promised decoupling benefits. With this project, we are being incredibly intentional about what systems should be broken off and what they should contain, how they can function independently, and how we can really reap the benefits of our efforts.”
Investing in everyone: “I think most organizations tend to toss you in the deep end when you’re hired or promoted, or even more terrifyingly, expect engineers to transition into management or architectural roles with little-to-no training. Vivid is the polar opposite of that — the investment in everyone is apparent at all levels. There are so many resources available to help employees grow, so many people to lean on if you have questions, and the entire team seems genuinely invested in one another. It’s clear that Vivid is only stepping up this commitment to professional growth, and that makes me thrilled for the future.”
At Snapsheet, Kumar has been inspired by a deeply inclusive and empowering environment, which encourages employees to take on bigger roles and responsibilities.
Their tech stack: “At Snapsheet, the tech stack for all of our services primarily comprises Ruby on Rails and React frameworks,” Kumar said. “We utilize a wide variety of AWS services for our infrastructure; ECS, S3, RDS, Elasticsearch, AWS Lambdas, and CloudFront name just a few. All of our services are hosted on AWS, and we use Terraform scripts to manage them. There is also a significant emphasis on automated regression testing using Selenium.”
Engaging challenges: “Our customer base is growing very rapidly and we are fortunate to work on engaging challenges that come with supporting our growing business,” Jumar said. “One of the coolest projects we are currently working on is a JSONAPI standard-based API interface for our platform that will enable flexible and performant integrations with our clients. It’s particularly complex because claims are a complex domain model comprising thousands of fields and dozens of related objects. Optimizing the API layer across our internal teams, for complex front-end applications that we have, and for carriers and partners is a challenging architecture problem.”
An emphasis on growth: “Snapsheet is very inclusive and empowering, and it has enabled our people to flourish. As a growing organization, there are plenty of opportunities to take on bigger roles and responsibilities. Witnessing and taking part in individual growth is extremely rewarding, and has allowed us all to develop in new dimensions.”
Balancing the intricate and disparate requirements of new projects alongside multiple teams keeps Marshall on his toes and invested in his team’s ongoing success.
Their tech stack: “There’s a lot of shared investment and and support for modern web technologies like Ruby on Rails and React, and that helps us deliver features and iterate quickly on business functionality. But I’m most excited about how Chime is strategically investing our ‘innovation tokens,’ exploring Golang for some of the warmer code paths, and conducting protocol buffers and remote procedure calls for interoperability between services. I’m also blown away with the recent work by our infrastructure and developer experience teams, making dreams come true with canary deployments, automated rollbacks and self-service provisioning.”
In development: “We are currently working on a platform for risk policies, to empower business user to control thresholds and behavior across the breadth of Chime products and services. It’s a full-stack project that has to meet disparate requirements — the policy drafting GUI has to be intuitively usable by non-engineers; the policy language must be rich and support calls to machine learning models for dynamic inferences; the deployment of policies has to be safe and robust; and the architecture has to be fault-tolerant and distributed to support many services and various types of risk decisions. I like balancing these requirements and collaborating across teams and departments to realize incremental solutions. I’m happy that Chime is making an investment to build a re-usable risk platform and planning ahead for growth.”
Making a difference: “Chime is highly productive and lean, and engineering is tightly woven into the business organization. Chime made billions of stimulus dollars available to members several days before other financial companies, and that made a difference to our members who needed it most.”