Principal Software Engineer
Role details
Job location
Tech stack
Job description
This position will be part of a team responsible for software design and development for Predictive Maintenance & Logistics (PM&L) projects and other internal software development efforts within the ICS Business Unit. The Principal Software Engineer will design, implement, and test software that supports data manipulation and storage, translation, sensor data capture and transmission, export of data to multiple platforms, conversion to standardized messaging formats, and graphical user interface design. The role requires development predominantly in python on Linux systems, including interaction between processors, external devices, external software interfaces, and networked systems. The employee will work as part of a fast-paced engineering team, support technical demonstrations and test events, and document development efforts through design documentation, interface control documents, user manuals, and test plans., * Design, implement, and test custom software for condition-based maintenance and other internal projects.
- Develop software for data manipulation, storage, translation, sensor data capture, sensor data transmission, and export to different platforms.
- Convert and integrate data into standardized messaging formats and external software interfaces.
- Build and maintain software interfaces to databases, APIs, file-based data sources, message brokers, and external applications.
- Implement algorithms in software for data manipulation, analysis, and presentation.
- Develop software that operates in conjunction with external and embedded hardware/software across Linux, Windows, and Android environments.
- Document development efforts through design documentation, interface control documents, user manuals, and test plans.
- Support software packaging, deployment, configuration management, and troubleshooting in lab, field, and customer environments.
- Support technical test events, demonstrations, and customer-facing engineering activities as part of a fast-paced team.
Requirements
- Bachelor's degree in Computer Science, Software Engineering, Data Science, or equivalent and a minimum of 9 years of related experience working in an agile environment OR 7 years with a graduate degree (or 13 total years in lieu of a degree).
- Experience with Python software development.
- Experience developing maintainable production-quality software, including modular design, error handling, logging, configuration management, and unit/integration testing.
- Experience with Python libraries and frameworks for data processing, automation, APIs, and/or application development.
- Experience working in Linux and Windows development environments.
- Experience with data formats and interfaces such as JSON, CSV, XML, REST APIs, sockets, message queues, or similar mechanisms.
- Experience with databases and data storage technologies such as PostgreSQL, SQLite, InfluxDB, object storage, or similar systems.
- Experience with software revision control systems such as Git, SVN, or similar tools.
- Ability to troubleshoot software issues across applications, operating systems, networks, and external system interfaces., * Experience with condition-based maintenance, predictive maintenance, vehicle health management, telemetry, sensor data, or diagnostic systems.
- Experience with data analytics, signal processing, machine learning, or algorithm implementation in Python.
- Experience with Python web or API frameworks such as Flask, FastAPI, Django, Dash, or similar tools.
- Experience with embedded Linux, edge-compute devices, or software interaction with embedded/external hardware.
- Experience with containerization, deployment, and DevOps tools such as Docker, CI/CD pipelines, or automated build systems.
- Strong verbal and written communication skills with the ability to document technical work clearly.
- Strong team orientation and ability to work effectively in a fast-paced engineering environment.
Benefits & conditions
paid time off, short term disability, long term disability, tuition reimbursement, 401(k), Hired applicants may be eligible for benefits including but not limited to:
- Health benefits
- Medical
- Dental
- Vision
- Basic life with AD&D
- Short term disability
- Long term disability
- Ancillary (Voluntary life with AD&D, accident, critical illness, hospital, and pet)
- Spending accounts (HSA, FSA, and DCFSA)
- Paid time off
- Holidays
- 401(k) (including automatic company contribution)
- Tuition reimbursement
- Leaves (Parental, pregnancy, and military)
- Potential annual bonus