Principal Enterprise Software Engineer

IAM Robotics

IAM Robotics

Software Engineering
Lawrenceville, PA, USA
Posted on Tuesday, August 22, 2023

Join Our Team

At IAM Robotics, we are a bold, gritty, and purposeful team with an ambitious mission to revolutionize fulfillment. Our team is driven by a client-first mentality: we aim to solve hard problems and fuel our clients’ growth with innovation. We are seeking talented individuals who will have a huge impact on both our business and our team. Join us on our mission as we move fast, think big, and have fun!

About Us

IAM Robotics delivers innovative automation technology that coordinates humans and robots as a cohesive system to revolutionize fulfillment. Our Meet MeTM solution combines proprietary software with person-to-goods mobile robots to increase efficiency in warehousing, distribution, and e-commerce operations. IAM Robotics provides the boost in productivity, flexibility, and speed that companies need to remain competitive and grow. Learn more at iamrobotics.com.

Job Summary

As a Principal Enterprise Software Engineer, you will collaborate with system engineers, software architects, and robotic engineers on requirements and development for the control, configuration, monitoring and securing of IAM Robotics platforms.

As a core team member, you will also coach and manage a team of software engineers on the design, development and maintenance of the software and services that manage and control our fleet of robots.

Duties and Responsibilities:

  • Design, implement, and maintain the base frameworks, REST APIs, and application logic for the management, configuration and tasking of robot fleets
  • Manage team tasking in Jira to deliver on quarterly goals
  • Develop data model and database creation and maintenance process and procedures
  • Work with other software teams to ensure interfaces are well defined and services are interoperable
  • Develop code in Python, SQL and C++
  • Coach and Mentor software engineers
  • Design and build extremely robust software delivery mechanisms

Required Skills:

  • Large scale distributed system development
  • Development of tasking based on requirements
  • Python

Minimum Experience Requirements:

  • 10+ years of experience designing and implementing software
  • 5+ years of experience managing a team
  • Experience working with large-scale distributed software systems
  • Fluent in one or more object-oriented programming languages (python, java, C++, etc.)
  • Experience with FastAPI or other REST framework
  • Experience with OAuth and API Authentication
  • Ability to be flexible and adaptable in a startup environment

Preferred Experience Requirements:

  • Experience with Unix / Linux
  • Experience with containerization, Docker, Kubernetes
  • Experience with software configuration management systems (git, svn, etc.)
  • Experience with various communication protocols (HTTPS, MQTT, AMQP)
  • Experience with commercial software deployment and support

Minimum Education Requirements:

  • Bachelor's Degree in Computer Science or a related field