ROLE DESCRIPTION
Position Overview:
The Software Engineer - Platform Team. This role is responsible for contributing to the development and maintenance of a new software platform, ensuring its reliability, scalability, and performance. The Software Engineer will work closely with cross-functional teams, following Agile methodologies, to deliver high-quality software solutions.
Key Responsibilities:
- Collaborate with the Platform Team to design, develop, and maintain software components for the consumer sewing industry platform.
- Write clean, efficient, and maintainable code in C++ (17) and C, adhering to coding standards and best practices.
- Utilize STM32 microcontrollers to integrate software solutions with hardware components.
- Work with Qt and QML for developing user interfaces and ensuring a seamless user experience.
- Employ UML and IBM Rhapsody for system modeling and design documentation.
- Contribute to Linux user space and kernel development for platform optimization.
- Implement Buildroot for building embedded Linux systems tailored to our platform.
- Use Python and SQL for data processing, scripting, and database management.
- Collaborate with the team to manage code versioning using Git and track project progress through Jira.
- Embrace and promote a culture of Continuous Integration (CI) and Test-Driven Development (TDD) to ensure software quality and reliability.
- Actively participate in Agile development processes, including sprint planning, daily stand-ups, and retrospectives.
- Collaborate with other teams to develop RESTful web APIs for platform integration.
Specific Qualifications and Skills:
- Strong programming skills in C and C++ (17).
- Experience with STM32 microcontrollers.
- Proficiency in Qt and QML for UI development.
- Knowledge of UML and IBM Rhapsody for system modeling.
- Linux userspace and kernel development expertise.
- Scripting skills in Python and database management with SQL.
- Version control using Git and project tracking with Jira.
- Familiarity with Continuous Integration (CI) practices.
- Test-Driven Development (TDD) experience.
- Agile software development methodology knowledge.
- Understanding of RESTful web API development.
Education and Experience:
- Bachelor's degree in Computer Science, Software Engineering, or a related field.
- 3+ years of relevant software development experience in a professional setting.
- Proven track record of delivering high-quality software products.