Design, develop, and maintain BMC software solutions for our products. Like sensor monitor, event log WebUI etc. Implement function in firmware to communicate with peripherals via SPI, I2C, UART etc, per protocol specification and chipset datasheet. Perform code reviews, unit testing, and debugging to ensure high quality and reliable BMC software. Develop and maintain documentation, including design specifications, user manuals, and release notes.