As an Sr. UI Software Engineer, you will be responsible for software design from initial concept through requirements definition, architecture definition, analysis, testing, deployment, and support in the field. This role seeks a passionate software engineer with experience in C++/Qt (QML) to drive design decisions, and develop user-friendly, and intuitive experiences with responsive, and fluid user interfaces backed by robust, and maintainable code. This role requires the ability to mentor more junior staff and support the future of the organization’s strategic technical priorities.
Essential Functions
- Design, implement, and deliver touchscreen user interfaces using Qt/QML for embedded Linux systems.
- Experience in object-oriented programing/C++ and writing clean and well-structured, documented code.
- Prepare, communicate, and monitor technical project plans and develop software roadmaps. Identify research needs for future deployment.
- Lead all aspects of the organization’s software development life cycle (SDLC) from concept, architectural overview, implementation, testing, deployment, and support.
- Collaborate with product managers, back-end developers, and other stakeholders to translate design concepts into technical requirements.
- Lead UI/UX initiatives and drive design decisions.
- Interpret and develop requirement documentation: customer-specific, technical performance, safety-related, regulatory compliance-related, reliability, serviceability, and manufacturability.
- Strong hands-on mindset with real-time embedded systems, and rapid prototyping systems.
- Experience with FFmpeg or GStreamer is a plus.
- Collaborate with hardware and firmware engineers to troubleshoot integration issues.
Additional Responsibilities
- Research, assess, and adapt to new technologies in emerging industry trends necessary for future enhancements in products.
- Stays up to date with the latest UI/UX techniques and technologies.
Knowledge, Skills & Abilities
- Effective communicator, verbally and in writing, with strong and demonstrated interpersonal skills.
- Strong problem-solving skills and the ability to debug complex software and hardware issues.
- Ability to create interactive prototypes using InVision or similar and rapidly iterate based on feedback is a plus.
- Able to lead technical teams by creating project plans, overseeing the software development process, setting milestones, and ensuring timely delivery.
- Proficient with Qt for C++ and the QML design language.
- Proficient in design tools such as Sketch, Figma, or Adobe Creative Suite.
- Strong understanding of user-centered design principles.
- Ability to rapidly prototype user interfaces and wireframes for PLM/customer approval.
- Experience in optimizing UI performance for speed and responsiveness.
- Experience with the development of Linux applications for interactive embedded systems.
- Experience with communication interfaces (HDMI, USB, RS4NA, SPI, I2C etc.) is a plus.
- Experience with version control systems, such as SVN, for source code management.
- Knowledge of issue-tracking tools and Agile practices.
- Proficient with Microsoft Office tools (PowerPoint, Excel, Word, Teams, etc.)
- Knowledge of Microsoft Project, AX and Bluestar is a plus.