Real-Time C++ and Python Software Engineer
About The Position
We are seeking a highly skilled Real-Time C++ and Python Software Engineer to join our dynamic team. The ideal candidate will have extensive experience in developing and optimizing software for real-time systems, ensuring high performance and reliability. This role involves working on cutting-edge projects that require a deep understanding of the theoretical and practical aspects of real-time computing, with proficiency in both C++ and Python.
Responsibilities:
- Design, develop, and maintain software for real-time systems using C++ and Python.
- Optimize software to meet performance requirements and ensure low latency and high reliability.
- Collaborate with cross-functional teams to define software requirements and specifications.
- Implement and test software modules to ensure they meet the necessary performance and safety standards.
- Debug and resolve issues in a timely manner, ensuring minimal impact on project timelines.
- Utilize Python for scripting, automation, and integration tasks.
- Stay updated with the latest advancements in real-time computing, C++ programming, and Python development.
- Document software design, implementation, and testing procedures.
Requirements
- Bachelor’s or Master’s degree in Computer Science, Engineering, or a related field.
- 5 years of SW Development experience
- At least 3 years of experience in real-time software development with C++ and Python.
- Proficiency in multi-threaded and concurrent programming.
- Experience with low-level programming and hardware interfacing.
- Excellent problem-solving skills and attention to detail.
- Ability to work both independently and as part of a team.
- Strong communication skills to effectively collaborate with other team members and stakeholders.
Advantages
- Experience with real-time automotive, aerospace, telecommunications, or industrial automation systems.
- Familiarity with software development tools and environments such as GNU/Linux, Windows, or embedded systems.
- Knowledge of software development methodologies, including Agile and Scrum.
- Experience with performance profiling and optimization tools.
- Understanding of network protocols and communications in real-time systems.
- Experience with Python libraries and frameworks for real-time applications.