I’ve been doing the interview for IOS developer position at conichi for the past ~6 months. I’ve met lots of cool people and enjoyed most of the conversations I had and I’ve collected some interesting notes that pop up from time to time. Although these may sound obvious for most of you, that actually may be not obvious for less experienced candidates. And the last thing before we start, these all are my personal opinion and I’m willing to debate about it if you have any thoughts.

Focus on the experience not on the number of apps in the App…

For my company conichi local market is German hence since the beginning we have our app localized into two languages: English and German. In my personal opinion, we’ve passed all usual steps that happen when it comes to mobile app localization.

We started with manual localization by a developer, which worked in the beginning but then became a mess. The next level for us was to delegate this responsibility to the special person. Unfortunately, it didn’t solve the problem of translation mis-synchronization. …

In conichi we are trying to improve the guest experience in hotel: speed up the check-in & check-out process, brings the mobile payment possibility and so on. To build this infrastructure we’ve been working on three main projects and one of the most important is our mobile SDK, which we are integrating into our partner’s apps.

We’ve been building SDK with one key point in mind it should be modular. And by word modular I mean every partner should have the possibility to construct their SDK with the only functionality they need.

How we made it possible in code

First of all, we detached our core functionality…

I’ve been working for conichi and currently is leading an iOS development team. Recently we have significantly improved our release process that saves us a reasonable amount of time and lower the human error possibility.

At the moment our team is working on two iOS applications: guest and merchant, and our SDK that we share with our partners and also use in the guest application. So now when you have the general overview let’s go to the interesting part — evolution of our release process.

Back to the days

Focusing on guest and merchant applications the initial release process was super simple:

Image for post
Image for post
first release steps

Once we…

Last couple of month I’ve been working on the side project app which tries to replace the native iOS contacts application.

In the design stage I was pretty excited because I hadn’t had a chance to work heavily with AddressBook framework before. And the second reason was because Apple had recently released Contacts framework in order to replace old fashioned one.

Because of the app supports iOS version 8.0 and higher, I had to create an adapter protocol to describe class that works with native contacts app data. That protocol describes simple methods:

- (void)requestAccessWithCallback:(ADContactsManagerAccessBlock)callback;- (void)updateContact:(ADContact *)contact withCallback:(ADContactsManagerUpdateBlock)callback;

Anton Domashnev

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store