Senior Software Engineer - Authentication & User Management, Remote
Location: San Francisco, California
Job Type: Full time
At Cisco Meraki, we know that technology can connect, empower, and drive us. Our mission is to simplify technology so that our customers can focus on what's most meaningful to them. We’re making networking technology that simply works for customers across the globe, and our hardware is all connected: managed and monitored through our cloud.
With nearly 10 million networking devices deployed globally, our hardware is extremely popular, which leads to interesting engineering challenges. Our globally-distributed backend systems handle tens of billions of requests every day. We're looking for engineers to join us in solving the challenge of growing and evolving our existing services and our organization for the next level of scale and reliability.
At Meraki, we focus on building real products that delight our customers. We believe in fostering a positive culture by hiring, coaching, and empowering smart, helpful, humble people and providing opportunities for all employees to thrive. With the support of management, we constantly look within for ways to improve organizationally. We maintain a positive relationship with Cisco that gives us the stability and resources of a large company without sacrificing theatmosphere of a smaller one.
About the role
We are looking for a Senior Software Engineer(typically, at least 7 years of experience) to help establish a new team that will design, plan and build systems, API’s and features to view and configure network user records and access. With the help of product managers and UX designers, you will construct intuitive and powerful workflows to solve important problems for IT professionals around the world. The systems you create will open the door for rapid innovation.
Meraki’s product Dashboard teams are small, agile teams that strive to create unique products with feature-rich abilities balanced by simplicity. Our full-stack engineers are well versed in a wide array of CS concepts and excited to jump around languages, platforms, and all levels of the Meraki stack! As a first engineer on a new team, you’ll be in a position to establish inclusive cultural norms and cultivate ideal conditions for productivity, collaboration and growth.
You’ll be developing the tools our customers use to manage and monitor access to networks all over the world. You’ll help establish robust APIs for managing user records, build a platform for features that sync to identity providers used by our customers, and ensure that our user authentication and session management are robust and secure.
What you will do:
- Enable a delightful, simple, powerful end user management experience for both customers and internal developers
- Delight our customers: Work with product managers and UX designers to construct intuitive workflows to help IT professionals manage users on their networks
- Empower our developers: Transform existing systems and open the door to innovative feature development across the Cisco product portfolio
- Contribute to a kind, inclusive team that’s enthusiastic about creatingmagical customer experiences
- Learn aboutSCIM and other industry standards for identity management and exchange
- Design and build RESTful APIs for backend systems in a variety of languages: Ruby on Rails, Go, Scala – choose the best tools for the job
- Make an immediate andsignificant difference to the hundreds of millions of users who rely on our access points, switches, security appliances, cameras and sensors every single day
- Collaborate with teams of UX specialists, security engineers, SREs, and product managers to deliver secure, reliable, thoughtful experiences to customers
- Share your knowledge by giving brown bags, tech talks, and evangelizing engineering standard methodologies
- Mentor other engineers and help cultivate a high impact team with excellent technical standards
Here are some projects that the new End Users team will work on:
- Design and build simple, scalable APIs manage user records
- Create flexible, reliable systems for exchanging user information with external and internal services
- Redesign and migrate object and storage models to scale up performance of existing workflows
- Work with our UX team to deliver modular, extensible UI components for a consistent, intuitive customer experience managing network users
- Define best practices for new features that rely on network user data
- Manage security of end user services, including resolving new vulnerabilities surfaced by our security team
- Evangelize standards for storing and transmitting critical, personal data, in accordance with GDPR regulations around the globe
- Build observability and troubleshooting tools and create dashboards for visibility; debugging and identifying performance issues.
- Introduce comprehensive code quality metrics
- You like thinking about customer centric designs
- You’ve written a lot of production code, and learned to avoid a few of the pitfalls
- You have extensive experience with the tradeoffs involved in object modeling in a relational database (we use Postgres)
- You thrive when you’re given freedom and autonomy
- You’ve practiced TDD at some point, maybe fell in love with it
- We're looking for leaders, whether that means you want to be a strong leading individual contributor or you want to grow into a tech lead role
- Experience in analyzing, monitoring, and troubleshooting distributed systems.
- You’ve worked on at least one secure web application service (such as login, access control, etc)
- You have a focused, organized approach to design, implementation, testing, and quality
- Know your way around a backend web technology, like Ruby on Rails
- Excellent communication skills (our team is distributed across several time zones).
- Are interested in career advancement. We're looking for leaders, whether that means you want to be a strong leading individual contributor or you want to grow your leadership scope
Bonus points for:
- Interest in general security and/or data privacy and/or zero-trust networks is a plus.
- Experience or interest in networking
- Experience building cloud-based infrastructure and services (e.g. web applications)
- Experience building rich web UIs with React (and Redux) or similar frameworks
- Personal projects or contributions to open-source.
- Mentorship or leadership experience
We encourage you to drop us a line even if you don’t have all the points above. That's a lot of different areas of responsibility! We will help you grow your expertise as needed because we believe that great engineers come from a diverse set of backgrounds.
To give you a taste of what you could be learning in your time at Meraki, our tech stack:
- Ruby (Rails, EventMachine, Unicorn), C++, Scala (Jetty, Akka, Netty), Go
- Git, SVN, Gerrit, Gitlab, Jenkins, TeamCity
- Postgres, LittleTable (our own time-series DB), ElasticSearch
- Debian, Ubuntu, OpenStack, AWS, Docker, Kubernetes, Ansible, Terraform and Vault by HashiCorp
- gRPC, Protocol Buffers
- ELK, Graphite, Grafana, Prometheus
- Artifactory, NGINX
Life at Cisco Meraki
We are passionate about building real products that our customers love. We are confident you will love it here.
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.
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.
Message to applicants applying to work in the U.S.:
When available, the salary range posted for this position reflects the projected hiring range for new hire, full-time salaries in U.S. locations, not including equity or benefits. For non-sales roles the hiring ranges reflect base salary only; employees are also eligible to receive annual bonuses. Hiring ranges for sales positions include base and incentive compensation target. Individual pay is determined by the candidate's hiring location and additional factors, including but not limited to skillset, experience, and relevant education, certifications, or training. Applicants may not be eligible for the full salary range based on their U.S. hiring location. The recruiter can share more details about compensation for the role in your location during the hiring process.
U.S. employees have access to quality medical, dental and vision insurance, a 401(k) plan with a Cisco matching contribution, short and long-term disability coverage, basic life insurance and numerous wellbeing offerings. Employees receive up to twelve paid holidays per calendar year, which includes one floating holiday, plus a day off for their birthday. Employees accrue up to 20 days of Paid Time Off (PTO) each year and have access to paid time away to deal with critical or emergency issues without tapping into their PTO. We offer additional paid time to volunteer and give back to the community. Employees are also able to purchase company stock through our Employee Stock Purchase Program.
Employees on sales plans earn performance-based incentive pay on top of their base salary, which is split between quota and non-quota components. For quota-based incentive pay, Cisco pays at the standard rate of 1% of incentive target for each 1% revenue attainment against the quota up to 100%. Once performance exceeds 100% quota attainment, incentive rates may increase up to five times the standard rate with no cap on incentive compensation. For non-quota-based sales performance elements such as strategic sales objectives, Cisco may pay up to 125% of target. Cisco sales plans do not have a minimum threshold of performance for sales incentive compensation to be paid.