Native iOS and Android Developer

Required skillset:

– iOS Native
– Android Native

Required experience: 3+ years

Type of engagement: It is a long-term and full-time freelance contract.

Project period: ASAP, long-term, min 12 months extendable for another year. Part-time is possible for the first month, afterwards a full-time engagement is expected.

Hourly pay:
25 EUR / hour (for part-time, for the first month)
30 EUR / hour (for full-time)
possible to grow depending on the quality and delivery

Short description of the project task:

Our client currently has two mobile apps; a native iOS and a native Android. The codebases for these apps are forks of Element iOS and Element Android. The forks have the client’s specific adaptations. The work with the apps falls under one of these categories:

1) Hide features, set non-default settings;
2) Customize “input flow” in the app. Our client doesn’t use Matrix standard onboarding, and thus has adjustments in what happens when an app starts;
3) Keeping up with upstream development of Element iOS and Element Android;
4) Expand and adapt standard functionality according to needs. This category has been particularly small as our client mostly has the ratio of 1, 2 and 3 above on all platforms (web, iOS and Android). In the future, more adaptations will be made to the client’s Web, and then there will be a need for corresponding extensions and adaptations in mobile apps. So, this category 4 will eventually become both more important and more time-consuming than it is today.

With the above as a backdrop, we lay out the needs in phases, on a timeline:

Immediately:
– iOS: Create a first release of the client’s iOS in the same way that was done for Android
– Android: Take over the code from the existing app and install the client’s Android to be release-ready at all times

Next – Feature Parity:
– For all platforms: Bring the codebase up to upstream
– Web: handled by our client
– iOS and Android: Managed by the client’s developer

Later – Bootstrap Parity:
– New customers must currently Log in to the Web for the first time. This is because only the client’s Web is able to set up a crypto setup for the user account.
– It has now become a requirement that all platforms must be able to be used for first login.
– The solution to this is to consume either SDK API’s or REST API’s to ensure correct crypto setup. The details must be specified in more detail.

Even later (or possibly in between):
– A lot of new functionalities will be introduced in the future;
– This will initially be developed in the client’s Web, but the goal is functional parity between all platforms, so new functions must also be implemented in the mobile apps.

Scope:
– It is difficult to know how much time a developer will spend on the various tasks;
– The first two tasks mentioned above are early “mechanical” and should otherwise be easy for an experienced developer;
– The last two categories require to a greater extent that the developer is well versed in the client’s architecture and structure, and in addition how the Matrix is screwed together to ensure end-to-end communication.

Methodologies: Agile / Scrum

Level of English: Good; Talking, Reading, and Writing

Place of work: remote home office, for the client in Germany

Apply on: office@volito.digital