C++ Developer
Role details
Job location
Tech stack
Job description
Join our team and start a new adventure in an international and dynamic environment, where you will be able to fulfil your career expectations in a fast-growing organization.
Your missions
- Design and implement software for signal processing applications.
- Develop and optimize algorithms for high-performance and real-time systems.
- Support the development of low-latency network communication protocols.
- Participate in system integration efforts across software, firmware, and hardware.
- Maintain software baselines using version control systems.
- Ensure reliable delivery of assigned software modules and components to assist overall project timelines., * An environment where trust has a central place: 70% of our key leaders started their careers at the first level of responsibilities
- A robust training system with our internal Academy and 250+ available modules
- A vibrant workplace that frequently gathers for internal events (afterworks, team buildings, etc.), At Amaris, we strive to provide our candidates with the best possible recruitment experience. We like to get to know our candidates, challenge them, and be able to give them proper feedback as quickly as possible. Here's what our recruitment process looks like:
Brief Call: Our process typically begins with a brief virtual/phone conversation to get to know you! The objective? Learn about you, understand your motivations, and make sure we have the right job for you!
Interviews (the average number of interviews is 3 - the number may vary depending on the level of seniority required for the position). During the interviews, you will meet people from our team: your line manager of course, but also other people related to your future role. We will talk in depth about you, your experience, and skills, but also about the position and what will be expected of you. Of course, you will also get to know Amaris: our culture, our roots, our teams, and your career opportunities!
Case study: Depending on the position, we may ask you to take a test. This could be a role play, a technical assessment, a problem-solving scenario, etc.
As you know, every person is different and so is every role in a company. That is why we have to adapt accordingly, and the process may differ slightly at times. However, please know that we always put ourselves in the candidate's shoes to ensure they have the best possible experience. We look forward to meeting you!
Requirements
- Experience in C++ for performance-critical applications.
- Experience with parallel computing using NVIDIA CUDA.
- Experience in programming, scripting, and simulation using Python and MATLAB.
- Experience in radar signal processing.
- Academic background: Degree in Engineering, Computer Science, or Applied Mathematics.
- Understanding of memory management and system-level optimization.
- Understanding of high-speed TCP/UDP communications and network programming.
- Working knowledge of modern source control systems.
- Practical knowledge and application of system integration techniques.
- Solid foundational understanding of software architecture, network programming, and version control.
- You have a team-oriented mindset with the ability to adapt and learn quickly in a specialized, multi-disciplinary environment.