Ring is looking for a Software Development Engineer who will help us create the next generation of apps, and services. In this role, you will work as a part of the Ring backend team working closely with a cross-functional team of engineers, and product managers to design, test, learn, and iterate on solutions in a fast-paced environment.
The Ring backend team is responsible for the heart of what drives the experiences our Neighbors use to interact with our doorbells, cameras, and other devices.
As an engineer with the Ring backend team, you will get to build low-latency systems with the required uptime of a security system.
You will also get to work alongside a talented team, invested in making each other successful, as well as building revolutionary features for our products.
Design and document distributed systems and microservices.
Implement robust and maintainable code with clear and maintained documentation.
Deliver customer value in iterative fashion while working towards longer term systems to solve roadmap goals with increasing efficiency.
Communicate status and changes to the work they are responsible and accountable for, keep all stakeholders informed of changes and updates to original plan.
Implement test automation on all code implemented through unit testing and integration testing.
Bachelor’s degree in Computer Science or related field.
3+ years of experience working on production systems.
3+ years of experience working with OO design / development principles.
3+ years of experience working with RESTful architecture for web services.
3+ years of experience in a variety of modern programming languages (Java, C / C++, Go, Ruby, Python) and open-source technologies (Linux, Kafka, Elasticsearch).
Master’s degree in Computer Science or related field.
Experience working with AWS services (CloudFormation, DynamoDB, CloudWatch).
Experience working with cloud software services and an understanding of design for scalability, performance and reliability.
Strong communication and interpersonal skills.
Knowledge of professional software engineering practices & best practices for full software development life cycle, including coding standards, code reviews, source control management, continuous deployments, testing and operation.