
Principal Software Engineer
Fluence Energy1 day ago
Bengaluru, IndiaStaff+
Responsibilities
- Own the technical design and evolution of major Fluence OS platform capabilities.
- Design, develop, integrate, and troubleshoot production-grade C/C++ software running on Ubuntu Linux.
- Define Docker-based packaging and runtime practices, including Dockerfiles, image construction, Docker Compose, upgrades, observability, and troubleshooting.
- Design and implement integrations using MQTT, Modbus, BACnet, and OPC UA across heterogeneous industrial devices and systems.
- Develop software gateways and edge services for protocol conversion, data normalization, routing, and reliable operation on embedded and industrial computing platforms.
- Diagnose cross-component issues involving applications, operating systems, containers, networks, protocols, and open-source components.
- Establish standards for code quality, reviews, testing, secure development, performance, observability, release readiness, and documentation.
- Guide build, test, packaging, deployment, CI/CD, scripting, and automation improvements.
- Lead design reviews and technical investigations, make architecture decisions, mentor engineers, and provide technical direction across teams.
- Create architecture documentation, interface specifications, troubleshooting guidance, and customer-facing technical documentation.
Requirements
- 8+ years of professional software engineering experience, including significant ownership of complex production software or platform components.
- Deep hands-on expertise with Ubuntu Linux services, processes, filesystems, permissions, package management, logging, networking, and performance troubleshooting.
- Strong hands-on C/C++ programming experience with production-grade software design, debugging, and maintenance.
- Advanced Docker experience covering Dockerfiles, image creation, Docker Compose, networking, storage, upgrades, and runtime troubleshooting.
- Working knowledge of Industrial IoT protocols, including several of MQTT, Modbus TCP/RTU, BACnet, and OPC UA.
- Experience integrating software with industrial devices, gateways, controllers, or edge systems and handling unreliable networks and distributed-system failure modes.
- Experience with software architecture, interface design, design patterns, multithreading/concurrency, memory and resource management, and performance optimization.
- Experience with source control, code review, build systems, automated testing, and CI/CD pipelines.
- Ability to lead technical investigations, make architecture decisions, and guide delivery across multiple engineers or teams.
- Hands-on experience developing industrial gateways, protocol converters, or edge communication services.
- Experience developing, integrating, and troubleshooting software on embedded Linux and industrial computing devices, including industrial PCs, controllers, and gateways.
- Knowledge of hardware-constrained and field-deployed environments, device interfaces, serial and Ethernet communication, remote diagnostics, and operational reliability.
- Preferred qualifications include Python and Bash scripting, CI/CD for C/C++ and containerized applications, IP networking, Grafana or related observability tools, protocol simulation, hardware-in-the-loop testing, AWS EC2, Node.js/TypeScript, NestJS, PostgreSQL, energy storage or industrial automation, and interfaces such as RS-232/RS-485, CAN, and GPIO.
- Bachelor's degree with 12 years of related experience, master's degree with 8 years, PhD with 5 years, or equivalent.
Tech Stack
About Fluence Energy
Fluence Energy builds grid-scale battery energy storage systems and optimization software for utilities, renewable developers, and large energy users. The public company (Nasdaq: FLNC) sells storage projects, software subscriptions, and lifecycle services, drawing on origins as a Siemens–AES joint venture. Founded in 2018 and headquartered in Arlington, Virginia, Fluence operates in nearly 50 markets with gigawatts of storage deployed for renewable integration and grid reliability.