ThousandEyes empowers enterprises to see, understand and improve digital experiences for their customers and employees. The ThousandEyes cloud platform offers unmatched vantage points throughout the global Internet and cloud providers, delivering immediate visibility into the digital experience for every user, application, website or service, over any network. ThousandEyes is central to the global operations of the world's largest and fastest growing brands, including Comcast, eBay, HP, 120+ of the Global 2000, 65+ of the Fortune 500, 6 of the 7 top US banks, and 20 of the 25 top SaaS companies.
Engineering at ThousandEyes
At ThousandEyes, we use cutting-edge technologies and innovative techniques to study and visualize networks on a global scale. ThousandEyes engineers are focused on continuous improvement -- of our product, our codebase, our knowledge, and our skills. We believe in innovation, simplicity, and elegance. We work in small, cross-functional teams where everyone has a voice.
Learn more about engineering at ThousandEyes: https://www.youtube.com/watch?v=b9a_c8yJyzc
About the Role
You'll be working in the Endpoint team, our goal is to ensure our customers have unparalleled ability to quickly troubleshoot issues and do long-term analysis of end-user experience. We equip our customers with complete visibility into end-user connectivity, wherever they may be located, whether internal or cloud apps.
As a Principal Software Engineer on this team, you'll help build our Endpoint Agents running in Windows and macOS, as native system services. In addition to this, you will be responsible for improving and supporting our build and deployment infrastructure and the Agent-related backend services.
In this role, you will mostly be working with C++11, but familiarity with, or willingness to learn, Objective-C, shell-scripting, Java and Python are also essential.
What we are looking for:
8+ years of software development experience in C++
Expert in C++11
Excellent knowledge of boost libraries, specifically boost::asio
Comfortable working with new technologies and languages
Excellent object-oriented design skills
Experience with macOS and Windows APIs (non-UI)
Experience with SQL
Experience in designing and scaling distributed systems
Strong Computer Science fundamentals
Experience with network protocols is a plus
Bachelor’s degree in Computer Science or similar