Principal Enterprise Software Engineer

Onward Robotics10 months ago
Pittsburgh, PA, United States
Hybrid
Full-time
Junior Level (1-3 years)

Job Description

Position Overview

At Onward Robotics, we are a bold, gritty, and purposeful team on an ambitious mission to revolutionize fulfillment. Our innovative automation technology combines proprietary software with person-to-goods mobile robots to boost efficiency in warehousing, distribution, and e-commerce. As a Principal Enterprise Software Engineer, you will collaborate with system engineers, software architects, and robotic engineers to develop, configure, monitor, and secure our platforms. You will also coach and guide a team of software engineers in designing and maintaining the software that controls our robotic fleet.

Key Responsibilities

  • Design, implement, and maintain base frameworks, REST APIs, and application logic for managing, configuring, and tasking robot fleets.
  • Manage team tasking in Jira to deliver on quarterly goals.
  • Develop data models and database creation, maintenance processes, and procedures.
  • Collaborate with other software teams to ensure well-defined interfaces and interoperable services.
  • Develop code in Python, SQL, and C++.
  • Coach and mentor software engineers.
  • Design and build robust software delivery mechanisms.
  • Collaborate with system engineers, roboticists, and software architects to define requirements and technical solutions.
  • Conduct design and code reviews while promoting best practices.
  • Support software delivery through robust build, test, and deployment mechanisms (e.g., Docker, Kubernetes).
  • Troubleshoot issues in deployed systems and drive continuous improvement initiatives.
  • Participate in sprint planning, architecture discussions, and technical reviews.

Required Qualifications

  • Solid experience in large-scale distributed system development.
  • Proven track record in developing solutions based on detailed requirements.
  • Proficiency in Python.
  • 10+ years of experience in designing and implementing software.
  • Experience with large-scale distributed software systems.
  • Fluency in one or more object-oriented programming languages (Python, Java, C++, etc.).
  • Experience with FastAPI or similar REST frameworks.
  • Experience with OAuth and API Authentication.
  • Ability to be flexible and adaptable in a startup environment.
  • Bachelor’s Degree in Computer Science or a related field

Preferred Qualifications

  • Experience with Unix / Linux.
  • Experience with Rust.
  • Familiarity with containerization tools such as Docker and Kubernetes.
  • Experience with React.
  • Proficiency in software configuration management systems (git, svn, etc.).
  • Familiarity with communication protocols (HTTPS, MQTT, AMQP).
  • Experience with commercial software deployment and support.

Required Skills

OAuth
FastAPI
SQL
C++
Python
Large scale distributed system development
Unix/Linux
Coaching and Mentoring
Source control (Git)
Containerization (Docker, Kubernetes)
Distributed system design
REST API development