Senior Software Engineer, Edge/IoT - Providence, United States - Utilidata
Description
Utilidata is a fast-growing energy technology company that is digitizing the grid-edge to unleash the full potential of clean energy.
We are leveraging our proven expertise to build new solutions that optimize real-time data and AI to integrate more clean energy and support an electrified transportation system.
We are expanding our engineering team and looking for a Senior Software Engineer to lead 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.
These individuals will be fully engaged in the software development process from architecture and planning all the way through deployment, and must have broad and deep knowledge of the state of the evolving software.
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 deep knowledge of Python, Linux, continuous integration and deployment (CI/CD), and have a proven track record in designing and developing successful enterprise software.
ResponsibilitiesDesign, propose, plan, implement, and test resource-constrained, edge software in Python (and possibly lower-level languages, e.g., Rust)Create and maintain CI/CD processes as necessary to support development and deploymentContribute to internal and external technical documentationCollaborate with a cross-functional team of software, hardware, quality assurance (QA), and power systems engineers; data scientists; and leadershipProvide high quality, in-depth code and architecture reviews, implement new features, and provide technical leadership while coordinating with project management, QA, and other internal teamsContinually advocate for and implement process improvement and automationFoster a culture of open communication, innovation, and continual improvementMentor other engineers using paired programming, code review, and collaborative test scenario designMinimum Qualifications
8+ years of professional experience including 5+ years of experience developing production software and systems, or a combination of educational and professional experience commensurate with this level of experienceDemonstrated 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++ and the Linux operating systemExperience with device layered security, i.e encryption (PKI) , disk partitioning, secure boot, os kernel libraries, device drivers, os processes/daemonsExpert level user of Shell scripting, helm charts, ansible, and prometheus toolsData compression and schema management for device time series dataKnowledge of industry protocols 2030.5, DNP3, Modbus, OPC-UAExperience implementing and maintaining CI/CD workflows (e.g.
Experience designing, building and deploying applications and reusable libraries based on the NVIDIA ML software stack on the Jetson PlatformExperience with system integration testing including HIL and SILExperience with simulation software and emulatorsData engineering experience including batch, stream processing, and data transformationsUnderstanding of SQL/NoSQL Database implementations (SQLite, Redis, Postgres, etc)Well-versed in Docker/containerizationExperience implementing IoT AWS solutionsFamiliarity with data science, machine learning and/or software-based models and simulations of physical systemsBroad, high-level knowledge of cloud platforms and services (AWS)Experience with control systems applications (e.g.
$135,000 to $165,000 depending on experience
Location:
This position can be performed remotely from anywhere in the United States
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 respectfulEmpowering employees to solve problems and work together to make a differenceProviding mentorship and growth opportunities as part of a collaborative teamA flexible work environment with flexible paid time offCompetitive compensation and benefits, including health, dental, vision, and employer-match 401k
#J-18808-Ljbffr