We are notonthehighstreet.
We’re home to 5,000+ phenomenal small creative businesses that we are proud to call our Partners. But, now more than ever, this community needs our support. So we’re doing all we can to shine a light on these dynamic entrepreneurs, waving the flag for small businesses and generally championing their socks off.
On top of our brilliant Partners, products and customers (not to mention our incredible team who have been busy beavering away from home since 2020), the last couple years have seen great progress with our tech platform and customer experience. We are now looking to build on this momentum to drive our business to the next level. And that’s where you come in.
Not On The High Street (NOTHS) is hiring an Android Engineer to help us to implement new features and maintain our native apps.
About the job...
You’ll work on our five star rated native Android app to build new features that deliver real benefits for the user and business. You’ll also contribute towards identifying how we can improve our codebase and software development practices and processes to ensure we’re always improving and setting ourselves up for ongoing future success.
We’re a small close knit team which thrives on collaboration, you’ll be trusted and expected to own the work that you do. We don’t cut corners when it comes to quality but we also don’t want over-engineered solutions. Our main focus is on being proactive rather than reactive. We design our software to be reliable and robust to ensure we are delivering value.
To ensure our quality standards remain high, we leverage various levels of the testing pyramid. Testing is as important as writing code to us. We build confidence in our code and its functionality by using test-driven development, test-last development as well as automated testing but we’re pragmatic about our approach and strive to ensure the approach we take is appropriate for the task and will deliver value.
On a typical day, you will mostly be working on new features (pairing or individually), reviewing fellow engineers’ pull requests and contributing knowledge and expertise to the design of our solutions. Each week, you will be attending meetings that cover planning, team processes, coding practices, and focusing on your career progression either in 1:1s or in dedicated ½ day training time.
Our team is currently made up of 2 iOS engineers and 1 Android engineer, and we plan to expand this to meet our ambitious goals. Supporting these engineers we also have a Tech Lead and a Product Manager who will work closely with the team to make sure everyone is happy and has everything they need to be able to deliver.
We work in an agile, scrum-like environment. We only introduce processes where necessary and are constantly looking to improve. We try to deliver iteratively to gain feedback as soon as possible.
The wider NOTHS tech team is roughly 50 strong with the intention to grow to support our growth ambitions.
About the stack
Our stack is always evolving to keep up with best practices but here’s how it looks at the moment:
- Source control: Git/Github
- Languages: Kotlin, Java
- CI: Jenkins
- API protocols: REST/GraphQL
- Unit Testing: JUnit
- UI Testing: Espresso
- FRP frameworks: RxJava2
- Authentication: AWS Cognito
- Marketing frameworks: AppsFlyer, Ometria
- Analytics frameworks: Google Firebase
- Dependency management: Gradle
- Architectures: MVVM, MVP, Clean Architecture
- Jetpack Libraries: Navigation, Room, Paging
About the domain
Our app was initially created for NOTHS by an agency, and after the app was built and released in 2019 we decided to bring the development in-house. Over the last three years we’ve worked hard to modernise our application while continuing to deliver new features. At the time of writing 90% of our code base is Kotlin and we leverage the latest Kotlin versions.
We also use elements of Clean Architecture to separate our application’s model layer into modules, each using the repository pattern to access and modify data. We leverage gradle modules to enable this and all our packages are maintained within a single git repository; this means that you need only open a single pull request to make changes across multiple modules.
The benefits of this application architecture are significant, reducing compile times as you build entire isolated standalone services. It also has the benefit of scalability as team members can work on different features at the same time. It also forces you to consider where the boundary lies between each service and forces you to think about API design and what should be public and what shouldn’t.
We currently have 12 data modules in the project, and we are also looking to do the same with features modules. While we’re not there yet, our end goal is for the main application module to be nothing more than a composition layer pulling all the different modules together to form the app experience our customers expect. We will continue working towards this as part of everything we do.
What would make a great candidate:
- Proven industry experience with Kotlin
- Experience working in a product centric environment ideally e-commerce
- Solid proven industry experience with test-driven and test-last development a must
- A passion for quality through testing
- Able to own and complete medium-sized tasks with no supervision
- Open to pair-programming with other Android engineers to share knowledge and build better software, two heads are better than one!
- An eagerness to adapt and learn
- A desire to improve not only the software but the team and even the company
- A pragmatic approach
- Not afraid to ask for support when you need it, we’re here to support each other
- Considerate of those around you
- Work to make things better than when you found them
- Any other experience with our current technology stack
It’s important to us that our people are well looked after, which is why we offer everyone BUPA healthcare, life insurance and a pension plan. Because having a break is important for your physical and mental wellbeing, our holiday allowance is 25 days (plus bank holidays) AND your entitlement increases an extra day for every 2 years you spend with us.
The team spirit at NOTHS House is legendary, and while we all miss the in-office massages, hair cuts and the abundance of free fruit, we’ve taken to our virtual world with gusto and bring the team together regularly for online socials!
We endeavour to support our people to make sure work... well, works for them, and we’ve introduced a new hybrid working month for our Engineering team. So the NOTHS Engineering team get to work flexibly for the majority of the month, and visit beautiful Richmond once a month to ensure we all still get together as one #teamNOTHS. Plus, for 2022 we’ve begun trialling fully remote months in January (to avoid the snow) and August (to enjoy the sun). #teamNOTHS
Diversity and Inclusion
Everyone’s welcome at notonthehighstreet – whoever they are, wherever their background.
As part of your application you’ll be asked to complete a demographic survey to help us learn more about who wants to work with us. We really care about diversity and inclusion, and while filling this survey out is completely optional, it’s really appreciated and will only be used to help us figure out how to make our team(s) even more inclusive and attract more brilliant people to join us!
Apply to join #teamNOTHS
We’d love to hear more about you, your experience and why you’d like to join our team.