In order to be considered for this role, you MUST apply only on: http://grnh.se/oj2wtf1
The Backend team is responsible for developing, scaling, and maintaining both Dashboard, our web application, as well as the lower-layer services and infrastructure that support all of our Meraki devices worldwide. Every day, our servers handle tens of millions of users that access our Dashboard app, hundreds of millions of visitors clicking through a Meraki splash captive portal page, and tens of billions of requests from the millions of devices worldwide that check in more than once a minute, 24/7/365.
While our team largely focuses on backend services and infrastructure, we also work on customer-facing features, including some of Meraki’s most data-heavy features. Because of the broad nature of our responsibilities, the backend team works across all levels of the stack—from firmware all the way up to UI—on projects that span numerous domains: networking, databases, web app development, systems, and even approximation algorithms to help with data processing. Finally, along with the Backend Infrastructure and Security teams, we are one of the first teams to respond when critical backend issues arise.
Databases: PostgreSQL and LittleTable, our custom time-series relational database that provides high-throughput access to 100 of TB’s of data
MTunnel, the custom VPN-like infrastructure that provides secure connectivity between hundreds of globally-distributed servers and millions of Meraki devices worldwide
Custom frameworks for collecting data from and pushing data to Meraki devices, as well as frameworks for processing and aggregating all the data we collect from our devices
Approximation algorithms that trade off some accuracy for much better performance
Gossip and dissemination protocols for propagating data across our backend servers
Other core backend features: proxies, authentication, dynamic DNS services, and more!
3+ years of relevant work experience in software development, particularly in systems, networking, distributed systems, databases, or data processing frameworks
Strong familiarity in one of the following languages: Scala, Ruby, Java, Python, C/C++
A disciplined, organized approach to development, testing, and quality
Excellent communication and presentation skills
Experience in analyzing, scaling, and debugging large systems processing lots of data
Passion for the science in computer science
A BS/MS/Ph.D in Computer Science, Computer Engineering, or a STEM field
Substantial personal projects or contributions to open-source projects
Experience with dev-ops/infrastructure tasks
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.