Your tasks
The Software Engineer plays a key role in enhancing and optimizing H+S Polatis products, with a strong focus on software architecture, design, and integration. This position demands hands‑on technical contributions and active collaboration across cross‑functional teams to drive product excellence and team efficiency.
Software Architecture and Design
- Work closely with the Software Architect and senior engineers to refine and implement scalable software architecture. Development of key software components, ensuring maintainability and performance.
- Contribute to architectural reviews and provide feedback on design decisions.
Technical Expertise
- Take ownership of software modules, driving development from concept to deployment. Add features in existing or new code base demonstrating strong proficiency in C programming within embedded Linux environments.
- Collaborate with test engineers to define verification strategies and ensure thorough test coverage.
- Analyze complex test results and implement corrective actions with minimal supervision.
Hardware Integration
- Collaborate with hardware designers and contribute to software‑hardware integration efforts, interpreting hardware schematics and managing communication protocols (I2C, UART, SPI, USB).
- Troubleshoot and resolve hardware‑software interaction issues efficiently.
Cross-Functional Collaboration
- Collaborate with cross‑functional teams including production to understand and diagnose potential software issues and resolve them.
Process Orientation
- Produce the relevant project artefacts as required by the software development process. Provide specific documentation related to product design to meet regulatory compliance and organization requirements.
Essential Skills And Experience
- Bachelor’s degree in computer science, electronics, or related field (or equivalent experience).
- 3+ years of experience in C programming language, its application in an embedded environment. Familiarity with ARM microcontrollers. Familiarity with coding standards and best practices.
- 3+ years of experience in Linux‑based systems development including some experience in Linux boot process, DTB and kernel drivers. Ability to write user space application software using POSIX APIs. Ability to integrate open-source libraries into existing programs. Ability to use a number of development tools for system administration and debugging.
- 3+ years of experience working on hardware protocols (I2C, UART, SPI, USB) and ability to read simple HW schematics.
- Knowledge of software build systems (Yocto). Ability to modify Yocto to support a new platform design, new versions.
- Communication: clear verbal and written communication, especially when discussing technical issues or documenting findings.
- Problem‑Solving: analytical mindset with a willingness to explore and learn from challenges.
- Adaptability: open to feedback and new technologies.
- Initiative: proactive in learning and contributing to team goals.
- Attention to detail: careful and methodical approach to coding and testing.
Desirable Skills
- Familiarity with Git for source code management and collaboration.
- Continuous integration tools, and scripting languages to automate tasks and improve development workflows.
- Understanding of networking protocols, and security mechanisms including data storage, and preventing vulnerabilities.
#J-18808-Ljbffr…
