Software Engineer, Mobile
Mobile engineers at FreeAgent have experience of building well-tested mobile applications. In this role you will design and build new features, pay down technical debt, and ensure we have a healthy system architecture built for the future.
Mid level engineers are mentored by our more experienced engineers, helping you increase your domain knowledge and learn the skills required to progress in your career.
Senior engineers give back by helping our less-experienced engineers develop in their roles.
You get to use exciting modern technologies at FreeAgent.
It doesn't matter if you don't have direct experience – we have a trusted onboarding programme that will bring you up to speed. We heavily rely on the following:
- Kotlin for most of our application code
- Coroutines for concurrency
- Koin for dependency injection
- Retrofit and OKHttp for our network layer
- We use an MVP pattern and the project is spread across multiple feature modules
Experience with any or all of these things would be fantastic, but don't worry if it doesn't quite match up. You can see the full list on StackShare.
Your typical week will include:
- Designing and developing new features, and shipping them to production via our continuous delivery platform (we release every fortnight!)
- Working collaboratively with engineers, product managers and product designers in order to plan sprints, as well as help to estimate upcoming projects
- Reviewing pull requests and helping colleagues troubleshoot their code
- Authoring and responding to 'request for discussion' documents which we use to collaboratively make high-impact technical decisions across engineering teams
Ideally you'll have
- Commercial Android development experience with at least one app in the Play Store
- Development experience with Kotlin
- Experience working with REST APIs
- Knowledge of best practices and techniques in mobile app development
- Willingness to mentor and work with a distributed team of engineers.
- Experience with CI and testing mobile apps (Unit tests, automated tests)
- Thorough understanding the differences in device specs and native Android UI/UX
- Passionate about building great UI and UX
- Open source contributions are a bonus
We also value the following attributes:
- Strong attention to detail. If a job is worth doing, we believe it's worth doing right
- Learning mindset. If you are committed to self-improvement, we can provide opportunities galore
- Strong communication skills. We believe being able to write and articulate your thoughts are great skills to have in any business