Sr. Firmware & Embedded Software Engineer
Job Number: 11858
External Description:
About this role
We are seeking a Senior Firmware & Embedded Engineer to design, develop, and optimize embedded firmware for next-generation air conditioning products.
These solutions require the product development coordination of embedded controls technologies with state-of-the-art GUIs, cloud, and mobile app interactivity. This individual would be responsible for leading the embedded software Wi-Fi development activities of the embedded software group for various embedded products.
In this role, you will contribute to architecture decisions, solve complex technical challenges, and collaborate with hardware, systems, and production teams. You will support critical technical topics, provide guidance to other engineers, and help ensure our products meet global standards for quality, reliability, safety, and cybersecurity.
Our engineering teams take on some of the most unique and exciting global challenges in climate technology. To maintain our position as a global leader, we are looking for talented, ambitious, and results-oriented engineers who thrive in a fast-paced environment and want to contribute to Carrier’s continued legacy of innovation and success.
This is a full-time, onsite position located in Indianapolis, IN, operating on a standard Monday through Friday, day shift schedule.
Duties & Responsibilities
- Provide architectural documentation regarding project scope to technical design team.
- Provide cybersecurity reviews during product development, design, and implementation phases.
- Provide architectural knowledge to product owners and other leadership during scrums.
- Provide detailed workflows, project timelines, and project deliverables to eligible engineers, leadership, and stakeholders.
- Collaborate with cross-functional teams including hardware, mobile, and cloud engineers to ensure seamless end-to-end functionality.
- Lead software development lifecycle from project scope to code and design to product release and implementation.
Required Qualifications
- Bachelor’s degree.
- 5+ years of experience in the design and development of Linux embedded software.
- 5+ years of experience in C/C++ programming for embedded systems.
- 3+ years’ experience writing RTOS and/or bare metal programming.
Preferred Qualifications
- Bachelor’s degree in Computer Science, Software Engineering, Information Technology or related technical discipline.
- Experience identifying, prompting, and implementing AI strategies and recommendations into software development.
- Experience in unit test cases on frameworks (Google test) and support CI/CD (Continuous Integration and Continuous Delivery) pipelines.
- Participate in code reviews, documentation, and system debugging.
- Strong hardware/electrical knowledge. You should know how to evaluate if your firmware is working as expected by probing the hardware (e.g., oscilloscope, logic analyzer, etc.).
- Demonstrated knowledge of firmware development best practices (Agile design, code reviews, design documentation, unit test, test driven development)
- Experience with Embedded systems’ standard design elements - bootloaders, OTA (Over-the-Air), firmware applications.
- Experience connecting embedded devices to major cloud platforms, such as AWS (Amazon Web Services) IoT (Internet of Things) Core, Azure IoT Hub, or GCP (Google Cloud Platform).
- Experience with embedded IoT (Internet of Things) protocols and architectures, including MQTT (Message Queuing Telemetry Transport), Sparkplug, HTTPS (Hypertext Transfer Protocol Secure), device-to-cloud communication, and OTA (Over-the-Air) updates.
- Experience with one or more wireless communication technologies and protocols, including Bluetooth, BLE (Bluetooth Low Energy), Wi-Fi (IEEE 802.11 standards), Zigbee/Z-Wave (IEEE 802.15.4 low-power mesh networks), LoRa (Long Range), and cellular connectivity.
- Experience with common wired messaging architectures and protocols, including UART (Universal Asynchronous Receiver-Transmitter), RS232/RS485 (Recommended Standard 232/485), I2C (Inter-Integrated Circuit), SPI (Serial Peripheral Interface), and CAN (Controller Area Network) protocols (CAN-TP, CANopen).
- Experience with one or more embedded GUI (Graphical User Interface) frameworks, such as Qt, Crank Storyboard, or LVGL (Light and Versatile Graphics Library).
- Understanding of Network protocols (TCP (Transmission Control Protocol), UDP Sockets (User Datagram Protocol), IPV4 (Internet Protocol version 4), IPv6 (Internet Protocol version 6).
- Understanding of cyber security technologies and best practices (encryption, key management, certificates/exchanges, HMACs (Hash-based Message Authentication Code), PKI (Public Key Infrastructure), HSMs (Hardware Security Module), Secure Boot).
- Experience in the use of Jira/Confluence, ADO (Azure DevOps) or other software development tools
- Experience with ftp, TFTP (Trivial File Transfer Protocol) boot, NFS (Network File System).
- Experience with open-source code, communities, and licenses.
- Experience with HVAC Controls Systems and Energy Storage Systems experience.
- Proficient in debugging multi-threaded applications using GDB (GNU Debugger), perf (Performance Events), and JTAG (Joint Test Action Group).
- Experience with Yocto Project or Buildroot to create and customize Linux images.
Job Number: 30220184
Community / Marketing Title: Sr. Firmware & Embedded Software Engineer
Location_formattedLocationLong: Indiana, US