Department: Engineering Location: Bristol, UK Description We're building the next UK-headquartered engineering powerhouse. There is a gulf between the needs of mission-focused organisations and the development and delivery of the critical technology they rely on. The consequences of this are felt acutely by underserved frontline operators, demanding a new breed of engineering enterprise to bridge this divide. Rowden exists to meet this need. We design and build systems, infrastructure, and applications to deliver mission advantage to those working to protect the security of the UK and its allies. Rowden is setting a new standard in government technology provision: hyper-efficient engineering, better customer relationships, and rapid assimilation of commercial technology. We're growing our team and looking for talented Software Engineers at all levels to work on exciting projects aiming to deliver real value to our key customers. You'll join a diverse team of engineers at Rowden. You'll contribute to a hands-on engineering culture, sharing knowledge and lessons with the wider engineering team, and learn new things yourself along the way. Key areas of responsibility As a Software Engineer at Rowden, these are some of the core areas you'll be working in: Developing and testing standalone Android apps and plugins. Designing and implementing core components of an Android-based operating system, such as kernel modules, device drivers, memory management, and process scheduling. Developing system libraries and APIs that facilitate communication between components and applications. Debugging complex issues including handling concurrency problems, memory leaks, and system crashes, ensuring stability and reliability. Developing and executing comprehensive test plans, including unit tests, integration tests, and performance tests, to validate the operating system's robustness and stability. Utilising version control systems, particularly Git, to manage and track changes to our codebase. Working within Agile frameworks, participating in sprints, stand-ups, and other Agile practices. Key skills, experience and behaviours We are looking for someone who is passionate about technology and who actively invests in their technical skills and abilities. You will be constantly learning and developing in this role, but some key skills and experience you should already have include: Technical Expertise: Proficient in both Java\Kotlin and C++ with extensive experience in developing, testing, and debugging software applications. Capable of writing clean, efficient, and maintainable code, utilising object-oriented programming principles, data structures, and algorithms to solve complex problems. Familiar with software development tools, version control systems (such as Git), and build tools to streamline development workflows and maintain high code quality Demonstrates strong analytical and problem-solving skills with the ability to quickly grasp new technologies and adapt to changing project requirements. Experience in working on diverse projects, from legacy codebases to modern applications, ensuring seamless integration and enhancement of functionalities. Communication and Collaboration: Collaborative mindset, with experience working in cross-functional teams in Agile frameworks. Exhibits a high level of professionalism, reliability, and effective communication skills. Able to work independently with minimal supervision while also collaborating effectively, contributing to project goals, and delivering quality results within agreed timelines. Security Focus: In-depth knowledge of Android security practices, with a proactive approach to identifying and mitigating potential security risks. Experience in developing secure, resilient, and compliant mobile solutions. Highly Desirable Experience: Knowledge of a variety of programming languages such as Python, Rust, Go, C# etc. Experience in regulated sectors delivering complex networked systems, such as defence, national security, telecommunications, financial services, or automotive industries. Experience in custom Android OS and driver development, the Android build system and source code; such as, but not limited to, Android Auto and audio streaming devices. Understanding of Android OS architecture, including low level Linux kernel-level programming. Experience in developing Android applications, with a strong understanding of the Android SDK, application lifecycle, Android development tools and UI/UX design principles. Working at Rowden 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