Senior Software Engineer - Distributed Systems, Camera
Who We Are
At Cisco Meraki, we know that technology can connect, empower, and drive us. Our mission is to simplify technology so our customers can focus on what's most meaningful to them: their students, patients, customers, and businesses. We’re making IT and security easier, faster, and smarter with technology that simply works. Meraki’s camera team is a growing, fast-moving team building security cameras with a unique edge-storage architecture, redefining an industry where innovation is rare. The MV security cameras blend the elegance and ease of use of high-end consumer systems with the immense scalability, security, and power of enterprise-grade solutions.
Who You’ll Work With
You’ll get the chance to work with a group of very skilled but low ego and collaborative engineers, with deep experience from both established companies to startups. The MV Backend team is focused on delivering stability, scalability, speed, and quality in MV’s cloud services. You will be joining a team that manages core portions of the system’s architecture. This includes our cloud proxy, which helps securely deliver video from cameras to user’s browsers or phones (wherever they are in the world), our video processing and export pipeline, systems that archive video to the cloud, the systems that trigger and deliver crucial alert notifications, and more.
What you'll work on:
We are looking for a Senior Software Engineer who will architect the next generation of our systems to support our rapidly growing business. You will help us as we convert our system to a set of highly reliable microservices, and work to bring new features to market at scale.
- Help plan and and execute our migration of existing services to microservices (Docker, Kubernetes)
- Design, code, package, and deploy core applications, with a focus on security (Go, Python, Scala, Java, Ruby, etc.)
- Create and prioritize useful and actionable metrics, monitoring, and alerting (Statsd, Grafana, Elasticsearch, Kibana, Pagerduty)
- Continuously improve resilience and performance of services via chaos engineering or other means
- Lead, mentor, and spread best practices to other engineers on the team
- Contribute to documentation to clearly define out workflows and service architectures
- Create unit, functional, and integration tests for services to ensure quality and correctness
You are an ideal fit if you:
- Have 2+ years of production experience with containers and container orchestration such as Docker and Kubernetes
- Have 4+ years of production experience with one of these or similar languages: Go/Python/Scala/Java/Ruby
- Successfully developed distributed systems at scale (a plus if IoT) in the past
- Would be excited to join a people-focused team, and look forward to contributing time to help your teammates
- Are familiar with Linux at an advanced level and can debug performance of a web service
- Take a focused, organized approach to development, testing, and quality
- Understand that privacy is inherently valuable for everyone, and work to make sure our system is transparent in its operation and secure with its data
- A plus: have experience with Audio/Video codecs (H264, etc.) and streaming protocols like HLS, RTSP, DASH
Cisco is an Affirmative Action and Equal Opportunity Employer and all qualified applicants will receive consideration for employment without regard to race, color, religion, gender, sexual orientation, national origin, genetic information, age, disability, veteran status, or any other legally protected basis. Cisco will consider for employment, on a case by case basis, qualified applicants with arrest and conviction records.
At Cisco Meraki, we’re challenging the status quo with the power of diversity, inclusion, and collaboration. When we connect different perspectives, we can imagine new possibilities, inspire innovation, and release the full potential of our people. We’re building an employee experience that includes appreciation, belonging, growth, and purpose for everyone.