Senior Software Engineer – Perception Engineer
Being an engineer at LiminalArc means more than writing great software. It means being a trusted partner to our clients, someone who can understand their business challenges, communicate effectively with both technical and non-technical stakeholders, and translate ideas into practical, high-value solutions. We look for engineers who combine technical depth with consulting instincts: people who are curious, adaptable, collaborative, and committed to continuous learning. We embrace modern engineering practices, leverage AI thoughtfully, and take ownership to deliver results that make a difference.
About the Position
We’re looking for a Senior Software Engineer specializing in Perception Engineering to help our clients build autonomous vehicle systems that safely perceive and understand the world around them. You’ll partner closely with customers to design, develop, integrate, and deploy perception software for robotics and autonomous platforms while helping shape the technical direction and delivering high-quality production systems.
The ability to think holistically about business problems, technology, and long-term outcomes will serve you well. As a player/coach, you’ll remain deeply involved in the day-to-day delivery while mentoring less experienced engineers across both LiminalArc and our client teams. You’ll be successful if you consistently get stuff done, help your team get stuff done, and do it in the right way.
Required Qualifications
- Bachelor’s degree in Computer Science, Electrical Engineering, Robotics or related field.
- A strong desire to learn and solve complex robotics and autonomous vehicle problems.
- Excellent verbal and written communication skills.
- Excellent collaborator who can successfully work across different teams and disciplines.
- Experience integrating and calibrating LiDAR, radar, cameras, or ultrasonic sensors.
- Experience designing, debugging, and optimizing multithreaded C++ applications.
- Strong understanding of software architecture and modern C++ development.
- Strong understanding of using machine learning and AI in embedded C++ environments.
- Advanced knowledge of linear algebra, probabilistic estimation, and coordinate transformations.
- Experience mentoring junior engineers through pairing, code reviews, and technical guidance.
Preferred Qualifications
- Master’s degree in Computer Science, Electrical Engineering, Robotics or related field.
- 4+ years of experience developing perception systems for autonomous vehicles or robotics platforms.
- Experience developing Robot Operating System (ROS/ROS2) applications.
- Experience developing algorithms for object detection, classification, tracking, or sensor fusion.
- Experience working in customer-facing professional service engagements.
- Experience working in Agile environments using TDD, Scrum, XP, and Kanban.
Responsibilities
- Lead the design, development, and deployment of perception algorithms for LiDAR, radar, camera, and sensor fusion applications for autonomous platforms.
- Architect real-time C++ processing pipelines for object detection, classification, tracking, and sensor fusion in embedded environments.
- Define sensor selection criteria, integration standards, and validation processes for new and existing perception systems.
- Drive resolution of complex or non-standard perception failures through root cause analysis and algorithm refinement.
- Collaborate cross-functionally with planning, controls, and systems engineers to align perception outputs with broader autonomy architecture.
- Deploy and configure perception systems at customer sites, providing technical leadership during integration.
- Partner with clients to gather technical requirements and understand priorities and timelines.
- Leverage AI thoughtfully to improve development workflows.
- Provide estimates for tasks and work items and deliver them in a consistent, timely manner.
- Break work items into smaller, more manageable tasks to improve estimation activities.
- Perform code reviews on pull requests and provide targeted feedback for improvements.
- Participate in design discussions, evaluate tradeoffs, and recommend pragmatic solutions.
- Produce technical documentation, diagrams, and design artifacts when needed and appropriate.
- Identify technical risks, concerns, or issues and proactively work to drive resolution.
- Uphold engineering excellence by adhering to established practices, standards, and guidelines.
- Continuously evaluate development workflows to identify potential process improvements.
Technical Skills
This is not an exhaustive list, but includes many of the skills and technologies we use to develop solutions for our customers. As a Senior Software Engineer – Perception Engineer, we expect senior-level proficiency with many of the following:
- Programming Languages: Modern C++, Python, MATLAB
- Operating Systems: Linux
- Robotics: Robot Operating System (ROS/ROS2)
- Perception Sensors: LiDAR, radar, cameras, ultrasonic sensors
- Perception Algorithms: Sensor fusion, object detection, object classification, object tracking
- AI/ML: Computer vision, embedded AI inference
- Mathematics: Linear algebra, coordinate system transformations, least-squares estimation
- AI-Assisted Development: Claude Code, OpenAI Codex, GitHub Copilot, Cursor
- DevOps and CI/CD: Git, GitHub Actions, Azure DevOps
- Planning and Delivery: Jira, Azure DevOps, GitHub Projects
Location and Travel
This is a billable, client-facing position located in Logan, Utah. Weekly on-site travel is required and should be taken into consideration when applying.
Federal Health Care Price Transparency Requirements