Engine (C++) Engineer II - Unified Search
About the Role:
We are looking for a colleague to develop and maintain a specialized execution environment that serves as a backend target for compilers also maintained within the Unified Search team. This execution environment is written in C++ and expert level experience with C++ is essential.
What You'll Do:
-
Design and develop highly performant runtime for a low latency event-driven architecture
-
Collaborate with colleagues focusing on language and compiler design
-
Own features from design to delivery to sustained care after release
-
Serve as low level execution and performance expert for the team
-
Collaborate with other teams on cross functional design
-
Understand the larger system architecture and its impact on development and design
What You'll Need:
-
Expertise with C/C++, particularly in developing and debugging a kernel level asynchronous event driven codebase
-
Kernel module development, such as device drivers or kernel mode components
-
Willing to develop for multiple operating systems including but not limited to Windows, macOS and Linux
-
Testing : unit testing, integration / end-to-end testing, and associated automation
-
Deliver and accept feedback with grace and courtesy
-
Experience in multi-threaded concurrent systems development : what problems do concurrent systems pose and how do you solve them?
-
Comfortable working in a distributed environment with multiple time zones
Bonus Points:
-
Experience developing code within a well-defined information architecture
-
Code optimization and performance assessment/profiling/testing
-
Familiarity with reading assembly language, specifically x64 and/or ARM.
-
Experience with Python
-
Prior experience developing design tools, tests, and/or test automation.
-
Prior experience with pytest, Jenkins or Bamboo in a CI/CD environment
-
Knowledge of low-level operating system internals for one or more of our supported platforms (including Windows, macOS, and Linux).
-
Experience with real-time and/or embedded operating systems.
-
Experience developing software for high-assurance, safety critical, or life critical domains
-
Experience with developing for cloud-based or other highly concurrent, highly distributed systems
-
Familiarity with one or more query/business intelligence languages (SQL, Splunk SPL, etc.)
-
Familiarity with generative or formal software methods : model based development, domain specific languages, formal modeling (As an example, we've used tools like TLA+, Agda, and domain specific languages in the past to ensure safety and robustness in our designs.
About the job
Apply for this position
Engine (C++) Engineer II - Unified Search
About the Role:
We are looking for a colleague to develop and maintain a specialized execution environment that serves as a backend target for compilers also maintained within the Unified Search team. This execution environment is written in C++ and expert level experience with C++ is essential.
What You'll Do:
-
Design and develop highly performant runtime for a low latency event-driven architecture
-
Collaborate with colleagues focusing on language and compiler design
-
Own features from design to delivery to sustained care after release
-
Serve as low level execution and performance expert for the team
-
Collaborate with other teams on cross functional design
-
Understand the larger system architecture and its impact on development and design
What You'll Need:
-
Expertise with C/C++, particularly in developing and debugging a kernel level asynchronous event driven codebase
-
Kernel module development, such as device drivers or kernel mode components
-
Willing to develop for multiple operating systems including but not limited to Windows, macOS and Linux
-
Testing : unit testing, integration / end-to-end testing, and associated automation
-
Deliver and accept feedback with grace and courtesy
-
Experience in multi-threaded concurrent systems development : what problems do concurrent systems pose and how do you solve them?
-
Comfortable working in a distributed environment with multiple time zones
Bonus Points:
-
Experience developing code within a well-defined information architecture
-
Code optimization and performance assessment/profiling/testing
-
Familiarity with reading assembly language, specifically x64 and/or ARM.
-
Experience with Python
-
Prior experience developing design tools, tests, and/or test automation.
-
Prior experience with pytest, Jenkins or Bamboo in a CI/CD environment
-
Knowledge of low-level operating system internals for one or more of our supported platforms (including Windows, macOS, and Linux).
-
Experience with real-time and/or embedded operating systems.
-
Experience developing software for high-assurance, safety critical, or life critical domains
-
Experience with developing for cloud-based or other highly concurrent, highly distributed systems
-
Familiarity with one or more query/business intelligence languages (SQL, Splunk SPL, etc.)
-
Familiarity with generative or formal software methods : model based development, domain specific languages, formal modeling (As an example, we've used tools like TLA+, Agda, and domain specific languages in the past to ensure safety and robustness in our designs.