Job Description
Sr. Software Engineer, C++ (Madrid-based)
Department: Research & Development
Employment Type: Full Time
Location: EMEA-Spain
Description
Key Responsibilities
- Own features end-to-end — from requirements clarification and architecture through implementation, review, release, and post-release monitoring
- Design and implement 3D geometrical and numerical algorithms in C++ for customer-facing planning scenarios (doctor-facing and CAD)
- Contribute to backend services in Go supporting the customer-facing applications
- Lead architecture discussions; propose, defend, and close technical trade-offs with clear reasoning
- Drive clarification of ambiguous or incomplete requirements together with Business Analyst, Product Manager, and QA.
- Coordinate directly with adjacent teams on cross-team dependencies — own the outcome
- Set the quality bar in code reviews; mentor junior and mid-level engineers through reviews, pairing, and design guidance
- Work closely with the SQA team; contribute to test infrastructure and testability of the code you write
- Maintain traceability and regulatory documentation for medical software, following documentation-as-code practices
Skills, Knowledge & Expertise
- Degree in Computer Science, Mathematics, Physics, or Engineering
- 8+ years of hands-on software engineering experience in a product team
- Demonstrated ownership of multiple non-trivial features taken from requirements to production
- Track record of technical leadership on at least one complex feature or subsystem
- Strong expertise in modern C++ (C++14/17 or later), deep knowledge of STL
- Experience building high-performance numerical or geometry algorithms
Go (complementary):
- Practical experience building backend services in Go, including HTTP/WebSocket endpoints
- Familiarity with gRPC and Protocol Buffers
General:
- Ability to write testable, object-oriented code; strong opinions on design and testability
- Solid understanding of algorithms; experience with 3D geometry, linear algebra, or analytical geometry is a strong advantage
- Experience with Git and CI systems (Bamboo or equivalent)
- Working knowledge of Python for tooling and scripting
- Able to explain technical trade-offs clearly — why option A was chosen over B, what was rejected and why
- Comfortable leading discussions with BA, PM, QA, and peer engineers to close decisions
- Writes clear design notes, commit messages, and documentation
- Proactive: talks to adjacent teams directly for context instead of escalating
- Takes initiative on process and quality
- Actively mentors junior and mid-level peers
- Ownership mindset
- Upper-intermediate English (B2 or higher) — all internal communication is in English
- Comfortable working in a regulated (medical) industry with strict process and documentation requirements
- Effective under tight timelines and in changing environments
- Learns new technologies quickly
- AWS Lambda and other serverless patterns
- Hands-on experience with Jira and Confluence
- Hands-on experience using AI-powered tools in day-to-day software development
