Principal Enterprise Software Engineer
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!
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.
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
- Large scale distributed system development
- Development of tasking based on requirements
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