At a Glance
- Tasks: Design and optimise core software systems using Python, C++, and Rust.
- Company: Cutting-edge deep-tech company at the forefront of advanced computing.
- Benefits: Hybrid work, competitive salary, and opportunities for career development.
- Other info: Collaborate with multidisciplinary teams and influence production system architecture.
- Why this job: Work on innovative technologies and solve complex engineering challenges.
- Qualifications: Strong Python skills and experience in low-latency systems or hardware integration.
The predicted salary is between 60000 - 80000 £ per year.
A cutting-edge deep-tech company developing advanced computing systems is seeking a Software Engineer to help build and optimise the core software platform that interfaces with highly specialised hardware. This is an opportunity to work on complex, performance-critical systems at the intersection of software, hardware, and scientific research. The successful candidate will contribute to the development of low-latency control and orchestration software used in production environments, collaborating closely with engineering, hardware, and research teams.
Key Responsibilities
- Design, develop, and optimise core systems software using Python, C++, and/or Rust.
- Own critical platform components and drive improvements in performance, reliability, scalability, and operability.
- Develop low-latency interfaces between specialised hardware platforms and classical compute infrastructure.
- Collaborate with hardware and research teams to integrate new technologies from prototype through to production deployment.
- Build and improve CI/CD pipelines, deployment tooling, monitoring, and observability capabilities.
- Profile and optimise system performance, identifying bottlenecks and implementing measurable improvements.
- Contribute to software architecture decisions, technical design reviews, and engineering best practices.
- Improve code quality through testing, code reviews, and maintainable software design.
- Work cross-functionally to translate product and customer requirements into robust software solutions.
Requirements
- Strong software engineering fundamentals with experience delivering production systems.
- Excellent Python skills, with experience in C++ and/or Rust being highly desirable.
- Experience in one or more of the following areas:
- Low-latency systems
- Linux systems programming
- High-performance networking
- Embedded software
- GPU programming
- Hardware/software integration
- Familiarity with modern software development practices including Git, testing, code reviews, and CI/CD.
- Experience debugging, profiling, and optimising complex software systems.
- Degree in Computer Science, Physics, Engineering, Mathematics, or a related quantitative discipline (or equivalent experience).
- Experience working within commercial technology organisations, scientific computing environments, or deep-tech companies.
Desirable Experience
- Integration of hardware-adjacent systems within on-premise or data-centre environments.
- Knowledge of data acquisition, digital signal processing, timing synchronisation, telecommunications, or RF systems.
- Experience with observability and monitoring platforms.
- Exposure to scientific instrumentation, advanced computing platforms, or quantum technologies.
Benefits Opportunity
- Work on highly innovative next-generation computing technologies.
- Collaborate with multidisciplinary teams spanning software, hardware, and scientific research.
- Influence the architecture and direction of complex production systems.
- Opportunity to solve challenging engineering problems involving performance, scalability, and hardware integration.
- Hybrid working environment with a strong focus on technical ownership, collaboration, and career development.
Senior Software Engineer ( Python ) (Permanent) employer: DeepRec.ai
Join a pioneering deep-tech company that offers an exceptional work environment for Senior Software Engineers, where innovation meets collaboration. With a strong emphasis on technical ownership and career development, employees are encouraged to tackle complex engineering challenges while working alongside multidisciplinary teams. Enjoy the benefits of a hybrid working model and the opportunity to influence the architecture of next-generation computing technologies in a dynamic and supportive culture.
StudySmarter Expert Advice🤫
We think this is how you could land Senior Software Engineer ( Python ) (Permanent)
✨Tip Number 1
Network like a pro! Reach out to people in the industry, attend meetups, and connect with potential colleagues on LinkedIn. 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 projects, especially those involving Python, C++, or Rust. This gives you a chance to demonstrate your expertise and passion for software engineering beyond just your CV.
✨Tip Number 3
Prepare for technical interviews by brushing up on your coding skills and system design knowledge. Practice common algorithms and data structures, and be ready to discuss your past projects and how they relate to low-latency systems.
✨Tip Number 4
Don’t forget to apply through our website! It’s the best way to ensure your application gets seen by the right people. Plus, it shows you’re genuinely interested in joining our cutting-edge team.
We think you need these skills to ace Senior Software Engineer ( Python ) (Permanent)
Some tips for your application 🫡
Tailor Your CV:Make sure your CV reflects the skills and experiences that match the job description. Highlight your Python expertise and any experience with C++ or Rust, as well as your work on low-latency systems or hardware integration.
Craft a Compelling Cover Letter:Use your cover letter to tell us why you're passionate about this role and how your background aligns with our cutting-edge projects. Share specific examples of your past work that demonstrate your problem-solving skills and technical prowess.
Showcase Your Projects:If you've worked on relevant projects, whether in a professional setting or as personal endeavours, make sure to include them. We love seeing practical applications of your skills, especially in performance-critical systems or scientific computing.
Apply Through Our Website:We encourage you to apply directly through our website for the best chance of getting noticed. It’s the easiest way for us to keep track of your application and ensure it reaches the right team!
How to prepare for a job interview at DeepRec.ai
✨Know Your Tech Stack
Make sure you’re well-versed in Python, C++, and Rust. Brush up on your knowledge of low-latency systems and high-performance networking. Be ready to discuss how you've used these technologies in past projects, especially in production environments.
✨Showcase Your Problem-Solving Skills
Prepare to talk about specific challenges you've faced in software engineering, particularly around performance optimisation and system integration. Use examples that highlight your ability to identify bottlenecks and implement effective solutions.
✨Understand the Company’s Vision
Research the company’s cutting-edge technologies and their applications. Be prepared to discuss how your skills can contribute to their goals, especially in areas like scientific computing and hardware integration. This shows genuine interest and alignment with their mission.
✨Collaborate and Communicate
Since the role involves working closely with cross-functional teams, practice articulating your thoughts clearly. Prepare for questions that assess your teamwork and collaboration skills, and think of examples where you’ve successfully worked with others to achieve a common goal.