FREE ACCESS
5,000–10,000 jobs/day

See all jobs on JobTailor
Search thousands of fresh jobs every day.
Discover
- Fresh listings
- Fast filters
- No subscription required
Create a free account and start exploring right away.

Software Engineer, On Device
UtilidataSoftware Engineer at Utilidata supporting the productionalization of IoT platform with a focus on edge devices and distributed systems. Transforming utility company operations through advanced software solutions.
Posted 5/29/2026full-timeAnn Arbor • Missouri • 🇺🇸 United StatesMid-LevelSenior💰 $120,000 - $150,000 per yearWebsite
Tech Stack
Tools & technologiesDistributed SystemsGRPCJenkinsLinuxMicroservicesPythonRust
About the role
Key responsibilities & impact- Design, propose, plan, implement, and test resource-constrained, edge software in Python (and possibly lower-level languages, e.g., Rust) including the implementation of precision telemetry collection, real-time control interfaces, and robust system observability
- Create and maintain CI/CD processes as necessary to support development and deployment with a focus on reproducibility, regression testing for embedded systems, and deployment in real-world, intermittently connected environments
- Contribute to internal and external technical documentation
- Collaborate with a cross-functional team of software, hardware, quality assurance (QA), and power systems engineers; data scientists; and leadership
- Provide high-quality, in-depth code and architecture reviews, implement new features, and provide technical leadership while coordinating with project management, QA, and other internal teams
- Continually advocate for and implement process improvement and automation
- Foster a culture of open communication, innovation, and continual improvement
- Mentor other engineers using paired programming, code review, and collaborative test scenario design
Requirements
What you’ll need- 5+ years of professional experience including 3+ years of experience developing production software and systems
- Demonstrated ability to design and implement distributed systems utilizing microservices in a resource-constrained environment (edge devices with limited memory, CPUs, GPU capacity, etc.)
- Extensive experience using Python, C/C++, Rust, and the Linux operating system
- Experience with device layered security, i.e. encryption (PKI), disk partitioning, secure boot, os kernel libraries, device drivers, os processes/daemons
- Data compression and schema management for device time series data
- Experience implementing and maintaining CI/CD workflows (e.g., GitHub Actions or Jenkins)
- Strong understanding of synchronous and asynchronous network communication, including REST APIs, gRPC, binary protocols, and distributed publish/subscribe messaging systems and protocols like MQTT and ZeroMQ
- Strong written and oral communication skills, with a proven track record of working effectively both individually and as part of a team.
Benefits
Comp & perks- Competitive compensation and benefits, including health, dental, vision, and employer-match 401k
- Flexible paid time off
- Creating a diverse and inclusive workplace that is welcoming, supportive, affirming and respectful
- Empowering employees to solve problems and work together to make a difference
- Providing mentorship and growth opportunities as part of a collaborative team
- A flexible work environment
ATS Keywords
✓ Tailor your resumeApplicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard Skills & Tools
PythonC/C++RustCI/CDmicroservicesdistributed systemsdata compressionencryptionREST APIsgRPC
Soft Skills
communicationcollaborationtechnical leadershipmentoringprocess improvementinnovationteamworkcode reviewpaired programmingdocumentation