JOBSEARCHER

Software Engineer

Automated Precision, Inc is seeking an engineer for software development to support state-of-the-art Laser Measurement Devices and Scanners. The candidate will be responsible for providing substantial technical contributions in a complex, time-sensitive, and safety-conscious working environment. The successful candidate should demonstrate an interest and aptitude for working effectively in dynamic, multi-disciplined teams. ResponsibilitiesDesign, develop, and maintain C#/.NET applications and C++ libraries.Implement robust interfaces between native C++ modules and managed C# components (e.g., via P/Invoke, C++/CLI, or interop layers).Debug, profile, and optimize performance across managed and native boundaries.Work with 3D visualization, CAD/geometry, data processing, and real-time hardware interfaces.Develop tools and GUIs in C#/.NET (WPF, WinUI, or MAUI) and/or C++/Qt.Collaborate with cross-functional teams.Contribute to design, documentation and maintain coding standards across all software platforms.Required SkillsBachelor’s or Master’s degree in computer science, or related field.2+ years of experience in software development using both C++ and C#.C# / .NET development experience — including async programming, WPF/WinForms, and REST integration.Experience with interoperability between managed and unmanaged code (P/Invoke, COM, or C++/CLI).Solid understanding of object-oriented design, software architecture, and version control (Git / SVN).Experience with Visual Studio and CMake build systems.Familiarity with unit testing frameworks (e.g., GoogleTest, xUnit, NUnit).Preferred / Nice to haveStrong mathematical fundamentals, including linear algebra and calculus.Experience with 3D geometry, graphics APIs such as OpenGL / VTK.Familiarity with Python or scripting integration.Understanding of CI/CD pipelines, or cross-platform builds.Exposure to hardware interfacing, real-time systems.