Junior C++ Software Engineer
- Utrecht, Netherlands
Job description
About Vitestro
Founded in 2017 in Utrecht, Vitestro is pioneering the future of blood collection with the Aletta® Autonomous Robotic Phlebotomy Device™ (ARPD™). This groundbreaking medical device combines advanced multi-modal imaging (near-infrared, ultrasound, and Doppler ultrasound) with robotics and AI to perform the entire diagnostic blood draw procedure autonomously.
By addressing critical healthcare staffing shortages and improving patient experience, Vitestro is transforming one of the most common and essential medical procedures. With more than 90 team members and growing rapidly, we are scaling our impact. As we placed our first devices with customers, we are now expanding our team to ensure successful implementation and long-term reliability.
At Vitestro, we are committed to continuous innovation and improvement.
About the Role
We are looking for 3 C++ Software Engineers to join our multidisciplinary development team. You will contribute to the design and implementation of core software features for advanced hardware-integrated systems.
This role combines modern C++ development with real-time environments, hardware integration, and structured software architecture (including state machines and communication protocols).
You will work closely with hardware engineers and system architects to build robust, testable, and high-performance software solutions.
As a C++ Engineer you will:
Design, implement, and maintain software features in modern C++ (C++20)
Develop and extend state machine logic and core system functionality
Implement new features and improve on existing architecture
Contribute to software that integrates evolving hardware components
Work with DDS communication protocol
Participate in hardware integration and validation
Contribute to and improve the test scripting environment
Apply test-driven development (TDD) principles
Collaborate in code reviews and maintain high-quality standards
Support debugging and optimization in Linux and real-time environments
Job requirements
What You’ll Bring:
Master’s degree in Computer Science, Electrical Engineering, or a related technical field
2+ years of experience developing software in C++ in a professional environment
Experience contributing to production-level codebases (features, bug fixes, maintenance)
Comfortable working in collaborative development environments (code reviews, version control, team workflows)
Basic proficiency with Git (branching, pull requests, resolving conflicts)
Familiarity with Linux or Unix-like development environments.
Nice to have’s:
Exposure to state-based logic or structured system design (e.g., finite state machines)
Experience working in systems interacting with hardware or external devices
Familiarity with pub/sub or communication frameworks (e.g., DDS, MQTT, ROS, etc.)
Understanding of testing practices (unit testing, testable design principles)
Python knowledge for scripting and data analysis purposes
Theoretical knowledge of robotic mathematics
Hands-on experience applying computer vision algorithms
Familiarity with Ethercat and/or CANopen protocols
What we offer
Competitive salary including pension plan
25 days of annual leave based on a full-time position
Hybrid work model
Working together in a high-skilled team with our home base in Utrecht
Frequent out-of-work activities with our team (such as our Skitestro ski-trip)
Training budget
Opportunity to be key shaper of a new global industry niche: autonomous medical robotics
We offer an environment where you can make a lot of impact, as you are joining a growing scale-up in MedTech. Our team of driven and talented colleagues enjoys solving the challenges in developing, manufacturing, and completing our breakthrough medical device. While working in an open culture, we strive for excellence in all domains. We believe in taking courage and like to challenge each other. We learn and teach, regardless of age, nationality or gender.
or
All done!
Your application has been successfully submitted!
