As a Software QA Engineer, you will be responsible for developing, documenting, and maintaining functional test cases and other QA artifacts. You will collaborate with development and product teams to understand product changes and design effective test strategies. This role involves executing manual (white-box and black-box) and exploratory tests, ensuring comprehensive functional coverage. You will be expected to identify, thoroughly document, report, and track bugs through resolution, perform thorough regression testing after bug fixes, and monitor and analyze system logs, crash logs, and backend traces (e.g., Splunk) to investigate issues. You will also liaise with internal teams to understand system requirements and ensure quality deliverables. Additional responsibilities include flashing firmware onto embedded devices and validating firmware versions, and verifying and testing interactions between embedded firmware, hardware, and client applications (iOS, Android, Web). You will set up and validate connectivity using Wi-Fi, BLE, or Ethernet technologies, test and debug device-to-client communication using protocols such as MQTT, HTTP, RTSP, among others, and stay up-to-date with emerging tools, frameworks, and QA strategies. You will also support CI/CD practices by integrating QA processes into the development pipeline.