Software Engineer, Rowden

Software Engineer, Rowden

Company Rowden
Job title Software Engineer
Job location Bristol, UK
Type Full Time

Responsibilities:

  • 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.

Requirements & Skills:

  • 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, utilizing 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.
  • 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.
  • 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.
  • Knowledge of a variety of programming languages such as Python, Rust, Go, C#, etc.
  • Experience in regulated sectors delivering complex networked systems, such as defense, 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.

apply for job button