Senior Software Engineer (Java), Platform
Cisco ThousandEyes is a Digital Experience Assurance platform that empowers organizations to deliver flawless digital experiences across every network – even the ones they don’t own. Powered by AI and an unmatched set of cloud, internet and enterprise network telemetry data, ThousandEyes enables IT teams to proactively detect, diagnose, and remediate issues – before they impact end- user experiences.
ThousandEyes is deeply integrated across the entire Cisco technology portfolio and beyond, helping customers deploy at scale while also delivering AI-powered assurance insights within Cisco’s leading Networking, Security, Collaboration, and Observability portfolios.
About The RoleAt ThousandEyes, our team isn't just a group of software engineers; we are innovators, creators, and builders at heart. As we embark on the exciting journey of upgrading the recently acquired SamKnows platform, we are in the process of integrating it into ThousandEyes at the same time. This is a unique opportunity to not just update, but to fundamentally transform and modernize our systems, influencing how our applications operate and interact with the world.
Last year, ThousandEyes acquired SamKnows, and, in an era where connectivity is paramount, the acquisition of SamKnows marks a significant step forward in our mission to enhance network visibility and performance, particularly in the critical last-mile segment and within consumer homes. This integration empowers Internet Service Providers (ISPs) and consumers with insightful data to identify connectivity and application issues, whether they originate in the home or beyond.
We are looking for a Software Engineer to help us with the integration of SamKnows’ platform into ThousandEyes, a very interesting challenge from a technology standpoint. Our platform engineers primarily work on developing and maintaining the core services that underpin all of SamKnows portfolio, so you will have an opportunity to have a positive impact in the integration of all these technologies.
What You'll Do- Self-service test scheduling: Our agent is deployed in more than 45 million devices worldwide, and each device is capable of running a variety of network performance tests, as defined by a test schedule. We are redeveloping the scheduling system that generates these test schedules, and will allow our customers to have a high degree of control too. Aside from the obvious scale challenges, we need to be careful to ensure there are suitable safeguards and audit controls here too.
- Triggered testing: This powers our “on-demand” test capability (as opposed to our regular scheduled test capability). Our current system supporting is handling over 12 million concurrent connections, but we want to add many more over the coming year. This system underpins the popular SamKnows RealSpeed product.
- Anomaly detection: Our customers want to derive insights from the data we collect. Some customers collect so much data across so many different dimensions that it can be a bit like looking for a needle in a haystack. We have been working on an anomaly detection system to automate this process and to find the most likely root cause of issues too, using supplemental topology information. This project has huge potential for our largest customers. Our existing prototype uses a variety of innovative techniques to be able to perform the anomaly detection in near real time without incurring huge costs.
- Migration to AWS: We are currently migrating more than 40 applications from SamKnows’s Google Cloud environment to AWS. This is a challenging project given the scale and the requirement to avoid customer downtime.
- Data pipeline: We use Kafka, BigQuery, and Spring Boot to process hundreds of millions of data submissions per day. We continue to add more measurements to support tests for various different games/software/cloud applications.
- The vast majority of our code is written in Java, Golang, and modern PHP. But we are firm believers in the right tool for the job; so if a service needs to scale to millions of concurrent clients, then we will absolutely consider other options. Scalability and resilience is key, as we have large clients all over the globe that rely on us for their day to day operations.
- Enjoyment in building products from scratch and seeing them used globally.
- Proven experience in designing and building systems that are scalable and well-tested.
- Professional development experience in Java, Golang or similar programming languages.
- Comfortable with problem-solving and prototyping solutions.
- Excitement about exploring cutting-edge technology.
- Proficiency with Terraform for cloud resource management.
- Experience with ArgoCD for Kubernetes resource management.
- Familiarity with Kafka and RabbitMQ for message queues.
- Experience with Redis for caching.
- Knowledge of Websockets for real-time communication with devices and clients.
- Experience with MySQL 8 for dedicated service data stores.
- Familiarity with Google BigQuery for our measurement datastore.
- Experience with Docker for app containerisation.
- Familiarity with cloud services, including Github, JIRA, Sentry, and various cloud hosting platforms.
Cisco values the perspectives and skills that emerge from employees with diverse backgrounds. That's why Cisco is expanding the boundaries of discovering top talent by not only focusing on candidates with educational degrees and experience but also placing more emphasis on unlocking potential. We believe that everyone has something to offer and that diverse teams are better equipped to solve problems, innovate, and create a positive impact.We encourage you to apply even if you do not believe you meet every single qualification. Not all strong candidates will meet every single qualification. Research shows that people from underrepresented groups are more prone to experiencing imposter syndrome and doubting the strength of their candidacy. We urge you not to prematurely exclude yourself and to apply if you're interested in this work.
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.