The ideal candidate is a self-motivated, multi-tasker, and demonstrated team-player. You will be a lead developer responsible for the development of new software products and enhancements to existing products. You should excel in working with large-scale applications and frameworks and have outstanding communication and leadership skills.
Responsibilities
- Develop and debug source code which includes:
- Developing Windows WPF desktop and/or Windows service multi-threaded C# applications
- Developing device driver applications using. Net libraries or Windows driver layer APIs
- Managing hardware interrupts and I/O operations, write drivers for serial, USB and Ethernet communication devices
- Writing drivers for Ethernet based devices using TCP/IP sockets
- Refactoring and maintaining existing code bases throughout device lifecycle
- Data acquisition and posting by consuming web APIs
- Understand existing C++ code base and rewrite using C#,. Net development tools
- Requirements collection from internal, and external clients and documentation
- Design, development, optimization, and performance tuning of custom applications
- Unit testing and debugging of applications in various stages of the development life cycle
- Work collaboratively with peers in all the stages of the development life cycle
- Write, review and recommend optimization techniques for functions and procedures
- Produce documentation of code functionality and features consistently throughout the development cycle.
- Participate proactively in requirements analysis and design reviews
- Perform peer code reviews to discover issues and recommend changes that improve software quality
- Keeping a positive attitude and contributing to team effort
- Perform additional software development duties as required
- Produce quality software documentation:
1. Design. 2. Unit test plans - Participate in code reviews, assist in testing the developed software and provide support for field problems
Qualifications
- Deep understanding of Windows device driver layer, RS232 and USB drivers
- Having a deep understanding of the hardware architecture and operating system
- Experience creating multi-threaded applications, events handling using C#,. NET Framework
- Experience with GUI frameworks, such as WPF and Win Forms. CTP 2 Results Driven
- Experience with Visual Studio and Microsoft. NET Framework
- Experience with RESTful APIs, JSON, j Query, Angular and MS-SQL a great plus, not a must
- Experience in creating RS232/USB driver communication layer for components such as bill/note validator, bill/note dispenser, RFID reader, IO boards, barcode scanner, card reader, camera a major plus CTP 3 Results Driven
- Experience in developing communication layer using TCP/IP sockets
- Troubleshooting and problem-solving driver fine tuning skills a plus
- Must have proven experience in a process-oriented development environment with excellent knowledge of Software Development Life Cycle (SDLC)
- Proven track record of producing high quality software
- Excellent troubleshooting skills and resolve software issues in a timely manner -
- Good organizational and inter-personnel communication skills