About Us
Terminal builds software that digitizes, indexes, and automates the yard, leveraging best-in-class machine learning. Our platform provides warehouse operators with the intelligence needed to optimize their usage of trucks, trailers, chassis, containers and personnel. These are the fundamental operating assets of commerce - and represent the last great frontier of untapped data. In the process, Terminal will address many industry-wide pain points, including compliance, manual processes, equipment location, phantom costs, and labor inefficiencies. Ultimately, Terminal will become the central nervous system for the yard, seamlessly connecting all data sources to support an extensive range of essential functions.
Overview
Our world class vision engineering team has built an engine that can process the movement of trucks and containers in real-time. We are now hiring a team of engineers to build out how we run and operate the engine at scale. As a member of the Vision Engine Runtime team, you will drive the strategy we use for routing events to and from the the engine, how we auto-scale infrastructure up and down to support real time computer vision workloads, and ensure that this critical component of the system is always available.
We are seeking an experienced Principal Software Engineer with a minimum of 12 years of relevant experience to join our team. As a founding member of our application team, you will play a pivotal role in architecting and developing cutting-edge solutions. The ideal candidate possesses expertise in AWS, proficiency in Golang, a deep understanding of event-driven technologies, hands-on experience with modern data stores, and a commitment to implementing observability and a passion for operational excellence.
Responsibilities
Architect and develop a scalable, secure, and efficient runtime environment for our computer vision engine, ensuring high availability and performance.
Design and implement systems for routing events to and from the computer vision engine. Develop strategies for managing high throughput and low latency communication.
Implement and manage auto-scaling solutions to dynamically adjust infrastructure resources based on real-time demands of computer vision workloads.
Work closely with cross-functional teams, including data scientists, application developers, and product managers, to understand requirements and translate them into effective engineering solutions.
Champion best practices in software development, including code reviews, documentation, and adherence to coding standards.
Implement comprehensive observability measures, including metrics, logs, and traces, to monitor the health, performance, and reliability of the runtime environment.
Take ownership of production systems, ensuring they meet high standards of quality and reliability. Address and resolve operational issues proactively.
Develop and execute automated tests (unit, integration, system) to ensure code quality and system robustness. Implement testing strategies that align with the needs of a real-time system.
Stay current with industry trends and emerging technologies, incorporating them into our tech stack where applicable.
Requirements
Must be based in Austin, TX, or willing to relocate.
Minimum of 12 years of experience in building and managing distributed systems, particularly those involving real-time data processing and computer vision.
Proven experience in designing and operating scalable and high-performance systems in a production environment.
Demonstrated experience in building backend systems using Golang or Python. Ability to write high-performance, efficient, and maintainable code. Strong focus on code quality, with experience in implementing code reviews, refactoring, and adhering to best practices.
Extensive experience with AWS services, including EC2, ECS, Lambda, API Gateway, S3, SQS, Kinesis, and DynamoDB.
Proven ability to design and manage scalable infrastructure using AWS services and tools.
In-depth knowledge of event-driven architectures and technologies such as Kafka, SQS, and Kinesis.
Experience in setting up and managing metrics, logs, and tracing to monitor system health and troubleshoot issues.
Extensive experience with automated testing frameworks and methodologies, including unit testing, integration testing, and system testing.
Proficiency in containerization technologies (Docker) and orchestration tools (Kubernetes). Experience in managing containerized applications in a production environment.
Strong communication skills, with the ability to articulate complex technical concepts to both technical and non-technical stakeholders.
What We Offer
Joining the Terminal team means being part of a dynamic, innovative environment where your work directly impacts the future of logistics and the global supply chain. You will work closely with a team of experts passionate about operational excellence and technological innovation. We offer competitive salaries, a comprehensive benefits package, and opportunities for professional growth.