Mercury Insurance is looking to solve the problem of designing, developing, and maintaining complex software systems by hiring a Senior Software Engineer to lead agile teams, mentor junior engineers, and ensure the delivery of high-quality software solutions.
Requirements
- 5+ years software programming experience with 2+ years experience in Technologies used at Mercury, more than one years experience leading and mentoring engineering teams
- 5 or more years of backend development experience with Java and Python
- 4 or more years of experience utilizing AWS technologies such as Lambda, CloudWatch, S3, etc.
- 3 or more years of experience with Database technologies such as Casandra, DynamoDB, MongoDB
- 1 or more years of experience with generative AI or Machine Learning
- 1 or more years of experience with front end technologies like React.
- Proficient in programming in one or more industry-standard languages (e.g., Java, Python, Go, C++, JavaScript).
- Experienced in leveraging various data structures, algorithms, and design patterns. Skilled in relational databases, NoSQL, and caching solutions.
- Experienced in APIs using modern protocols like REST and gRPC. Proficient in message queuing, data streaming, workflow, and integration frameworks (such as Apache Kafka, Apache NiFi, Amazon SQS, MS MQ, Apache Camel, etc.).
- Knowledgeable in microservices architecture.
- Experienced in containerization technologies like Docker and Kubernetes.
- Proficient in leveraging DevSecOps to improve engineering efficiency.
- Experienced in designing and implementing high-quality distributed application systems that are modular, configurable, maximize reuse, and are fast, effective, user-friendly, secure, compliant, scalable, and maintainable. Skilled in leveraging analytics data and experimentation to design and improve systems for speed, scalability, and effectiveness. Strong problem-solving skills.
- Preferred: Experience in cloud platforms such as AWS, Google Cloud, or Azure.
Responsibilities
- Write high-quality code for complex scenarios with good test coverage.
- Review and translate product requirements into robust designs to ensure high-quality distributed application systems that are modular, configurable, reusable, fast, effective, user-friendly, secure, compliant, scalable, and maintainable.
- Lead design and code reviews of multiple applications to ensure best practices, adherence to Mercury standards, and high quality.
- Lead the sprint team to deliver new or improved features, addressing any impediments to delivering high-quality solutions in the sprint backlog.
- Collaborate with other teams and stakeholders to ensure successful delivery of intended functionality.
- Mentor and provide technical guidance to other engineers on the team, fostering a culture of innovation and excellence within Mercury engineering.
Other
- Minimum: Bachelor’s Degree in Computer Science, Information Systems or other related fields OR equivalent combination of education and experience
- Preferred: Master’s Degree in Computer Science.
- Excellent communication abilities.
- Strong ability to collaborate and influence cross-functional teams and stakeholders to address impediments and deliver desired results.
- Demonstrated leadership skills through mentoring and providing technical guidance to team members.
- Experienced in driving technical strategy and vision for a team.