Job Information
Itron, Inc. Distributed Intelligence - SDK Software Developer in Liberty Lake, Washington
Itron is innovating new ways for utilities and cities to manage energy and water. We create a more resourceful world to protect essential resources for today and tomorrow. Join us. Distributed Intelligence (DI) is transforming how sensor devices and electricity metering support the modern grid. Join our fastpaced, collaborative, and diverse team to help innovate at the edge-building technology that empowers utilities and communities around the world.We are seeking a DI SDK Software Developer who is passionate about building reliable, efficient, and scalable C/C++ solutions. In this role, you will enhance and support the Itron DI-SDK, a software development kit enabling intelligent agents to run on electric meters and sensor devices. You will work closely with an innovative, customercentric development team to design new features, optimize performance, and ensure the SDK remains robust across multiple embedded platforms. This position is ideal for someone who enjoys solving complex system-level challenges, thrives in a collaborative environment, and takes accountability for delivering high-quality results.Duties & Responsibilities Enhance, maintain, and optimize the C/C++based DISDK to ensure performance, efficiency, and stability across platforms. Collaborate with cross-functional teams in an agile environment to design, develop, test, and deploy new SDK features aligned with customer needs. Work with ARMbased crosstoolchains and embedded targets to ensure compatibility across diverse architectures. Write, improve, and maintain CMake configuration files to streamline multi-platform build processes. Debug, test, and document code in both emulated environments and Itron meter hardware to support reliable field performance. Create and update bash scripts to automate workflows, support toolchain management, and improve developer efficiency. Analyze and modify XML files for SDK configuration and system integration. Understand and support execution of DI agents within Linux Containers (LXC) for both build and runtime environments. Uphold a collaborative and accountable team culture, contributing innovative ideas that improve product quality and customer outcomes. Required Skills & Experience Proficiency in C and C++, with strong understanding of objectoriented and systemlevel programming. Strong debugging, analytical thinking, and problemsolving skills in both software and hardware contexts. Experience using GCC or other C/C++ compilers. Familiarity with bash scripting for automation, build processes, and version control workflows (Git). Exposure to cloud technologies such as AWS or Azure. Bachelor's degree in a related field or equivalent practical experience. Demonstrated ability to work authentically and collaboratively within a team, supporting agile processes and iterative development. Preferred Skills & Experience Experience with embedded crosstoolchains, especially for ARM or similar architectures. Understanding of constrained or resourceshared embedded environments. Strong knowledge of CMake and automated build systems. Prior experience contributing to SDK, API, or platform development. Familiarity with Linuxbased development tools and utilities, including GNU Debugger, Valgrind, and containerized environments. A track record of innovation, continuous learning, and customerfocused solution development. Technologies Used in This Role Programming Languages: C, C++ Compilers & Toolchains: GCC, crosstoolchains (ARM and other embedded architectures) Build & Configuration Tools: CMake, XML configuration Scripting & Automation: Bash scripting Databases & Libraries: sqlite3, pthreads Operating Systems & Environments: Ubuntu, Linux commandline tools and utilities Embedded & Container Technologies: Linux Containers (LXC), glibc, uclibc, musl Debugging & Performance Tools: GNU Deb