Senior Software Engineer

Reporting Location:  Chicago - 345 North Morgan
Workplace Type:  Hybrid

ABOUT US

tms unites technology, marketing, and sourcing to drive transformational change for the world’s leading brands. With 1,200+ employees across 26 countries, we offer an impressive range of solutions – from inspiration and innovation to category management and delivery.

 

Operating as a creative agency, a strategic consultancy, a sourcing business, and a technology provider, we engage with over 110 million customers every single day for our clients, including McDonald’s, T-Mobile, O2, Starbucks, and adidas.

 

Most importantly, we're a place where you can achieve great things, and be recognized as the best.

 

WHAT MATTERS THE MOST

Breakthrough, business-driving ideas come from extraordinary people with the freedom to be their most authentic selves at work. Authenticity and diversity are critical elements of our business. They can only be realized when we create access and equity for all. We foster a culture of inclusion and belonging and aspire to be ever-evolving.

 

tms is a place where brilliant people are better together. If you want your ideas to be heard and to contribute to a culture of inclusion and authenticity, bring us your voice! Visit us at tmsw.com.

 

WHY WE THINK YOU WILL LOVE THIS ROLE

You will be joining a team of dedicated engineers who value their community of knowledge sharing, communication, and growth. We encourage open dialogue between our people and you’ll have the opportunity to collaborate with your peers, leadership, and product teams daily. In this role, which is both technical and collaborative, you will make significant contributions to the success of our internationally popular promotional games – bringing smiles to faces around the world every day

 

WHAT YOU WILL BRING TO THE ORGANIZATION

The experience and energy to roll up your sleeves and commit your excellence to a product, your team, and our customers. You will gain a deep understanding of our API driven global promotions platform so that you and the Applications team are confident ensuring best quality, accuracy, and availability of the high-visibility games the system supports. This role also interfaces on technical subjects with internal partners, external vendors, and clients for troubleshooting and general support.

 

  • Provide advanced application support for our promotion platform, addressing and resolving issues promptly to ensure optimal system performance.
  • Collaborate with the development team to diagnose and troubleshoot application-related issues, identifying root causes and implementing effective solutions.
  • Gain a strong understanding of our platform capabilities so you may confidently collaborate with internal, vendor, and client technical teams for smooth integrations and troubleshooting
  • Monitor system performance and conduct regular health checks to proactively identify potential issues and areas for improvement.
  • Lead incident response to ensure swift resolution of anomalies detected in internal platforms, downstream client environments, as well as partner systems
  • Ensure continuous up-to-date communication on incident response to key stakeholders
  • Author official incident response reports providing executive summary, timeline of key moments, root cause analysis, and recommendations for system and process improvements to prevent recurrence. Provide a walk-through of the report for the larger team and incorporate their feedback.
  • Develop and maintain support documentation, including troubleshooting guides, FAQs, and system configuration details.
  • Assist in the deployment of new releases and updates, ensuring smooth transitions and minimal disruption to services.
  • Participate in on-call support rotations to provide 24/7 assistance as needed.
  • Contribute to the continuous improvement of support processes and tools, leveraging feedback and data to enhance efficiency and effectiveness.
  • Mentor and train junior support engineers, sharing knowledge and best practices to build a strong, capable support team.
  • Responsible for configuring and maintaining cloud environments for application runtimes applying automated scripts to streamline deployment, scaling, and management processes, ensuring optimal performance and reliability

 

SKILLS AND EXPERIENCE WE WOULD LIKE YOU TO HAVE

  • 5+ years of professional experience as an Application Support Specialist, Software Engineer, DevOps Engineer, or equivalent
  • High level of comfort working on Linux from command line
  • Skill with system scripting languages such as Python, Ruby, and bash/zsh
  • Strong understanding of HTTP & REST APIs, with knowledge of how to test using tools such as curl or Postman
  • Proficient in basic SQL, with ability to implement standard SQL commands from the command line to satisfy ad-hoc support requests
  • Good working knowledge of cloud computing concepts
  • Strong understanding of AWS services and security best practices
  • Proficient in monitoring and diagnostic tools such as Grafana and Prometheus, with strong capabilities in setting up dashboards, interpreting real-time data, and implementing alerting systems for proactive incident management.
  • Experienced with centralized logging systems such as Graylog or Loki, with strong skills in writing sophisticated queries to extract, analyze, and monitor log data for operational insights and troubleshooting.
  • Solid understanding of security and encryption practices
  • Ability to read and write IaC such as Terraform
  • Experience with proxy, debugging, and profiling tools
  • Proficiency reading and writing XML/XSD
  • Comfortable with version control such as GIT
  • Excellent problem-solving and analytical skills, with the ability to diagnose and resolve complex technical issues.
  • Strong communication and interpersonal skills, with the ability to work effectively with both technical and non-technical partners.
  • Proactive, detail-oriented, and able to work independently as well as part of a team.

 

 And we’d love you to have…  

  • Experience with system profiling and performance tuning
  • Ability to use Athena to perform ad-hoc support queries against data in S3 buckets
  • Understanding of JVM memory management and garbage collection tuning
  • Experience with Java and/or NoSQL databases
  • Familiarity with Elasticache, DynamoDB, APIGateway, Lambda, Cloudwatch, Cloudfront, Cognito
  • Experience with load testing high performance distributed systems