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:
1. Collaborate with the Platform Team to design, develop, and maintain software components for the consumer sewing industry platform.
2. Write clean, efficient, and maintainable code in C++ (17) and C, adhering to coding standards and best practices.
3. Utilize STM32 microcontrollers to integrate software solutions with hardware components.
4. Work with Qt and QML for developing user interfaces and ensuring a seamless user experience.
5. Employ UML and IBM Rhapsody for system modeling and design documentation.
6. Contribute to Linux user space and kernel development for platform optimization.
7. Implement Buildroot for building embedded Linux systems tailored to our platform.
8. Use Python and SQL for data processing, scripting, and database management.
9. Collaborate with the team to manage code versioning using Git and track project progress through Jira.
10. Embrace and promote a culture of Continuous Integration (CI) and Test-Driven Development (TDD) to ensure software quality and reliability.
11. Actively participate in Agile development processes, including sprint planning, daily stand-ups, and retrospectives.
12. 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.