Fluence (Nasdaq: FLNC) is a global market leader delivering intelligent energy storage and optimization software for renewables and storage. Our solutions and operational services are helping to create a more resilient grid and unlock the full potential of renewable portfolios. With gigawatts of successful implementations across nearly 50 markets, we are transforming the way we power our world for a more sustainable future. For more information, please visit fluenceenergy.com.
Job Description:
Role Overview
As a Principal Software Engineer for the Fluence OS platform, you will provide hands-on technical leadership for the design, development, integration, deployment and evolution of reliable edge-platform software used in industrial energy systems. You will combine deep Linux and container expertise with strong C/C++ engineering and practical knowledge of Industrial IoT communication protocols. The role is expected to solve complex cross-component problems, establish engineering direction and raise the technical capability of teams working across a globally distributed organization.
What You Will Do
- Technical ownership and architecture:Own the technical design and evolution of major Fluence OS platform capabilities. Translate product and system requirements into scalable, maintainable software architecture and clear implementation plans.
- Hands-on platform engineering:Design, develop, integrate and troubleshoot production-grade software running on Ubuntu Linux, with a strong focus on C/C++, system services, resource efficiency, reliability and long-term maintainability.
- Containerized application delivery:Define and implement Docker-based packaging and runtime practices, including Dockerfiles, image construction, Docker Compose configurations, upgrades, observability and troubleshooting across deployed environments.
- Industrial communication:Lead the design and implementation of robust integrations using protocols such as MQTT, Modbus, BACnet and OPC UA. Address interoperability, data quality, performance, fault handling and recovery across heterogeneous industrial devices and systems.
- Gateway and industrial edge development:Design and develop software gateways and edge services that connect industrial devices, normalize and route data, perform protocol conversion, and operate reliably on embedded and industrial computing platforms.
- System integration and reliability:Diagnose complex issues spanning applications, operating systems, containers, networks, protocols and third-party open-source components. Drive root-cause analysis and sustainable corrective actions rather than short-term fixes.
- Engineering excellence:Set standards for code quality, code reviews, automated testing, secure development, performance analysis, observability, release readiness and technical documentation.
- CI/CD and automation:Guide improvements to build, test, package and deployment pipelines. Use scripting and automation to improve repeatability, traceability and engineering productivity.
- Technical leadership:Lead design reviews, challenge assumptions constructively, make well-reasoned technical decisions and mentor engineers. Provide clear direction while remaining deeply involved in implementation and problem solving.
- Cross-functional collaboration:Partner with product managers, architects, subject-matter experts, quality teams, site teams and other engineering groups to deliver platform outcomes in an agile, globally distributed environment.
- Documentation and knowledge sharing:Create architecture decisions, interface specifications, development standards, troubleshooting guidance and customer-facing technical documentation that are precise and usable.
Required Qualifications
- 8+ years of professional software engineering experience, including significant ownership of complex production software or platform components.
- Deep hands-on expertise with Ubuntu Linux, including services, processes, filesystems, permissions, package management, logging, networking and performance troubleshooting.
- Strong hands-on C/C++ programming skills, with experience designing, debugging and maintaining production-grade software.
- Advanced practical experience with Docker containers, including Dockerfiles, image creation, Docker Compose, networking, storage, upgrades and runtime troubleshooting.
- Strong working knowledge of Industrial IoT and industrial communication protocols, including several of MQTT, Modbus TCP/RTU, BACnet and OPC UA.
- Experience integrating software with industrial devices, gateways, controllers or other edge systems, with an understanding of 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.
- Demonstrated ability to lead technical investigations, make architecture decisions and guide delivery across multiple engineers or teams.
- Excellent English communication skills, including concise technical writing and the ability to explain complex topics to technical and non-technical stakeholders.
- Hands-on experience developing industrial gateways, protocol converters or edge communication services that bridge field devices and higher-level platform applications.
- Experience developing, integrating and troubleshooting software on embedded Linux and industrial computing devices, including Advantech or comparable industrial PCs, controllers and gateways.
- Understanding of hardware-constrained and field-deployed environments, including device interfaces, serial and Ethernet communication, resource limitations, remote diagnostics and operational reliability.
Preferred Qualifications
- Python and Bash scripting for automation, tooling, testing and diagnostics.
- Experience designing or maintaining CI/CD pipelines for C/C++ and containerized applications.
- Knowledge of IP networking, routing, DNS, TLS, certificates, firewalls and troubleshooting of field-network communication.
- Experience with observability and open-source platform components such as Grafana, time-series data systems, message brokers or monitoring tools.
- Experience with test automation, protocol simulators, hardware-in-the-loop testing or integration laboratories.
- Experience with cloud or hybrid edge environments, including AWS services such as EC2.
- Familiarity with Node.js/TypeScript, NestJS, PostgreSQL or related platform technologies.
- Experience in energy storage, SCADA, industrial automation, controls or another operational-technology domain.
- Familiarity with common embedded and industrial interfaces such as RS-232/RS-485, CAN, GPIO or other device-level communication interfaces.
Leadership Expectations
- Operate as a senior technical authority who remains hands-on and accountable for engineering outcomes.
- Create clarity in ambiguous problem spaces and balance immediate delivery needs with platform sustainability.
- Mentor engineers through design feedback, code reviews, debugging support and practical knowledge sharing.
- Influence architecture and engineering practices across team boundaries through facts, prototypes and clear trade-off analysis.
- Promote a culture of quality, ownership, collaboration and continuous improvement.
Education
Bachelor's degree and a minimum of 12 years of related experience, or a Master's degree and 8 years of related experience, or a PhD and 5 years, or the equivalent
Our Culture
At Fluence, our culture is the foundation that drives our ambitious growth strategy and fuels our mission to transform the future of energy. Our core cultural pillars empower us to innovate, collaborate, and lead with purpose, ensuring we continue to deliver unparalleled value to our customers and the world.
Unleash Voices
We believe every voice matters. We encourage openness, active listening, and decisive action to create a culture where everyone has the opportunity to contribute to our success. We foster an environment where diverse perspectives are heard and valued, driving innovation and progress.
Customer Fluent
Our customers are at the heart of everything we do. We’re committed to delivering exceptional value that exceeds expectations by understanding our customers' needs and adapting swiftly to meet them. Our deep focus on customer satisfaction drives us to continuously improve and innovate.
Infinite Impact
We are committed to creating the impossible. We push boundaries to deliver sustainable, game-changing solutions that shape a brighter, more energy-efficient future for all. Our team is passionate about making a lasting impact that will resonate for generations to come.
All In
We are all in for growth. Our teams are relentlessly focused on identifying and seizing opportunities that propel us forward. We embrace an ownership mindset, pushing ourselves and each other to accelerate progress and create lasting success.