- Salary
- £40k – £75k
- Workplace
- Remote
- Type
- Full-time
- Department
- Engineering
- Source
- Pinpoint
Description
Software Engineer
Department: Engineering
Employment Type: Permanent - Full Time
Location: Bristol, UK
Compensation: £40,000 - £75,000 / year
Description
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.
Key areas of responsibility
- 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
Technical Expertise:
- Experience in using an OOP language such as Java, C#, C++ etc, and willingness to adapt to Kotlin and Android based 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.
- 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.
- Knowledge of Secure Software Development 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 defence, national security, telecommunications, financial services, or automotive industries.
- Experience in developing Android applications, with a strong understanding of the Android SDK, application lifecycle, Android development tools and UI/UX design principles.
The ideal candidate will have a strong balance of the below technical skills, experience, and the behavioural competencies that we believe are key to success in the role:
- Teamworking and collaboration – you’ll work closely with other engineers and developers as part of a cross functional team. The ability to communicate well, share knowledge and challenge constructively is an essential skill for the role.
- Ability (and desire) to learn - our industry changes rapidly, and you should be comfortable with regularly learning new technologies, programming languages and platforms. Lack of experience in any technology should not be a barrier to your involvement in a project that uses it.
- Adaptability, resilience, and the ability to work in a fast-paced environment.