This is an onsite job and no relocation assistance is available.
Main Duties & Responsibilities: - Perform sustaining engineering, design, and implementation of new features for an existing line of devices, as prioritized by engineering leadership. - Maintenance and incremental new development on an embedded Linux device/application, leveraging C, Qt.io framework, and CentOS 8. - Maintain and update cloud/server environment used to support, monitor, and control the network of devices leveraging PHP. - Understand end-to-end device workflows, including the consumer-facing UI/UX, payment processing, device interfaces including serial (RS-232), USB and TCP sockets, and network communications. - Maintain and develop improvements to our existing embedded Linux products and user interface using C, Qt.io, & Centos 8. - Maintain and develop improvements to cloud/server back-end infrastructure using PHP, MySQL, and cloud infrastructure services such as AWS. - Setup and maintain continuous integration workflows and automated deployments. - Break down requirements into individual development user stories and tasks. - Keep strong code quality and documentation. - Coordinate with engineering, QA, and operations teams. Skills & Requirements: - 5+ years of overall experience as a professional software engineer using similar technologies. - 2+ years of experience with embedded Linux application development using C. - 2+ years of experience designing and developing with the Qt framework using C, QML and JavaScript. - 2+ years of experience developing with CentOS 7+, including administration and configuration, shell scripting, semi-unattended installation and imaging, RPM package creation and repo management, and security best practices. - 2+ years of experience with PHP development and MySQL or similar database. - Experience setting up cloud services in AWS is preferred. - Experience developing and integration with hardware peripherals is preferred. - Strong written and verbal communication skills. - Quick learner and proven ability to work in a self-directed manner as well as being a trusted and accountable team member.