Job Title: | Senior Software Engineer |
Employment Type: | Full time |
Address: | Chicago, IL |
Req ID: | 4876 |
Pay Rate: | 90130.0 - 135240.0 |
Description
The Senior Software Engineer on the Customer Master Data Management (MDM) team will be a highly skilled technical professional with broad application development experience. This role involves owning feature development through analysis, development, and execution for the MDM solution. You’ll work in an agile, collaborative environment to understand requirements, design, code, test, and support applications that serve our high-value customers. Success in this role requires a blend of technical acumen and leadership skills to drive feature delivery using cloud technologies. This person must be creative, ask questions, and be comfortable challenging the status quo.
Qualifications
- Bachelor’s degree in Computer Science, Information Systems, Computer Engineering, or equivalent.
- 10+ years of IT experience, with at least 3 years in a Senior Software Engineer or Technical Lead role.
- Strong background in solution design, data modeling, and systems analysis.
- Minimum 5 years of hands-on experience with AWS or similar cloud-native architecture.
- Proficiency in Java, Spring Boot (including WebFlux), and microservices architecture.
- Experience with event-driven systems using Kafka and container orchestration with Kubernetes.
- Solid understanding of CI/CD pipelines and tools such as CircleCI, Jenkins, and Git.
- Experience designing and consuming RESTful APIs; familiarity with GraphQL is a plus.
- Working knowledge of relational and NoSQL databases (e.g., PostgreSQL, Oracle, Snowflake).
- Familiarity with Infrastructure as Code (IaC) tools like Terraform or CloudFormation.
- Understanding of secure coding practices and cloud security principles.
- Experience with monitoring and observability tools (e.g., Honeycomb, Datadog, ELK).
- Proven ability to drive features from concept to production in a results-oriented, agile environment.
- Excellent communication skills, with ability to create specifications and reports, deliver presentations, and explain complex technical concepts in simple terms.
- Demonstrated ability to perform complex analysis, provide recommendations, and consult effectively with stakeholders.
- Strong problem-solving and decision-making skills, with the ability to prioritize and execute tasks in a fast-paced environment.
- Self-motivated, proactive, and accountable, with a hands-on approach to exploring new technologies and supporting implementation through proof of concept and development.
Responsibilities
- Collaborate with product owners to understand business needs and conceptualize effective solutions.
- Define tasks, sequence of events, and dependencies required to deliver features.
- Design high-level architecture and collaborate with enterprise architects to ensure alignment with architectural and security standards.
- Lead feature delivery in coordination with dependent teams.
- Participate in on-call production support and ensure system reliability.
- Develop and maintain applications using Java, Spring Boot Microservices (WebFlux), AWS services, Kafka, Kubernetes, and implement automated testing, code coverage, and performance testing.
- Deploy applications using CI/CD pipelines (CircleCI, Jenkins) and ensure smooth integration and delivery.
- Contribute to feature estimation, prioritization, and sprint planning.
- Own key relationships with upstream and downstream platform teams to ensure successful delivery.
- Champion best practices in software engineering, including code reviews, documentation, and continuous improvement.
- Actively support the RB Unreserved Commitment to Safety: to send everyone home, every day, the way they came to work, by taking personal responsibility for the safety of your team, co-workers, and customers.
Employer