Building and refining diverse product features with a focus on user-centric design, ease of use, and operational clarity in high-pressure environments.
Debugging complex issues such as concurrency problems, memory leaks, and system crashes to maintain system stability and robustness.
Writing clean, maintainable code across a range of programming languages and environments, depending on the needs of each product or project.
Developing and executing comprehensive test plans, including unit, integration, automated tests and performance tests, to validate system behaviour and resilience.
Designing and implementing core components across multiple operating systems, including kernel modules, device drivers, memory management, and process scheduling.
Developing system libraries and APIs that enable seamless communication between components and applications, ensuring performance and reliability.
Using version control systems, particularly Git, to manage and track changes across collaborative codebases.
Working within Agile frameworks, contributing to sprints, stand-ups, and iterative development cycles.
Requirements
Proficient in Python and Rust, with experience architecting and developing robust, maintainable software systems.
Comfortable working across a range of platforms including Windows, Linux-based embedded systems, and cloud-hosted environments.
Capable of writing clean, efficient, and maintainable code, applying sound software engineering principles to solve complex problems.
Familiar with infrastructure concepts such as containerisation, orchestration, and deployment pipelines, experience with cloud platforms (e.g. AWS, Azure) is a plus.
Skilled in using development tools, version control systems (particularly Git), and building systems to support collaborative, high-quality engineering workflows.
Demonstrates strong analytical and problem-solving skills, with the ability to quickly grasp new technologies and adapt to evolving project requirements.
Experience working on diverse projects, contributing to both greenfield development and enhancement of existing systems.
Benefits
We are committed to building a flexible, inclusive, and enabling company. Our aim is to create a diverse team of talented people with unique skills, experience, and backgrounds, so please apply and come as you are!
We also recognise the importance of flexible working and support this wherever we can. We typically operate a flexible, hybrid-working model, with an average 3 days in the office each week (dependent on the role). We welcome the opportunity to discuss flexibility, part-time working requirements and/or workplace adjustments with all our applicants.
Rowden is a Disability Confident Committed company, and we actively encourage people with disabilities and health conditions to apply for our roles. Please let us know your requirements early on so that we can make sure you have everything you need up front to help make the recruitment process and experience as easy as possible.
Finally, if you feel that you don’t meet all the criteria included above but have transferable skills and relevant experience, we’d still love to hear from you!
Applicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.