Meet Your Team
DevX (Developer Experience) group is the central team responsible for building critical software that enables over 10,000 engineers to globally deliver Cisco’s flagship products. Through continuous innovation and delivery of solutions that support all phases of the product life cycle, we strive to accelerate the pace at which Cisco delivers value to our customers with high quality. And we do this at high scale that involves billions of lines of code across all our products. By bringing development and customer context together to derive valuable insights, we believe we can fundamentally transform how Cisco builds, tests, and releases software.
The team is developing a highly scalable ‘Resource Services’ application based on a microservices architecture to create intent-based lab test beds on demand. We are seeking an experienced and highly motivated Senior Backend Development Engineer to oversee the development, optimization, and maintenance of this production system.
Your Impact
- Be responsible for hands-on coding and serve as a technical leader by mentoring junior engineers and applying technical expertise to challenging programming and design problems
- Drive the design and implementation of reliable and scalable backend software solutions that tackle critical customer problems and get along with numerous other services.
- Deliver high quality backend code and contribute to overall product stability by conducting code reviews and writing unit and integration tests.
- Own the design/architecture of product components and implement the software while upholding high standards and using best practices for architecture, design, coding and CI/CD
Skills and Qualifications
- BS or MS in Computer Science or relevant field with at least 10 years of experience including 5+ years of experience in cloud -native microservices-based architectures and distributed systems development.
- Experience writing production quality level code and test cases in Golang and Python
- Specifically in distributed systems:
- Experience in understanding challenges with lost, delayed, or duplicated messages and how code needs to be written to take care of that.
- Experience understanding memory, performance and reliability consequences of choosing a given API call (sync vs async) or a data structure over another.
- Experience in writing appropriate test to discover corner cases and performance bottlenecks.
- Degree of autonomy. Should be able to own a feature, work along other team members on the high-level design, and optimally drive the feature to completion, including data migration, testing and deploy to greenfield and brownfield deployments.
- Experience to understand the implication of coding in a particular style: Memory allocation, efficiency, etc.
- Understanding of how network devices operate. While a deep knowledge of networking is not required, the candidate should understand the basic operation of a network device. How images are loaded, difference between console and VTY access, difference between management ports and data ports, difference between Line Cards / RP, Chassis, etc.
- Intermediate knowledge of SQL / Cypher database queries.
- Knowledge of REST and gRPC APIs: OpenAPI and protocol buffers
- Have a 'can do' attitude. Should understand how different systems and technologies can operate together to produce the accurate outcome. Should write scripts/tools to improve the workflow as needed.
- Able to contribute to code reviews looking for potential/hidden problems in the code. Look for corner cases / "what if" scenarios on the code under review.
Good to Have:
- Practical knowledge about Kubernetes, building container images (docker, kaniko, ko)
- Experience with brokers or other pubsub technologies: Knative, kafka, Redis streams, etc.
- While most of the Kubernetes related details are mostly abstracted from the developers, knowledge of Kubernetes helps understanding the product.
- Experience building network services in NSO (YANG models, callbacks)
- Experience building network monitoring services (SNMP, Netconf, Restconf)
- Experience building VPN network services using EVPN, QinQ or other VPN/tunneling technologies.
- Knowledge of OpenTelemetry
- Experience writing K6 performance validation tests.
#WeAreCisco where every individual brings their unique skills and perspectives together to pursue our purpose of powering an inclusive future for all.
Our passion is connection—we celebrate our employees’ diverse set of backgrounds and focus on unlocking potential. Cisconians often experience one company, many careers where learning and development are encouraged and supported at every stage. Our technology, tools, and culture pioneered hybrid work trends, allowing all to not only give their best, but be their best.
We understand our outstanding opportunity to bring communities together and at the heart of that is our people. One-third of Cisconians collaborate in our 30 employee resource organizations, called Inclusive Communities, to connect, foster belonging, learn to be informed allies, and make a difference. Dedicated paid time off to volunteer—80 hours each year—allows us to give back to causes we are passionate about, and nearly 86% do!
Our purpose, driven by our people, is what makes us the worldwide leader in technology that powers the internet. Helping our customers reimagine their applications, secure their enterprise, transform their infrastructure, and meet their sustainability goals is what we do best. We ensure that every step we take is a step towards a more inclusive future for all. Take your next step and be you, with us!
Read Full Description