What are the responsibilities and job description for the Senior Software Engineer - Robotics position at Faction Imaging Inc?
Faction Imaging is seeking an experienced Software Engineer to help accelerate the development of next-generation medical imaging solutions. In this role, you will work with a small, multidisciplinary team of engineers and contribute to building the foundation that transforms cutting-edge algorithms into robust, reliable, production-quality software. This position is ideal for someone who enjoys solving complex integration challenges and is passionate about building real-time, real-world systems.
Role & Responsibilities
- Drive discussions and contribute to the technical strategy for scalable, real-time robotic systems integrating multiple hardware and software components.
- Design, implement, and maintain software architecture and modular components for reliable, maintainable, and high-performance operation.
- Develop and integrate DDS-based communication layers to ensure robust, low-latency data exchange across distributed components.
- Collaborate closely with ML, robotics, and controls engineers to define data interfaces, real-time performance requirements, and system integration strategies.
- Conduct live experiments, validation, and performance testing of software on robotic platforms.
- Develop basic user interfaces and visualization tools for operational monitoring, diagnostics, and system control.
- Promote adherence to software engineering best practices, including code review, documentation, testing, and continuous integration.
Qualifications
Education:
- BS/MS in Computer Science, Robotics, Electrical Engineering, or related field with 7 years of professional software development experience in robotics applications, or
- PhD in a related field with 4 years of professional experience.
Core Competencies:
- Strong foundation in data structures, algorithms, real-time constraints, networking, and multi-threaded programming.
- Proficiency in C and Python, emphasizing clean, reusable, and maintainable code.
- Hands-on experience with DDS or similar middleware (e.g., ROS 2, ZeroMQ) and deep understanding of inter-process communication mechanisms.
- Skilled in version control (git) and familiarity with modern software development, debugging, and logging tools.
- Strong analytical, problem-solving, communication, and teamwork skills.
Engineering Practices:
- Proven ability to design and document software architecture.
- Familiarity with unit testing, code reviews, continuous integration, and agile development processes.
Preferred Skills
Having one or more of the following will be a strong plus:
Machine Learning / AI R&D
- Experience developing ML models for computer or robotic vision.
- Deploying and optimizing cloud-based data or ML infrastructure (e.g., Microsoft Azure, AWS).
- Proficiency with Azure services for data storage, management, and model training.
- Experience building and maintaining CI/CD pipelines.
Robotics R&D
- Development of efficient mapping, planning, or navigation algorithms and related software.
- Experience with end-to-end deep learning models for robotic applications.
Additional Strengths
- Degree in Computer Science with exceptional programming skills.
- Demonstrated contributions to open-source projects.
- Leadership in setting development guidelines and promoting high engineering standards for the team.