Why does Stephen Mullins have a take-a-number machine on his desk? To encourage employees to sit down and seek advice. In collaborating through challenges in this way, the team at Signal is able to share lessons learned in order to better achieve their goals.
We spoke with Signal’s engineering team about what it takes to deliver customer insights from data to brands and how they work together.
EMPLOYEES: 136 local; 167 total
WHAT THEY DO: Signal’s consumer identity resolution platform collects customer data from online and offline sources to help brands deliver more contextually relevant messages and enhance the overall customer experience.
WHERE THEY DO IT: Headquartered in Chicago.
ART TALK: Signal’s Chicago office is home to The Spotlight, a rotating art gallery where they feature an artist each quarter to speak about their work.
PLAY HARD: During the 2017 Signal Summer Outing, employees walked 400,000 steps combined in an Amazing Race-inspired competition before enjoying a booze cruise on Lake Michigan.
Stephen Mullins, Director of Engineering
Mullins is the technical manager for Signal’s core platform, which tracks consumer data and provides analysis for brands to identify customer interests and trends. He works closely with the product organization and leads the technical direction and implementation of the product.
BEYOND WORK: Mullins paints miniature figures for his kids’ tabletop games.
What’s the one thing you can say you love to do at work?
Stephen: I love helping people and solving their problems. A few of us who have been here the longest even have a take-a-number machine next to our desks. I get satisfaction out of being able to unblock someone's issue or answer a question that has stumped them.
I get satisfaction out of being able to unblock someone's issue or answer a question that has stumped them."
You've been a mentor to Jake, a software developer at Signal. Have you learned anything from him, in turn?
Stephen: Mentoring is a way for me to hone my teaching and coaching skills. I have to become more vulnerable and lay everything out for this person, instead of assuming they know what I'm talking about. I really have to "know my stuff" to explain it thoroughly.
I also didn't fully realize how much I've learned while working on systems or authoring parts of our architecture until I had the opportunity to mentor. Not long ago, Jake sat with me somewhat unannounced. I saved my work and switched to his code to help him. I typed through several source control (Git) commands and flipped between a few terminal windows. When I looked at Jake, his eyes were bulging. It's fun to remember what it was like starting out. I'm not some genius programmer, I've just been at this for a while.
Is there a boss who has influenced you? How did that person shape who you are as a leader today?
Stephen: I've learned a lot from our longtime CTO, Eric Lunt. He showed me a level of code quality that I hadn't seen at other companies. Much of our development ethos is directly from him. We review every commit of code before it goes into production. We design for failure, scale and reliability. He has also shown me how to lead quietly and give promising individuals the chance to grow (and fail) while providing guidance.
Tell us about the quarterly happiness surveys. How have you benefited from that program?
Stephen: Once a quarter, our vice president of engineering sends out a survey to everyone in development and product. The questions are the same each quarter so we can compare and look for trends, and the answers are anonymous. The survey gives us a look at problems across all engineers and provides another opportunity for someone to raise issues.
We've identified individuals who were overwhelmed and found gaps in our tooling and processes that slowed engineering down. On the flip side, it's also a great way to know we're on the right track. When asked, "What do you like best about working here?" a lot of responses cite the people and culture. This reaffirms that we've made great decisions and should keep making them.
Sam Johnson, Software Engineer
Johnson builds out software integrations between Signal and other entities, troubleshooting existing integrations, and supporting production systems. His team helps clients communicate with other partners and vendors through Signal’s platform.
BEYOND WORK: He plays in bands and runs a small recording studio.
What attracted you to Signal?
Sam: Signal’s culture was one of the most attractive things about the company. I felt like the company was doing some interesting work, but I was most impressed with the people I met and the atmosphere Signal cultivates.
I had previously worked for an ad tech company in New York and was aware of Signal’s business, so it didn’t take me too much time to ramp up when I started. I’ve made some of the best personal relationships over the course of my career here, and I’ve learned more from my peers than anywhere else I’ve worked.
I’ve made some of the best personal relationships here, and I’ve learned more from my peers than anywhere else I’ve worked."
What is the breakdown of your day?
Sam: Some days, I spend the majority of my time building out a new integration or feature for our platform. Other days, I spend most of my time supporting an existing system in production or troubleshooting problems. We don’t spend a lot of time in meetings, which is good. We have some very dedicated product people at Signal, so the time spent analyzing requirements usually isn’t too egregious. They’re easily understandable and succinct.
I understand you’ve worked a lot with Andrew Violette, a development manager at Signal. What did you learn from him?
Sam: Andrew has helped me become a better developer. He’s helped me improve my quality of work, my workflow and has shown me some techniques that make me more productive. Whenever I have questions or need help with certain projects, he makes himself available.
Signal manages an immense amount of data. What challenges does that present? How do you overcome them?
Sam: Everyone in the development organization is involved in managing and mitigating the large volume of data we ingest, and everyone needs to be cognizant of scalability. Our team has been making a number of optimizations in the way our applications consume and publish data.
We’ve spent a lot of time evaluating the operational complexity at each point in our applications’ lifecycles and have taken on efforts to utilize new technologies. This has involved rebuilding and improving some of our existing infrastructure, as well as developing new data pipelines. This has been one of our company’s primary goals, but we’re making significant progress at the moment.
Jake Sikora, Software Developer
Sikora is on the platform onboarding activation (PAO) team, which maintains and enhances the back-end stack for client user data in Signal’s network. As a software developer, Sikora participates in the entire process of feature development, among other tasks.
BEYOND WORK: Sikora is an avid boulderer.
I understand Stephen Mullins has been a mentor for you. How has working with him helped you?
Jake: Stephen was my team lead when I started professional development four years ago. After a two-year stint on the reporting team, I re-joined Stephen on the PAO team. On his team, I’ve had many one-on-one meetings to discuss my professional growth, personal growth and any other questions I have.
One of the most important meetings I had was regarding the developer lifestyle. I struggled with the endless ups and downs that occur from starting and solving a new problem, entering a new tech stack and becoming an authority on that stack. He helped me come to terms with the lifestyle and develop ways to combat the downs. I can’t imagine a better mentor, manager or engineer than Stephen.
What do you look for in a candidate?
Jake: The greatest asset of Signal is the people. Our product is extremely complex and requires effective communication companywide to meet the needs of our clients. Collaboration is an important aspect of Signal culture, so being an effective communicator is of the utmost importance. It is common for engineers to get past their sticking point. If you can’t communicate your problem, then chances are you won’t be fixing it quickly.
Collaboration is an important aspect of Signal culture, so being an effective communicator is of the utmost importance. "
If you look back at what the team has achieved so far, what are you proudest of?
Jake: One of our custom features for a large client would take 12-plus hours to process each day. Our team spent three weeks spiking with different technologies (Apache Hive, Apache Spark, Kafka Streams, etc.) to determine which would best suit our purposes. The majority of our solutions improved the current architecture, but our winner took 13 minutes to fully process with 100 percent data accuracy.
Andrew Violette, Development Manager
Violette manages the data distribution and reporting teams at Signal, which allows clients to send data to their vendors. His job includes scoping work, writing code and managing his staff.
BEYOND WORK: He enjoys pickling and canning.
What attracted you to Signal?
Andrew: I am a programmer with experience in a variety of industries. I've worked for the U.S. Department of Defense, written portions of the OS/2 operating system for IBM and written online travel code at Orbitz, among other things. I was attracted to Signal when it was an early-stage startup, not because of the advertising industry, but because the people who put the company together had such great reputations.
What’s the one thing on your to-do list that you love to do?
Andrew: I love writing code. It's the one constant that has driven me through my career. There's a certain amount of fun taking a problem and codifying in logical terms and then having it work in production.
I love writing code. It's the one constant that has driven me through my career."
When interviewing, what do you look for in a candidate?
Andrew: An ideal candidate has Java experience and likes to solve problems involving hooking up complex distributed systems. They also need to work well with other people and have good communication skills. We are a client-facing team that deals directly with product, client services and site reliability engineering.