Applications for this job have closed. Try searching for similar jobs.

Senior Backend Engineer, Ruby on Rails

Cisco Meraki

Location: Remote - US only

Job Type: Full time


About Cisco Meraki

The modern world runs on the Internet, and the Internet cannot exist without its underlying infrastructure. Meraki makes setting up, managing, and maintaining that infrastructure easier than ever before. Look behind the cash register at your favorite cafe, or on the ceiling at the grocery store, and you’re likely to see our presence. Whether it’s one cafe or a thousand, a kindergarten or a college campus, a hotel or a hospital, Meraki connects them.

Every day Merakians have a big impact. As you’re reading this there are over 11 million Meraki devices serving hundreds of millions of clients, and this number grows every day. This popularity comes with large scalability challenges: our backend handles more than 10 billion requests daily..

We maintain a collaborative relationship with Cisco, giving us the stability and resources of a larger company without sacrificing our startup vibe.

About the role

This is a great opportunity to be a founding member of a brand new team. If you’ve been wishing for a role where you can steer the roadmap and shape how your team operates, this may be the job for you.

We are looking for a Senior Backend Engineer (typically with 5+ years of experience) to join the Config Team. You will be designing new services and systems, working on scalability and resiliency challenges, and helping us build this new team. There's a lot of cross-org work as well as technical leadership and growth opportunities ahead.

“What are Configs?” you may ask. In a nutshell, the “config” comprises all configurable aspects of a Meraki device. It’s very important that they be correct so devices behave the way their owners intend. They also need to be fast to generate, so changes in the cloud propagate to devices quickly. Finally they must be safe, so Meraki engineers can make changes without fear of compromising their correctness or performance. This team’s main focus is to make these backend services more resilient and fault tolerant.

What you will do:

  • Play a key role in building the Config Team, encourage best practices, code quality metrics, and standards as well as define SLAs/SLOs for the services you own.
  • Architect, develop, scale, and maintain the backend services and infrastructure that power config generation and distribution. We believe in ownership over the entire software engineering cycle.
  • Refactor monoliths into microservices, extract APIs and re-usable components, and help us move towards containerization.
  • Optimize and tune performance of the config rendering systems.
  • Collaborate with the neighboring Cloud Services team as well as with other globally-distributed teams including UX specialists, firmware engineers, network support engineers, SREs, engineering managers, and product managers.
  • You will have the opportunity to work on projects that span numerous domains — networking, databases, web app development, systems, and graph algorithms — to help our backend services scale to handle enormous amounts of requests.
  • You will make an immediate and significant difference to the hundreds of millions of users that rely on our access points, switches, security appliances, cameras, and IoT sensors every single day!
  • Contribute to our continual learning process. We rely on blameless post-mortems to learn from incidents in production to make our systems more robust.

About you

  • You care deeply about creating a fun and supportive team culture, where everyone is encouraged to grow and learn from a group with a diverse set of backgrounds.
  • You like thinking about systems and architectures — their edge cases, failure scenarios, and lifecycles. You’re interested and experienced in making systems more resilient and fault tolerant.
  • Experienced with Ruby on Rails. You’ll be making a lot of architectural and design choices specific to Rails . You’re pragmatic when it comes to languages and technical decisions and embrace the idea of being language-agnostic.
  • You’d like to see the true full stack nature of our networking products (from hardware to firmware to backend to Web UI). You think about customer experience and can promote objectives that will significantly improve it.
  • Experienced with caching: how to design and structure multi-layer caches.
  • Data driven. Observability isn’t just a buzzword for you. Not only do you turn to metrics to triage issues, but also you create new dashboards/introspection tools to help other people answer questions.
  • Experience with improving complex systems, thoughtful about the urge to rewrite everything from scratch. You consider the tradeoffs between upgrading, incremental refactors, and larger scale architectural changes.
  • Experienced with troubleshooting and debugging distributed systems. Triaging large lists of problems to concrete projects.
  • Excellent communicator. You’ll be collaborating with teams distributed across several time zones. You use design documents and visualizations/data to prove your points and can get buy-in.
  • Experienced with migrations and software upgrades. You know how to roll things out safely.

Bonus points for:

  • Deep Postgres or other RDBMS experience.
  • Experience with containerization, such as Kubernetes and Docker

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! You don’t need to have a background in computer networking either. We will help you pick them up because we believe that excellent engineers come from diverse backgrounds.

To give you a taste of what you could be learning in your time here, our tech stack:

  • Ruby (Rails, EventMachine, Unicorn), Scala (Jetty, Akka, Netty), Go
  • Git, Gerrit, GitLab, Jenkins, TeamCity, Ansible
  • Postgres, LittleTable (our custom time-series database that stores 100 of TB’s of data and is written to millions of times a second), ElasticSearch, Redis
  • Debian, Ubuntu, OpenStack, AWS, Docker, Kubernetes, Terraform
  • gRPC, Protocol Buffers
  • ELK, Graphite, Grafana, Prometheus
  • Maven, sbt, 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.

As a Cisco Meraki employee you can expect:

  • A supportive and fun environment and management that values your contributions and helps you grow; regular career conversations.
  • A lot of opportunities for professional and personal growth via employee-led groups and mentorship programs. Check out one of our groups — Women of Meraki on Twitter and Instagram.
  • Candid feedback on a regular basis following Radical Candor.
  • Paid time off to volunteer (5 days a year), and much more.

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.

Compensation Range:
$141,300$222,200 USD

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.