Staff Software Engineer

Alameda, CA
Engineering - Software /
Full-time /
On-site
As a Staff Software Engineer at Boxbot, you will lead the development and optimization of server-level applications and high-speed data processing systems for our advanced automated material handling facilities, employing your expertise in C++ and system design. This pivotal role offers a pathway to leadership, inviting you to shape the future of our engineering practices and mentor a team towards groundbreaking innovations in automation and robotics.

Responsibilities

    • Lead the architecture and development of server-level applications that control and optimize our automated material handling systems. Your work will ensure the efficient and reliable operation of our facilities' subsystems, creating a seamless flow of operations.
    • Develop and optimize high-speed data processing systems using C++ to manage and control automation robotics. Your expertise will enhance our system's responsiveness and reliability, critical for our operations' success.
    • Spearhead the development of a high-performance Warehouse Execution System (WES) focused on scalability, modularity, and robustness. Ensure seamless integration with our bespoke hardware, facilitating smooth operations within our facilities.
    • Drive initiatives aimed at improving system security and performance, including secure coding practices, efficient memory management, and performance tuning.
    • Promote a culture of excellence and continuous improvement within the engineering team. Mentor junior engineers, advocating for best practices in software development, and contribute to the team's growth and expertise.

Requirements

    • A Bachelor's or Master's degree in Computer Science or a related field.
    • At least 10 years of experience in developing and deploying production-level robotics and automation systems.
    • Strong experience with C++ especially in a Linux environment interfacing with hardware.
    • Demonstrated experience in technical architecture, specifically in designing scalable and robust frameworks for complex software systems within automated or robotics environments
    • Experience designing distributed data processing systems (e.g., using Pub/Sub, TCP/UDP, gRPC)
    • Experience with in memory databases (Redis in particular) preferred
    • Knowledge of cloud compute infrastructure (e.g., Docker) and practices.
    • Bonus: Startup experience and entrepreneurial mindset
    • Bonus: Strong desire to contribute to the technical product and manage engineers