We are looking for a highly skilled Windows Application Developer with expertise in .NET application development, multi-threading, and device integration. The ideal candidate should have experience in developing Windows-based applications and preferably cross-platform mobile applications. The role requires a deep understanding of HID (Human Interface Devices), USB devices, and driver interactions. Work involves creating applications for embedded hardware and IoT devices. This is a senior level position where you will be responsible for designing, developing, and optimizing applications that interface with various hardware peripherals.
Duties & Responsibilities:
- Design, develop, and maintain Windows applications using .NET Framework/.NET Core (C# or C++).
- Implement multi-threading and asynchronous programming techniques to optimize performance.
- Develop applications that interact with HID (Human Interface Devices), USB devices, and low-level hardware interfaces.
- Work with Windows drivers, including understanding their functionality, debugging, and interaction with applications.
- Ensure smooth integration of software with third-party hardware devices and troubleshoot issues.
- Collaborate with cross-functional teams to define, design, and ship new features.
- Optimize application performance, including memory management and CPU utilization.
- Work on mobile application development (Android/iOS) when required, leveraging cross-platform frameworks like Xamarin, .NET MAUI, or Uno Platform.
- Debug and resolve complex software and hardware interaction issues.
- Stay up to date with Windows APIs, latest .NET features, and emerging technologies in application development.
Qualifications:
Education:
- Bachelor’s/Master’s degree in Computer Science, Software Engineering, or a related field.
Experience:
- Bachelor’s/Master’s degree in Computer Science, Software Engineering, or a related field.
- 3+ years of experience in Windows application development.
Technical Skills:
- Strong proficiency in C# and .NET Framework/.NET Core, C++, Win32 API.
- Solid understanding of Windows desktop application development (WPF, WinForms, or UWP).
- Experience in multi-threading, task parallelism, and asynchronous programming.
- Hands-on experience with HID (Human Interface Devices), USB communication protocols, and device integration.
- Understanding of Windows drivers, driver debugging, and device management.
- Experience working with Windows APIs, P/Invoke, and inter-process communication (IPC).
- Knowledge of serial communication protocols (RS232, RS485, WIFI, Bluetooth, etc.) is a plus.
- Familiarity with mobile development technologies like Xamarin, .NET MAUI, or Uno Platform (preferred).
- Experience with database management (SQL Server, SQLite, or NoSQL).
- Proficiency in debugging tools like WinDbg, ProcMon, and Wireshark.
- Experience with version control systems (Git, Azure DevOps, or SVN).
Soft Skills:
- Strong problem-solving and debugging skills.
- Ability to work independently as well as in a team environment.
- Good communication skills to collaborate with cross-functional teams.
- Ability to manage multiple tasks and meet project deadlines
Preferred Qualifications:
- Certifications in .NET, Windows Development, or Embedded Systems are a plus.
- Prior experience working in hardware/software integration projects.