Software Engineer III
Job Description
Software Engineer III role focused on building and maintaining Windows desktop applications and system software with C/C++, Qt, and C# .NET, including integration with hardware and external devices.
Responsibilities
- Design, develop, enhance, and maintain software applications using C/C++, Qt, and C# .NET on the Windows platform
- Work across the software development lifecycle: requirements analysis, design, implementation, testing, deployment, and maintenance
- Build user interfaces and desktop applications using Qt and Microsoft .NET technologies
- Write clean, maintainable, and well-documented code in line with established coding standards and best practices
- Troubleshoot, debug, and resolve software defects as well as performance issues
- Collaborate with hardware and systems engineering teams to integrate software with electronic devices and subsystems
- Develop and maintain communication interfaces for connected devices and external systems
- Create and execute unit tests and support system-level testing activities
- Participate in design reviews, code reviews, and technical discussions
- Contribute to software architecture decisions and continuous improvement initiatives
- Support released products through issue investigation, troubleshooting, and enhancement activities
Requirements
- Bachelor’s degree in Computer Science, Software Engineering, Computer Engineering, or a related technical field
- 5+ years of professional software development experience
- Strong proficiency in C/C++, Qt Framework, and C# / .NET
- Experience developing software applications in a Windows environment
- Solid understanding of object-oriented design principles and software engineering best practices
- Experience with debugging, performance tuning, and software troubleshooting
- Familiarity with source control systems such as Git, Azure DevOps, or similar tools
- Strong problem-solving, analytical, and communication skills
- Ability to work effectively both independently and within a collaborative team environment
Technologies
- C/C++
- Qt, Qt Framework
- C# .NET, C# / .NET, Microsoft .NET
- Windows
- Git, Azure DevOps
- USB, TCP/IP, EtherCAT
- Multithreaded programming, inter-process communication
Desired Qualifications
- Experience working with electronic hardware devices and embedded systems
- Knowledge of communication protocols including USB, TCP/IP, and EtherCAT (preferred)
- Experience developing software that interfaces with instruments, sensors, or external hardware
- Familiarity with multithreaded programming and inter-process communication
- Experience with automated testing and continuous integration practices
- Understanding of software-hardware integration and troubleshooting techniques
Preferred Competencies
- Strong attention to detail and commitment to software quality
- Ability to analyze complex technical problems and deliver practical solutions
- Excellent written and verbal communication skills
- Demonstrated ability to manage multiple priorities in a fast-paced development environment
- Passion for technology and continuous learning
Benefits
- 401(k) plan with match
- Employee group dental, vision, life, and disability (short and long-term) paid for by the company
- Medical insurance
- Family dental and vision insurance
- Supplemental life insurance available with reasonable employee contributions
- Employee assistance program
- Paid holidays, vacation, and sick time
- Flexible spending accounts
- Educational reimbursement and commuter benefit programs
Compensation
- USD 105,000 - 135,000 per yearly
Location: Piscataway, NJ (onsite)