About the Role
About the Role
The Software Engineer role involves collaborating with a multidisciplinary team to design, develop, and maintain high-quality software solutions, primarily focusing on Android development with Kotlin and backend services. The position requires a strong foundation in modern development practices and offers opportunities for professional growth in a hybrid working environment.
Key Responsibilities
- Collaborate with a multidisciplinary development team to design, develop, and maintain high-quality software solutions.
- Develop reliable Android applications using Kotlin and Jetpack Compose.
- Use Git for effective version control and collaborative software development.
- Design and implement scalable backend services and web APIs using Rust, Python, or Go.
- Containerise applications using Docker to support consistent deployment across environments.
- Contribute to the development and maintenance of CI/CD pipelines to automate software delivery.
- Write clean, efficient, and well-documented code in line with industry best practices.
- Participate in code reviews, providing constructive feedback to support continuous improvement.
- Keep up to date with emerging technologies, tools, and software development practices.
About You
You'll have:
- A degree in Computer Science, Software Engineering, or a related discipline (or equivalent commercial experience).
- Strong experience using Git for version control and collaborative development.
- Commercial experience developing Android applications with Kotlin and Jetpack Compose.
- An interest in developing proof-of-concept applications where requirements can evolve rapidly.
- Experience with one or more backend programming languages such as Rust, Python, or Go.
- A solid understanding of software engineering principles, including MVVM, UDF, RESTful APIs, OpenAPI, and common data structures.
- Experience using Docker for containerisation.
- Knowledge of DevOps practices, including CI/CD pipelines and automated testing.
- Strong communication and teamwork skills.
- The ability to work in a fast-paced environment and adapt quickly to changing priorities.
- Experience working within secure development environments, including remote development platforms or virtual machines.
Desirable Skills
Experience with any of the following would be advantageous:
- Cloud platforms such as AWS or Azure.
- Kubernetes or other container orchestration technologies.
- Agile software development methodologies.
- Web application security principles and secure development best practices.
What We Offer
- Opportunity to work on technically challenging and meaningful projects.
- Exposure to modern software engineering tools and cloud technologies.
- A collaborative and supportive team environment.
- Opportunities for professional development and continuous learning.
Requirements
Android Development
Commercial experience developing Android applications with Kotlin and Jetpack Compose.
Backend Programming
Experience with one or more backend programming languages such as Rust, Python, or Go.
Version Control
Strong experience using Git for version control and collaborative development.
Containerization
Experience using Docker for containerisation.
Nice to Have
Experience with cloud platforms such as AWS or Azure.
Familiarity with Kubernetes or other container orchestration technologies.
Experience with Agile software development methodologies.
Benefits
Professional Development
Opportunities for professional development and continuous learning.
Collaborative Environment
A collaborative and supportive team environment.
Challenging Projects
Opportunity to work on technically challenging and meaningful projects.