Software Engineer
Pension scheme Good development opportunities Employee discounts Attractive remuneration system Work-life integration Health initiatives Flexible working hours
The primary responsibility of Software Engineer II is to design, develop and maintain embedded software and support tools for precision instrumentation systems. General Responsibilities: Design, implement, and test embedded software for new and existing products. Collaborate with cross-functional teams (hardware, mechanical, test, and production) to deliver high-quality, manufacturable, and cost-effective solutions. Adhere to company quality standards and contribute to continuous improvement initiatives. including Lean, 5S, and Agile practices. Communicate project status, risks, and delays to the Director of Engineering. Analyze product requirements and propose scalable, maintainable software architectures. Estimate development effort and resources for software tasks. Mentor junior engineers and participate in code reviews and design discussions. Stay current with emerging technologies relevant to embedded systems and instrumentation. Maintain and enhance legacy software systems. Document software designs, changes, and maintain version control using Git. Interface with customers and internal stakeholders to gather feedback and resolve issues. Track time and effort across projects and tasks. Perform other duties as assigned by the Director of Engineering.
Mensor does not provide visa sponsorship for this role. Please do not apply for this role if at any time (now or in the future) you will need immigration support (i.e., H-1B, TN, STEM OPT Training Plans, etc.). Skills, Knowledge, Abilities Bachelor’s degree in computer engineering, electrical engineering, or related field. 5+ years of experience in embedded software development. Proficiency in C and C++ for embedded systems. Strong understanding of object-oriented design principles. Experience with version control systems (Git preferred). Ability to work independently and manage multiple priorities. Strong documentation and organizational skills. Excellent problem-solving and debugging skills. Proficiency with office productivity tools (e.g., Microsoft 365). Preferred/Nice to Have Experience with Python or scripting for test automation. Familiarity with communication protocols (SPI, I2C, UART, CAN, Modbus, GPIB, Ethernet). Knowledge of signal processing or control systems. Experience with Linux and the Yocto Project Exposure to CI/CD pipelines and automated testing frameworks. Knowledge of cybersecurity principles for embedded systems. Experience with GUI development (e.g., Qt).