AutoStore™ holds a simple yet powerful vision: to store and move things for everyone, everywhere. Founded in Norway, we've grown into a global technology company. AutoStore uses advanced software to automate and orchestrate order fulfillment. Our goal is to ensure orders arrive faster than ever, with minimal environmental impact. That's how we help brands exceed customer expectations.
We have more than 1600 systems in nearly 60 countries, and we grow continuously as a community of employees, partners, customers, suppliers, and connected technologies. Automation should make life easier, and by listening carefully to our community, we innovate to meet the industry's most complex needs. With AutoStore™, brands gain speed, efficiency, and improved workplaces. And much more floor space.
AutoStore – moving things forward.
The Role:
AutoStore is hiring a Senior Software Engineer to design, build, and ship the software that connects and runs our automated storage and fulfillment systems. You will work across the stack, from networked services and messaging to the pipelines that build, test, and secure our code.
We are looking for an engineer with 5–7 years of professional software development experience who has owned features from design through to production. You write solid code in one or more of Rust, C++, Java, Python, or TypeScript, understand how systems communicate across networks and firewalls, and bring hands-on DevOps experience so that your software is built, tested, and scanned automatically. Our team works in GitHub.
As a senior member of the team, you will help set technical direction, review designs and code, and mentor other engineers. This role includes domestic and international travel.
Key Tasks and Responsibilities:
Software Design and Development
Design, develop, and maintain software in one or more of Rust, C++, Java, Python, or TypeScript.
Build services and integrations that communicate using messaging and API technologies such as MQTT, RabbitMQ, REST, and WebSockets.
Make sound architecture and design decisions that balance performance, reliability, security, and maintainability.
Write unit and integration tests, and debug complex issues across the application, operating system, and network layers.
Networking and Connectivity
Design and support network communication between our software, devices, cloud services, and customer systems.
Configure firewall rules and network settings so that systems can communicate securely across firewalls and network boundaries.
Troubleshoot connectivity issues such as blocked ports, latency, dropped connections, and certificate or TLS problems.
Containers and Platform
Package, run, and troubleshoot applications in Docker containers.
Apply a solid understanding of operating system concepts to build efficient, reliable software.
Deploy and operate services in cloud environments such as Azure or AWS where needed.
CI/CD and DevOps
Set up and maintain build pipelines in GitHub and GitHub Actions.
Automate test runs as soon as a build is ready, and publish the results where the team can see them.
Integrate automated cybersecurity scans and static code analysis into the pipeline.
Debug, triage, and resolve pipeline failures.
Technical Leadership and Collaboration
Review designs and code, and help raise the quality bar of the whole team.
Mentor mid-level and junior engineers.
Work within cross-functional teams, collaborating with hardware, firmware, QA, and product colleagues.
Document designs, interfaces, and processes so others can use and support them.
Travel domestically and internationally as needed, for example to customer sites, partners, and other AutoStore locations.
Key Qualifications:
Bachelor's degree in Computer Science, Software Engineering, Computer Engineering, or equivalent experience.
5–7 years of professional software development experience.
Strong programming skills in one or more of the following: Rust, C++, Java, Python, or TypeScript.
Experience with one or more…