Job Description:
We are seeking a highly skilled Windows Software Engineer to join our team on a contract basis. This unique opportunity involves working in a specialized environment that focuses on developing software for devices using C# .NET. The ideal candidate will have extensive experience in C# .NET Windows development and a strong background in backend programming.
Key Responsibilities:
- Develop and maintain Windows desktop applications with a focus on thick client architecture.
- Interface with devices by writing code in C# for communication purposes, including mapping ports, working with USB drivers, and connecting various hardware components.
- Collaborate with the team to ensure seamless integration between software and devices, utilizing a communication layer to translate C# code into C++ for execution on the devices themselves.
- Debug and troubleshoot issues related to device interaction and software functionality, requiring hands-on connection and testing of hardware components.
- Participate in Agile development methodologies, including bi-weekly sprints, daily stand-ups, and iterative development processes.
- Contribute to both new feature development and maintenance tasks within a mixed project environment.
Requirements:
- Bachelor's degree in Computer Science, Engineering, or related field.
- Extensive experience in C# .NET Windows development, with a deep understanding of the .NET framework.
- Familiarity with device communication protocols and experience working with hardware components, such as mapping ports and managing USB drivers.
- Strong debugging skills and the ability to troubleshoot complex issues in a hardware-connected environment.
- Experience with backend development, including writing Windows services and handling data processing tasks.
- Familiarity with Agile methodologies and the ability to work effectively in a small team environment.
- Optional experience with Razor and Blazor for web development is a plus, but not mandatory