At a Glance
- Tasks: Design and develop real-time software in a Linux environment using C++.
- Company: Join a leading tech firm focused on innovative data systems.
- Benefits: Earn £67 per hour, enjoy flexible hours, and gain valuable experience.
- Why this job: Make an impact by working on cutting-edge technology in a dynamic team.
- Qualifications: Extensive C++ experience in Linux and strong multi-threaded programming skills.
- Other info: 12-month contract with opportunities for career growth in a supportive environment.
The predicted salary is between 26 - 32 £ per hour.
Join to apply for the C++ Software Engineer role at TieTalent on behalf of our client. The contract is 12 months with a focus on building and integrating real-time test and data capture systems in a Linux environment. The role involves working with high-speed multi-channel SFPDP cards, real-time data flows, and multi-threaded processing pipelines.
Pay: £67 per hour via Umbrella
Contract: Monday–Friday, 37 hours per week, 12-month contract
Location: Stevenage
IR35 Status: Inside
Security Clearance: SC to start, UK Eyes only project
How to apply: If you meet the requirements, please send your updated CV to Natalie Dalkin at Line Up Aviation.
Responsibilities:
- Design and develop real-time test and capture software on Linux systems using C++.
- Integrate and interface with high-speed SFPDP cards across multi-channel data pipelines.
- Architect and implement robust, scalable, and maintainable multi-threaded applications.
- Define and implement data sequencing and synchronization logic to support deterministic capture and replay.
- Collaborate with hardware teams to ensure seamless integration and timing alignment between software and capture cards.
- Lead and contribute to system integration, verification, and testing at both component and system levels.
- Perform performance analysis, debugging, and optimization of real-time systems.
- Document architecture, interface definitions, and test procedures to support handover and formal test activities.
Essential Requirements / Skills / Experience:
- Extensive experience in C++ development in a Linux environment.
- Proficiency in C# for tooling, test interfaces, or Windows components as needed.
- Proven experience with real-time data systems, preferably involving SFPDP or other high-speed digital protocols.
- Strong multi-threaded and concurrent programming skills.
- Experience with low-level I/O, DMA, or driver-level interactions with PCIe cards or similar.
- Familiarity with software sequencing frameworks or custom state machines for test execution.
- Strong experience with integration, system test, and debugging of complex software/hardware interactions.
- Understanding of software design principles, memory management, and performance optimization.
- Experience with version control systems (e.g., Git) and CI/CD pipelines.
Contact Detail:
TieTalent Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land C++ Software Engineer
✨Tip Number 1
Network like a pro! Reach out to your connections in the industry, attend meetups, and join online forums. You never know who might have the inside scoop on job openings or can refer you directly.
✨Tip Number 2
Show off your skills! Create a portfolio showcasing your C++ projects, especially those involving real-time systems. This will give potential employers a taste of what you can do and set you apart from the crowd.
✨Tip Number 3
Prepare for interviews by brushing up on technical questions related to multi-threaded programming and real-time data systems. Practice coding challenges and be ready to discuss your past projects in detail.
✨Tip Number 4
Don’t forget to apply through our website! It’s the best way to ensure your application gets seen. Plus, we’re always looking for talented individuals like you to join our team!
We think you need these skills to ace C++ Software Engineer
Some tips for your application 🫡
Tailor Your CV: Make sure your CV is tailored to the C++ Software Engineer role. Highlight your experience with Linux, multi-threaded applications, and any relevant projects you've worked on. We want to see how your skills match what we're looking for!
Showcase Your Projects: Include specific examples of projects where you've developed real-time systems or worked with SFPDP cards. This helps us understand your hands-on experience and how you tackle challenges in a practical setting.
Be Clear and Concise: When writing your application, keep it clear and to the point. Use bullet points for key achievements and avoid jargon unless it's relevant. We appreciate straightforward communication that gets right to the heart of your qualifications.
Apply Through Our Website: Don't forget to apply through our website! It makes the process smoother for both you and us. Plus, it ensures your application gets the attention it deserves. We can't wait to see what you've got!
How to prepare for a job interview at TieTalent
✨Know Your C++ Inside Out
Make sure you brush up on your C++ skills, especially in a Linux environment. Be prepared to discuss your previous projects and how you've tackled real-time data systems. Practising coding challenges related to multi-threaded programming can really help you stand out.
✨Understand the Hardware
Since this role involves working with high-speed SFPDP cards, take some time to understand how they work and their integration with software. Being able to discuss hardware-software interactions will show that you're not just a coder but someone who understands the full system.
✨Prepare for Technical Questions
Expect technical questions that dive deep into your experience with multi-threaded applications and performance optimisation. Brush up on your knowledge of low-level I/O and DMA interactions, as these are crucial for the role. Practice explaining complex concepts clearly and concisely.
✨Showcase Your Collaboration Skills
This role requires collaboration with hardware teams, so be ready to share examples of how you've worked effectively in a team setting. Highlight any experiences where you’ve led integration or testing efforts, as this will demonstrate your ability to communicate and work well with others.