Software EngineerAs a Software Engineer, you will be collaborating with an interdisciplinary team focusing on developing reliable robotic and automation systems for a wide range of real-world commercial products and R&D applications. This can take the form of developing onboard software for a custom camera system, building custom loggers to saturate the write speed of a NVME drive, architecting high-performance middleware infrastructure, or building custom release images optimized for OTA updates.Your day to day will involve:Making significant contributions by developing high-performance software infrastructure including message serialization, IPC, process management, and loggingCatching and debugging the failure cases using debuggers like GDB, pdb, and valgrindOptimizing software using profiling tools like perf and Callgrind, and writing custom CUDA kernels to squeeze every bit of performance out of the GPULeveraging the knowledge of multiple computer languages (C, C++, Python, Rust, Go, etc.) to solve the problem at handApplying a solid background in 3D geometry, computer vision, and robot kinematics—you should be comfortable navigating transformation matrices and kinematic chainsHandling geospatial data, georeferencing, and coordinate systems to ensure our systems know exactly where they are in the worldGetting hands-on with point cloud data to help our robots perceive their environment in 3DBeing a team player by providing constructive feedback on GitHub pull requests and being open to feedback on your own contributionsContributing to, and potentially maintaining, open-source projectsCoordinating and collaborating with other internal departments when necessary such as test technicians, manufacturing, and productionYou'll have:Demonstrated track record of strong personal accountability and initiative; excels in autonomous, low-supervision environmentsA deep understanding of C++ and Python, with specific experience using PyTorch and libtorch for modern robotics applicationsA track record of real-world deployment of autonomous systems—you've seen what happens when code hits the dirtA builder/maker mentality that has excelled in a technical discipline and is now looking to tackle the challenges of product development in the nascent world of roboticsWritten and presentation skills required to communicate to external customers and internally to teammatesAuthorization to work in the U.S. without restriction is required.
The company is unable to provide sponsorship for this position.To stand out, you'll have:A Bachelor's degree in Computer Science or Computer EngineeringExperience in defense-related government contractingWhat you'll get out of it:UPMC health coverage with FSA or HSA optionsComprehensive dental, vision, and life insuranceFidelity 401(k) plan with employer matchFree catered lunch every day with a vegan option31 Days of PTO (including holidays)Comp time for company travelCarnegie Robotics is an Equal Opportunity Employer that welcomes applications from all employees and applicants for employment without regard to race, color, religion, gender, sexual orientation, national origin, age, disability, marital status, or status as a covered veteran in accordance with applicable laws and Carnegie Robotics' employment policies.