We are seeking a motivated and enthusiastic Entry Level Software Engineer to join our engineering team. The selected candidate will be responsible for developing and maintaining Windows-based applications that communicate with embedded devices used in the security domain. This role offers an excellent opportunity to work across both desktop software and embedded system interfaces, gaining hands-on experience in device communication, security technologies, and modern software development practices.
The ideal candidate should have a strong foundation in C++ and C#, excellent problem-solving skills, and a passion for developing reliable software solutions that integrate with hardware products.
Responsibilities- Design, develop, test, and maintain Windows desktop applications using C++ and C#.
- Develop software modules that communicate with embedded security devices through various interfaces and protocols.
- Implement device discovery, configuration, monitoring, and firmware management features.
- Troubleshoot and debug application and device communication issues.
- Work closely with embedded, firmware, validation, and product engineering teams.
- Participate in code reviews and follow software development best practices.
- Create and maintain technical documentation for software components.
- Support product integration, testing, and field issue analysis.
- Contribute to continuous improvement of software architecture and development processes.
Required Qualifications
- Strong programming skills in:
- C++
- C#
- Understanding of Object-Oriented Programming (OOP) concepts.
- Familiarity with Windows application development.
- Basic knowledge of data structures, algorithms, and software design principles.
- Understanding of multithreading and concurrency concepts.
- Familiarity with source control tools such as Git.
Preferred Skills
- Basic understanding of embedded systems and firmware interaction.
- Familiarity with network security concepts.
- Exposure to debugging tools and protocol analyzers.
- Knowledge of software testing methodologies and automated testing.
- Experience working in Agile development environments.
Desired Competencies
- Strong analytical and problem-solving skills.
- Excellent verbal and written communication skills.
- Ability to work effectively in a cross-functional team environment.
- Quick learner with a strong desire to understand hardware-software interactions.
- Attention to detail and commitment to delivering high-quality software.
Skills Required
- Strong programming skills in C++
- Strong programming skills in C#
- Understanding of Object-Oriented Programming (OOP) concepts
- Familiarity with Windows application development
- Basic knowledge of data structures, algorithms, and software design principles
- Understanding of multithreading and concurrency concepts
- Familiarity with source control tools such as Git
- Basic understanding of embedded systems and firmware interaction
- Familiarity with network security concepts
- Exposure to debugging tools and protocol analyzers
- Knowledge of software testing methodologies and automated testing
- Experience working in Agile development environments






