- Company Name
- Solid State PLC
- Job Title
- Software Engineer
- Job Description
-
Job title: Software Engineer – C/C++
Role Summary
Develop, maintain, and enhance cross‑platform software for imaging devices on Windows and Linux, primarily using C/C++. Participate in the full software development lifecycle, from design to release, ensuring high code quality, robust testing, and effective hardware integration.
Expectations
* Deliver reliable, high‑performance code within agreed timelines.
* Collaborate closely with hardware engineers, QA, and product managers.
* Demonstrate strong problem‑solving skills for complex, multi‑layered issues.
* Maintain a focus on best practices, documentation, and continuous improvement.
Key Responsibilities
* Design, implement, test, and document features for imaging device applications and libraries.
* Create and maintain GUIs (Qt, WPF) and associated utilities for Windows and Linux environments.
* Develop and support device drivers, handling low‑level interfaces (I²C, SPI, CoaXPress).
* Integrate hardware components and imaging standards (GenICam, video codecs, streaming protocols).
* Debug and resolve system‑level problems involving hardware–software interactions.
* Build and maintain CI/CD pipelines (GitLab/GitHub) and automated test environments.
* Participate in code reviews, unit testing, and integration testing.
* Collaborate with suppliers, subcontractors, and occasionally direct customers to resolve technical issues.
Required Skills
* Proficient in C/C++ for cross‑platform development.
* Experience with Windows/Linux programming, device drivers, and GUI frameworks (Qt, WPF).
* Knowledge of at least one additional language (C#, Python).
* Familiarity with imaging standards (GenICam), video streaming, and hardware protocols (I²C, SPI, CoaXPress).
* Experience with CI/CD tooling, automated testing, and hardware‑in‑the‑loop testing.
* Strong debugging skills using oscilloscopes and other lab equipment.
* Excellent written and verbal communication, teamwork, and deadline management.
Required Education & Certifications
Bachelor’s or Master’s degree in Computer Science or Electrical Engineering (or equivalent). No specific certifications required but industry-standard knowledge is preferred.