The Principal Software Engineer will play a critical role in developing software services for a state-of-the-art robot control system for grocery supply chain automation. As a Principal Software Engineer, you will be part of a talented team focused on developing industry-changing solutions.
WHAT WILL YOU DO?
- Develop reactive microservices written in Java to handle customer orders, control and coordinate swarms of robots, control various elements of the system, and maintain metrics.
- Work with the electrical, mechanical, systems, and safety teams to document and detail software requirements.
- Develop and code review modular and well documented software
- Develop software unit-tests, integration tests, and acceptance tests
WHAT ARE WE LOOKING FOR?
- 10+ years' of experience in Core Java development (version 8 or above)
- Experience developing reactive microservices (using Akka, Vertx, RxJava or a similar framework/library) or experience developing event-driven distributed systems using asynchronous actors and messaging
- Experience with a messaging platform (ActiveMQ, RabbitMQ, Kafka or similar)
- Experience with Docker
- Knowledgeable in robotics and/or automation
- Experience with NoSQL databases and in-memory caches such as Redis or equivalent
- Understanding of networking (TCP/IP, HTTP, etc.)
- Experience with Unit Testing (using Junit, Mockito or similar)
- Experience working within an Agile environment
- B.S. in Computer Science, Engineering, or related area