Tech Jobs for Talents without Borders
English-1st. Relocation-friendly. Curated daily by Imagine.
4,534 Jobs at 189 Companies

Software Engineer, Device Agent - SamKnows



Software Engineering
London, UK
Posted on Monday, July 1, 2024

Who We Are

The name ThousandEyes was born from two big ideas: the power to see things not ordinarily possible and the ability to collect insights from a multitude of vantage points. As organizations rely more on cloud services and the Internet, the network has become a “black box” outside of their control. ThousandEyes gives organizations visibility and insight into the now borderless network. It arms them with an accurate understanding of how the network impacts their applications, users and customers. ThousandEyes is used by some of the world’s largest and fastest growing brands, including all of the top 5 global software companies, 5 of the top 6 US banks, and 45 of the Fortune 500.

ThousandEyes’ pioneered Cloud and Internet Intelligence and is widely known as the ‘Google Maps of the Internet.’ Today, ThousandEyes is central to the global operations of the world’s largest and fastest-growing brands. The company was acquired by Cisco in August 2020, chartered with continuing to drive leadership in empowering organizations to see, understand, and improve digital experiences everywhere.

About The Team

At 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.

About The Role

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're looking for a senior engineer to work on our Device Agent, which is installed in more than 45 million broadband routers globally. Our agent is written in modern C++, and real world experience of C and C++ is essential. We integrate across many different hardware platforms, with different CPU architectures, but all are based on Linux. A deep knowledge of Linux is essential. The successful candidate would be helping to develop the core of our agent, and the measurements that the agent executes (e.g. speed tests, and application-specific measurements). There's some very exciting developments planned for this agent, and there's a real opportuntity to develop something that's deployed at very large scales here.

What You Will 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.

Required Skills

  • 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 C++ 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.

Message to applicants applying to work in the U.S. and/or Canada:

When available, the salary range posted for this position reflects the projected hiring range for new hire, full-time salaries in U.S. and/or Canada 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. or Canada 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 typically pays as follows:

.75% of incentive target for each 1% of revenue attainment up to 50% of quota;

1.5% of incentive target for each 1% of attainment between 50% and 75%;

1% of incentive target for each 1% of attainment between 75% and 100%; and once performance exceeds 100% attainment, incentive rates are at or above 1% for each 1% of attainment 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.