Software Engineer - Integration Center
Job Description
SHI’s IDCS team is hiring a Software Engineer to build and maintain software for an integration and deployment automation platform used by integration technicians and engineers.
Responsibilities
- Design, build, and maintain the operator-facing web application, including rack views, pipelines, dashboards, work orders, and approvals.
- Develop backend services and REST APIs in Python using FastAPI or similar technologies to expose inventory data, device actions, and run status.
- Build and extend a pipeline/DAG engine, including stage ordering, retries, parallel fan-out across devices, run history, and resume-from-failure behavior.
- Implement real-time capabilities such as live run output, device status, and rack health using SSE or WebSockets.
- Create and maintain CLI tools and a command router that dispatches actions by customer, device type, and OEM.
- Build reusable libraries and frameworks with clear module boundaries and per-page front-end separation (avoid one-off scripts).
- Own the schema and data access layer for the inventory database, including racks, devices, addressing, credentials, and run results.
- Maintain inventory as the single source of truth for addressing and device identity to keep reads/writes consistent across tools.
- Produce reporting outputs such as QC coversheets, command logs, and audit evidence for each run.
- Integrate with vendor and infrastructure APIs, including Redfish, DHCP server APIs, and device CLIs over SSH.
- Support heterogeneous hardware using a common adapter model, including:
- Dell, HPE, Lenovo, and Supermicro servers
- Cisco, Arista, and Juniper switches
- PDUs and console servers
- Implement validation, timeout, and error-handling so hung or unreachable devices do not stall the platform.
- Build automated checks to scan racks and servers for health issues and open work orders.
- Add role-based access, audit logging, and secure credential handling to prevent plaintext secrets from being stored in code, logs, or API responses.
- Implement approval gates so device-changing commands run only after explicit operator approval.
- Write unit, integration, and end-to-end tests, and use Git branching and code review to deploy safely to production.
- Deploy and support services on RHEL using gunicorn/uvicorn behind nginx, systemd, and log analysis.
- Write documentation, runbooks, and SOPs.
- Mentor junior engineers and interns.
Requirements
- 5+ years of professional software engineering experience.
- 3+ years hands-on Python development building production applications, services, or tooling (not primarily scripting).
- Experience designing, building, and supporting REST APIs and web applications in production.
- Experience designing and maintaining relational database schemas and the corresponding data access layer.
- Experience deploying and supporting services on Linux in production.
- Experience integrating with external systems through REST APIs and device interfaces such as SSH/CLI (or similar).
- Experience writing automated tests and shipping through Git-based code review.
- Strong Python skills, including typed, tested, production-quality code.
- REST API design experience with FastAPI, Flask, Django, or similar.
- JavaScript, HTML, and CSS experience, including modern front-end development without heavy framework dependence.
- SQL and relational databases, including MariaDB/MySQL.
- JSON/YAML.
- Git including branching, pull requests, and code review.
- Async and concurrent programming, including threads, async I/O, and parallel fan-out.
- Linux administration experience, with RHEL preferred.
- Bash/shell scripting.
- SSH, systemd services, and package management.
- Web server and reverse proxy fundamentals, including nginx and gunicorn/uvicorn.
- Log analysis and troubleshooting.
- TCP/IP, VLANs, and subnetting.
- DHCP/DNS.
- Network troubleshooting.
- Understanding of enterprise server hardware, BIOS/UEFI, and firmware.
- Out-of-band management technologies, including BMC, IPMI, and Redfish.
- PXE/network boot concepts.
- Secure coding and secrets handling.
- Experience mentoring junior engineers.
Technologies
- Python, FastAPI, REST APIs
- DAG engine
- SSE, WebSockets
- CLI
- Inventory database
- Redfish, DHCP
- SSH
- Unit tests, integration tests, end-to-end tests
- gunicorn, uvicorn
- nginx, systemd, RHEL
- SQL, MariaDB, MySQL
- Git
- JSON, YAML
- Linux
- BMC, IPMI, PXE
- TCP/IP, VLANs
- BIOS/UEFI
- Bash/shell scripting
Benefits
- Health, wellness, and financial benefits for peace of mind to you and your family.
- 401K
- Flexible spending
- Medical, vision, dental
Preferred Requirements
- Experience with Ansible, including playbooks, roles, and inventories.
- Experience with Paramiko, Netmiko, or similar network device automation libraries.
- Experience with Kea DHCP, including control agent APIs, reservations, and leases, plus iPXE.
- Experience with Kubernetes and/or Docker.
- Experience with Prometheus and Grafana.
- Experience with real-time visualization technologies such as Canvas, WebGL, or three.js.
- Experience integrating AI/LLM tooling with human approval controls.
- Experience with Dell, HPE, Lenovo, Supermicro, Cisco, Arista, Juniper, Raritan, Vertiv, or Avocent/OpenGear devices.
- Manufacturing or factory-integration experience.
Other Requirements
- Ability to work alongside hardware, networking, integration, and QC teams in a factory integration environment.
- Ability to create reliable, reusable software and frameworks rather than one-off scripts.
- Ability to work across heterogeneous server, networking, power, and console-server technologies.
- Ability to develop and support secure, observable production applications and services.
- Ability to create clear technical documentation, runbooks, and SOPs.
- Demonstrated ability to mentor junior engineers and interns.
Location: Piscataway, NJ (onsite)
Compensation: USD 140,000 - 180,000 per yearly