Utilidata

Software Engineer, On Device

Ann Arbor, MI
USD 120k - 150k
Python Rust Linux CI/CD gRPC MQTT ZeroMQ REST API Docker AWS Azure Shell Ansible Prometheus SQL SQLite Redis PostgreSQL
Description

Software Engineer, On Device

Location: Ann Arbor, MI

Department: Product Development

Utilidata is a fast-growing NVIDIA-backed edge AI company enabling greater visibility and control of power utilization in energy-intensive infrastructure, like the electric grid and data centers. Karman, the company’s distributed AI platform powered by a custom NVIDIA module, is transforming the way utility companies operate the grid edge and will enable data centers to unlock more compute for the same provisioned power.

We are expanding our engineering team and looking for a Software Engineer to support the productionalization of our IoT platform, with a primary emphasis on the software that runs on edge IoT devices. This edge software includes machine learning, optimization algorithms, and components that host these capabilities that must meet high standards of performance, security, reliability, and accuracy. We are looking for candidates who are mission-driven, collaborative, adaptive and experienced in designing, writing, testing, and debugging distributed enterprise software at scale. Ideal candidates will possess knowledge of Python, Linux, continuous integration and deployment (CI/CD), with direct experience designing and developing successful enterprise software.

Responsibilities
  • 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
Minimum Qualifications 
  • 5+ years of professional experience including 3+ years of experience developing production software and systems, or a combination of educational and professional experience commensurate with this level of experience
  • 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
Enhanced Qualifications (Nice to Have) 
  • Experience designing, building and deploying applications and reusable libraries based on the NVIDIA ML software stack on the Jetson Platform
  • Experience with system integration testing including HIL and SIL
  • Understanding of SQL/NoSQL Database implementations (SQLite, Redis, Postgres, etc)
  • Well-versed in Docker/containerization
  • Hands-on knowledge of cloud platforms and services focused on IoT device management, security and OTA updates (AWS, Azure) preferably in the scale of million devices  including managing release/versioning strategies and monitoring fleet-wide performance metrics
  • Experience with control systems applications (e.g. industrial processes, manufacturing, commercial buildings, SCADA) and/or power systems 
  • Experience working with software and systems deployed in modern data center environments, including telemetry ingestion, rack-level integration, and coordination with orchestration platforms
  • Experience with Shell scripting, helm charts, ansible, and prometheus tools
Salary Range: $120,000 to $150,000 base compensation depending on experience and stock options. Salary will be commensurate with an individual's skills, training, years of experience, and in line with internal compensation bands. 

Location: This position is based onsite at our company headquarters in Ann Arbor, Michigan, with flexibility for occasional remote work.

Our Commitments:
Utilidata values the diversity of our team. We provide equal employment opportunities without regard to race, color, religion, creed, sex, gender, sexual orientation, gender identity or expression, national origin, age, physical disability, mental disability, medical condition, pregnancy or childbirth, sexual orientation, genetics, genetic information, marital status, or status as a covered veteran or any other basis protected by applicable federal, state and local laws.

We are committed to:
  • 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 with flexible paid time off
  • Competitive compensation and benefits, including health, dental, vision, and employer-match 401k
Utilidata
Utilidata

0 applies

0 views

There are more than 50,000 engineering jobs:

Subscribe to membership and unlock all jobs

Engineering Jobs

60,000+ jobs from 4,500+ well-funded companies

Updated Daily

New jobs are added every day as companies post them

Refined Search

Use filters like skill, location, etc to narrow results

Become a member

🥳🥳🥳 452 happy customers and counting...

Overall, over 80% of customers chose to renew their subscriptions after the initial sign-up.

To try it out

For active job seekers

For those who are passive looking

Cancel anytime

Frequently Asked Questions

  • We prioritize job seekers as our customers, unlike bigger job sites, by charging a small fee to provide them with curated access to the best companies and up-to-date jobs. This focus allows us to deliver a more personalized and effective job search experience.
  • We've got over 200,000 jobs from 15,000+ vetted companies. No fake or sleazy jobs here!
  • We aggregate jobs from 15,000+ companies' career pages, so you can be sure that you're getting the most up-to-date and relevant jobs.
  • We're the only job board *for* software engineers, *by* software engineers… in case you needed a reminder! We add thousands of new jobs daily and offer powerful search filters just for you. 🛠️
  • Every single hour! We add 2,000-3,000 new jobs daily, so you'll always have fresh opportunities. 🚀
  • Typically, job searches take 3-6 months. EchoJobs helps you spend more time applying and less time hunting. 🎯
  • Check daily! We're always updating with new jobs. Set up job alerts for even quicker access. 📅

What Fellow Engineers Say