06 nov
|
Jobgether
|
La Coruña
06 nov
Jobgether
La Coruña
This position is listed on behalf of a partner company, which manages all applications and next steps. Our partner is looking for a Senior C++ Software Engineer based in Spain.
Join an innovative engineering project focused on developing advanced embedded vision systems and intelligent traffic management solutions. In this role, you will design and build high-performance software components using Modern C++ within a ROS2-based architecture. You will contribute to a sophisticated sensor-fusion platform designed to address complex traffic and junction scenarios, where reliability, precision, and real-time performance are essential.
Working alongside experienced developers, architects, and technical stakeholders, you will help shape software architecture and deliver scalable, maintainable solutions. This opportunity combines challenging systems programming with practical applications in robotics, embedded systems, and intelligent transportation technology. You will also have the autonomy to drive technical improvements, share your expertise, and support the development of other engineers.
Accountabilities
Software Development
Design, develop, and maintain core application components using Modern C++ (C++17/20) within an established ROS2-based architecture.
Sensor Integration
Integrate multiple sensors, external interfaces, and third-party components into a complex embedded vision and sensor-fusion platform.
Distributed Systems Engineering
Build component-based applications using publish/subscribe (pub/sub) patterns and message-based communication to support reliable data exchange across distributed systems.
Architecture and Technical Design
Contribute to software architecture and design decisions, assess technical alternatives, and implement reusable, scalable, and maintainable solutions.
Software Quality and Testing
Develop and maintain unit and integration tests to validate functionality, improve reliability, and ensure system stability.
Performance Optimisation
Identify bottlenecks and optimise runtime performance, memory usage, concurrency, and resource utilisation in performance-critical applications.
Debugging and Troubleshooting
Investigate and resolve complex software issues in Linux environments using debugging, profiling, and performance-analysis tools.
Development Environment Management
Maintain container images,
Docker configurations, and build environments for development and target platforms.
Code Reviews and Technical Collaboration:
Participate in code reviews, provide constructive feedback, and collaborate with developers, architects, and project stakeholders to maintain high engineering standards.
Technical Leadership and Mentorship
Take ownership of complex development tasks, contribute to technical decision-making, and guide less experienced engineers through knowledge sharing and mentoring.
Continuous Improvement
Identify opportunities to improve development workflows, software quality, system reliability, and engineering practices across the project.
Requirements
Professional Experience
At least 5 years of professional software development experience, with strong expertise in C++ and the development of complex software systems.
Modern C++ Expertise
Advanced proficiency in C++17/20, including memory management, multithreading, concurrency, and performance-critical programming.
ROS2 and Robotics
Practical experience developing robotic applications with ROS2, including an understanding of its architecture, components, and communication mechanisms.
Sensor Integration
Hands-on experience integrating multiple sensors into complex software systems, preferably within embedded vision, robotics, or sensor-fusion applications.
Distributed and Component-Based Systems:
Solid understanding of distributed architectures, component-based software design, and pub/sub or message-based communication patterns.
Software Architecture
Strong knowledge of software design principles, architectural best practices, and approaches to building maintainable and reusable applications.
Testing and Quality Assurance
Experience designing and implementing unit and integration tests for reliable, production-quality software.
Linux Development
Strong experience working in Linux environments, including debugging, profiling, performance analysis,
and troubleshooting.
Version Control and Collaboration
Proficiency with Git and collaborative software development workflows, including code reviews and shared development practices.
Containerisation
Hands-on experience with Docker and containerised development and build environments.
Analytical and Problem-Solving Skills:
Strong analytical thinking, systematic debugging skills, and the ability to resolve challenging technical problems independently.
Ownership and Communication
Ability to take responsibility for complex engineering tasks, make informed technical decisions, collaborate effectively, and communicate clearly in English.
Nice to Have
Experience developing ROS2 nodes and using Python for tooling, testing, or non-critical ROS2 components.
Additional Advantages
Familiarity with Yocto, Embedded Linux, Kubernetes, Helm, CI/CD pipelines such as Jenkins or GitLab CI, real-time operating systems, and real-time programming concepts.
Domain Knowledge
Experience with machine learning concepts for perception and decision-making, or previous work on traffic management, traffic monitoring, or traffic enforcement systems, would be an advantage.
Benefits
Flexible Working Arrangements
Choose from remote, office-based, or adaptable working formats, subject to role and location requirements.
Competitive Compensation
Receive a competitive salary and comprehensive compensation package.
Personalised Career Development
Access career growth opportunities tailored to your professional goals and technical interests.
Professional Learning Opportunities
Benefit from mentorship programmes, technical talks, training sessions, and centres of excellence.
Knowledge-Sharing Communities:
Participate in active technical communities that encourage collaboration, knowledge exchange, and continuous learning.
Education Support
Access education reimbursement to support ongoing professional development.
Employee Recognition
Receive anniversary gifts and recognition of important career milestones.
Team-Building Activities:
Take part in corporate events and team activities designed to strengthen professional relationships.
Additional Local Benefits
Access location-specific benefits depending on the applicable employment arrangement.
📌 Senior C++ Software Engineer (La Coruña)
🏢 Jobgether
📍 La Coruña