
- Junior
- Optionales Büro in Bristol
At Rowden, we design and integrate advanced systems that sense, connect, and protect data in challenging environments where quick decisions are vital. Our solutions use intelligent automation to enhance speed and efficiency and are built to be reliable and straightforward for critical operations in remote or high-pressure settings.
Headquartered in Bristol (UK), we combine modern engineering methods with cutting-edge commercial technology to create adaptable, mission-critical systems. We focus on solving the tough challenges that others overlook, ensuring our customers can operate effectively in an ever-changing world.
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, share knowledge and lessons with the wider engineering team, and learn new things yourself along the way.
We’re looking for adaptable software engineers who thrive on solving real-world problems and are comfortable working across different domains. There are two key technical specialisms available within this role — one focused on Python and test automation, and the other on Kotlin/Java and Android systems engineering.
Salary Ranges
For transparency and to help candidates make informed decisions, these are the salary ranges for the different levels we are hiring across software engineering (DOE):
- Graduate/Junior level: £30,000 - £40,000
- Mid-Level: £40,000 - £55,000
- Senior: £55,000 - £75,000
Key Areas of Responsibility
Python-Focused Responsibilities:
- Designing, developing, and maintaining automated test cases and frameworks for functional, integration, and regression testing using Python.
- Collaborating with development teams to integrate automated tests into the CI/CD pipelines.
- Executing and analysing automated tests, reporting and tracking defects and issues through to resolution.
- Designing and executing performance and load tests to ensure the scalability and reliability of our applications.
- Analysing test performance and working with the development team to identify and resolve performance bottlenecks.
- Staying current with industry trends and best practices in test automation and quality assurance and driving the adoption of these new tools and technologies.
- 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.
About You
For Python-focused Engineers:
- Strong coding skills in Python.
- Proficiency with a variety of test automation tools (e.g., Selenium, JUnit, TestNG).
- Experience with CI/CD tools (e.g., GitHub Actions, Jenkins) and version control systems (e.g., Git).
- Experience with performance testing tools (e.g., JMeter, LoadRunner, Gatling).
- Experience developing clean, maintainable, low-complexity, self-describing code.
- Familiarity with software security principles and their implementation.
- Proficient in Kotlin/Java and C++, with 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.
- Knowledge of additional languages such as Python, Rust, Go, or C# is a bonus.
- Familiar with software development tools, version control systems (such as Git), and build tools.
- Strong problem-solving skills and ability to adapt to changing project requirements.
- Experience working on both legacy and modern applications.
- 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 contributing effectively to team goals.
- Understanding of software security principles, with a proactive approach to identifying and mitigating risks.
- For Android specialists: in-depth knowledge of Android security practices and experience developing secure, resilient, and compliant mobile solutions.
- Experience in regulated sectors delivering complex networked systems, such as defence, national security, telecommunications, financial services, or automotive industries.
- For Android-focused roles:
- Experience in custom Android OS and driver development.
- Knowledge of the Android build system and source code.
- Understanding of Android OS architecture, including Linux kernel-level programming.
- Experience with the Android SDK, application lifecycle, and UI/UX design principles.