We are seeking an experienced and versatile Software Engineer to join a dynamic technical development team, focusing on the development of high-performance desktop applications for geoscience applications. This role combines advanced software engineering with scientific computing.
Key Responsibilities
* Design, develop, and maintain desktop applications for geoscience data analysis and visualization.
* Implement and optimize numerical algorithms and scientific calibration workflows.
* Work with low-level data from custom sensing hardware, including decoding and processing raw data streams.
* Develop high-performance user interfaces and visualization components using WinUI 3 and DirectX.
* Write clean, maintainable, and testable code in C# / .NET, using modern development tools and methodologies.
* Collaborate with cross-functional teams, including scientists, engineers, and hardware developers.
* Write and maintain automated unit tests using xUnit, and manage version control using Git.
* Support service communication using gRPC for high-performance inter-process communication.
Required Skills and Experience
* Strong programming experience in C# and the .NET ecosystem.
* Proficiency with WinUI 3/DirectX for desktop application and graphics development.
* Experience working with low-level or hardware-generated data.
* Familiarity with unit testing frameworks (xUnit) and modern version control practices (Git).
* Experience with gRPC or similar high-performance communication protocols.
* Strong analytical skills and a keen interest in applying software to scientific and engineering problems.
Desirable
* Experience with real-time or near real-time data processing.
* Knowledge of signal processing or sensor integration.
#J-18808-Ljbffr