Mercury Insurance is looking to hire a Senior Software Engineer to design, develop, and maintain complex software systems, ensuring the delivery of high-quality software solutions by leading agile teams and mentoring junior engineers.
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.
- Skilled in leveraging analytics data and experimentation to design and improve systems for speed, scalability, and effectiveness.
- 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.
- 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.
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.
- An in-person interview may be required during the hiring process
- Strong problem-solving skills.
- 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.