Symbotic
Staff Software Engineer – Algorithms
Job Description
What we need
We are seeking a highly motivated and experienced Staff Software Engineer to join our Software Engineering organization and help develop scalable, high-performance software solutions that support advanced automation, fulfillment, and material-flow systems. In this hands-on role, you will work across multiple distributed services, developing production software and solving complex optimization problems involving heuristics, graph-based algorithms, combinatorial optimization, bin packing, and sequencing challenges.
You will design and productize reliable software that helps coordinate automated workflows, optimize the movement and consumption of inventory, and improve operational efficiency across large-scale automation environments. This role provides the opportunity to influence architecture, scalability, performance, and maintainability while contributing to strategically important engineering initiatives.
What we do
We are a talented team of roboticists and software engineers working on the latest Symbotic automation expansion. We are responsible for delivering solutions for the ordering, processing and delivery of mixed SKU totes to hundreds of customers
What you'll do
-
Design and develop real-time distributed software for Automation systems.
-
Design software systems which are highly available & widely scalable.
-
Research, develop, and productize solutions for NP-Hard optimization problems using combinatorial optimization or other algorithms
-
Demonstrate passion about building high quality software, love solving problems and facing new challenges.
-
Analyze a system of distributed software components using performance, profiling, and debugging tools.
-
Be a proactive communicator who enjoys working closely with creative and technical peers.
-
Work in a dynamic Agile/Scrum based environment.
-
Have opportunities to travel to customer sites.
-
Develop software application using microservice oriented architecture using technologies like .Net Core, Rabbit MQ, Open API and Kubernetes
What you'll need
-
Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field.
-
Minimum of 8 years of professional software development experience using C# and .NET.
-
Strong expertise in Object-Oriented Programming (OOP), SOLID principles, and design patterns.
-
Deep understanding of algorithms, data structures, and computational complexity analysis.
-
Proven experience designing scalable, fault-tolerant, and distributed systems.
-
Strong debugging, troubleshooting, and performance-tuning skills.
-
Experience with relational databases and SQL optimization.
-
Experience with source control systems such as Git.
-
Experience on SQL server (PL/SQL).
-
Hands-on problem solver with excellent software design and implementation skills.
-
Experience with Windows and Linux development.
-
Experience with developing unit tests and test automation frameworks.
-
Experience with source control software.
-
Should be comfortable with asynchronous or multithread programming.
-
Experience with cross platform .NET core development.
Our environment
-
Up to 10% travel may be required. Employees must have a valid driver’s license and the ability to drive and/or fly to client and other customer locations.
#LI-Hybrid
#LI-GJ1