Read before applying :
We're a young company iterating over our remote culture so for now, we're only working with people in locations where the time zone is: -3 hours > Paris time zone < +3 hours
Tech Stack : https://stackshare.io/heetch/engineering
Our team's values
Transparency: We discuss everything openly within the team. Our speak up culture is strong.
Remote first: Our team is fully distributed, and we work hard at that, but feel free to work from any of our offices in Paris, London, Brussels or Casablanca.
The courage to fail: We celebrate the wins, but more importantly we're not afraid to fail, we always learn and go again.
Team Unity: No one is left behind.
Code quality: It's not software without tests.
What will be your role?
We're hiring for talent, not location, that is why you will find members of our group based remotely throughout Europe. You'll join one of our cross-functional product team and will be its proud Android representative. There are plenty of challenges each of them are tackling at the moment such as:
Driver team: create a scalable and reliable platform used by dozen of thousands of drivers on a daily basis
Payment team: make in-app payment management easy as pie for users.
Ride flow team: improve our ride flow by making it more modular while we are expanding in new countries with completely different approaches of using the product
... and many others!
Does it sound like you?
You have 5 years of experience or more in Android development and you still like it.
Thanks to your advanced knowledge of Rx, you can write complete use cases with flatMaps, concats, zips and are not afraid to jump from one scheduler to another.
Though you could write a book about Java, you now only want to deal with data/sealed classes, extension functions and know the difference between apply/with/also/run/let.
You know enough about Fragments, Activities, savedInstanceStates & Parcelables to know what you want to work with on your next project, and what you sincerely want to see burn.
You're in love with ConstraintLayout, can make art out of Canvas and build custom views when the framework is just not enough.
You know the difference between unit & automated tests, can write Rx-oriented test cases without wanting to die and know how to get everything running on a CI platform while you sleep.
You know when to use API or implementation in your gradle files and are not afraid of multi-modules projects.
If you have contributed to open source projects, it would be a plus.
If you have experience with background services, unreliable network conditions & location updates, we'd love it.
If you know what kills the phone's battery and how to help mitigate the issue, we'd enjoy knowing more about it too.
What will you do?
Work closely with Product, Backend and Data Analysts to build highly impactful features.
Work in a release train cycle (we ship often ).
Optimise performance and help solve technical and product problems for our large pool of Android drivers
Be a vital member of the broader Android team at Heetch and contribute to core architecture and design discussions.
Work closely with engineers from other product teams building cross-team features at scale.
Participate in Code Reviews and provide feedback to your colleagues.
Share knowledge with everyone and help your team to grow.
Have the freedom to experiment. Intrigued by a new tech or library? Go for it! Let's see how it improves our services.
Routinely own and manage releases to the Play store.
Work on large cross-team projects.
What will be your main challenges?
Our app is one, of the few mobile apps, running in the foreground for up to seven hours straight on drivers phones. This rather unique use case brings fun challenges with handling the lifecycle of the app.
Network and GPS management: We need to provide accurate information and price suggestions to our community. This means making sure every driver gets important notifications in any network conditions, providing GPS location as accurate as possible for the pricing and tracking.
UI & UX: Ride-sharing apps are a really special case in app design. They all revolve around a map and the conventional navigation patterns like list view and navigation controls need heavy tweaking to make for great user experience.
One way data flow and functional pattern: We are passionate about software architecture. We've built the core of our apps using Rx and want to push this forward in both the data and the UI layers. Ideally, our team will grow big enough to be able to push forward what mobile programming means and we'll contribute back to all those amazing open source projects we learned from.
If your application is selected, the process will be composed of 4 steps:
Non-technical interview with the Engineering Manager of your potential team (1h30)
Take home assignment (~5 days deadline)
Interview with your future teammates (1h)
Day on site (Paris) to meet your future stakeholders