Chamberlain Group (CG) is looking for a Sr. Software Engineer to develop and maintain critical development platforms and middleware that form the backbone of the MyQ residential and commercial platforms. This role is foundational for ensuring the seamless operation of MyQ-enabled devices and will support future scaling and integration.
Requirements
- Strong experience with Java, including Java SE, Java EE, JDBC, Hibernate
- Thorough understanding of software development and design principles: In-depth knowledge of software engineering fundamentals, object-oriented design, design patterns, and best practices.
- Thorough understanding of cloud-based development: Expertise in designing, deploying, and managing cloud-native applications with scalability, high availability, and cost efficiency.
- Strong experience in AWS services such as Lambda, EC2, S3, DynamoDB, RDS, API Gateway, CloudFormation, IAM, CloudWatch: Advanced knowledge of AWS services for serverless functions, compute, storage, databases, API management, infrastructure as code, and monitoring.
- Expertise in distributed systems architecture: Experience designing scalable, fault-tolerant, and event-driven architectures with a focus on horizontal scaling, microservices, and distributed systems principles.
- Understanding of CI/CD tools, frameworks, and deployment processes: Proficient in setting up and optimizing CI/CD pipelines using tools like Jenkins, CircleCI, GitLab CI, and AWS CodePipeline.
- Experience with SQL, No-SQL databases, and messaging systems: Expertise in both SQL and NoSQL databases, and messaging systems like RabbitMQ, MQTT, and AMQP for microservice communication.
Responsibilities
- Serve as primary point person and scrum team representative for interactions with product owner, front end, middleware, dev-ops, and firmware functional teams to implement new features
- Participate in technical assessment, scoping and management of changes to the code base on new business requirements, product enhancements and other change requests across multiple scrum teams
- Analyze requirements, collaborate with architects and senior engineers to produce thoughtful software designs of large scope and high complexity
- Work using Agile methodologies such as Scrum to develop middleware
- Lead and contribute to technical discussions in community of practice, design review, pull request, or other technical meeting forums
- Ensure adherence to coding standards and other best practices to create reusable code
- Maintain platform specific software knowledge of key software application features, frameworks, and components in myQ middleware
Other
- Experience with Agile methodologies and Scrum is required
- Ability to lead and work well with others across teams and geographies: Strong leadership skills to guide cross-functional teams, mentor junior engineers, and collaborate across different time zones.
- Ability to debug, troubleshoot, and diagnose issues: Strong diagnostic skills in identifying and resolving issues across distributed systems using AWS CloudWatch, CloudTrail, and AWS X-Ray.
- Ability to estimate work, support project plan creation, and report progress: Expertise in work estimation, project planning, and regular reporting to functional management using Jira or Asana.
- Experience with dependency injection: Expertise in implementing dependency injection frameworks to promote scalability, maintainability, and testability.