Eugeny Lemasov, DiatomEnterprises COO, is interviewing Sergey Efimov, Xamarin Developer at DiatomEnterprises
Sergey, for 3 years already, your team has been successfully developing on Xamarin. Before that, you worked with .NET, Java, ActionScript, Objective C. To your opinion, what new things you had to face after you switched to Xamarin?
You are correct, for more than 3 years, we have been designing, developing and testing native mobile applications with the help of great solution provided by Xamarin team. Before I have started using Xamarin products, I had to deal with the development of native Windows Phone/Windows 8, Android, less iOS mobile applications. In addition, I had some practice with the implementation of web-based hybrid mobile applications. Which in fact also provides an opportunity to develop cross-platform mobile applications using web development mechanisms.
Xamarin extends the .NET world for me. I like the .NET platform and the powerful C# language particularly. Xamarin platform makes it possible to become a native mobile developer almost within an overnight, and still use all the advantages of the .NET platform and C# language.
I know that new programmers were turning to you; their previous experience was only in C#. How much time does it take for a C# programmer with, let’s say, 4 years of experience, to become an effective Xamarin developer?
Deep knowledge of the .NET platform and C# language improves the quality of development, but the development process is greatly accelerated if a developer has real practical experience with mobile platforms (iOS, Android, WP, WinRT or other). You can become a good developer after you get through a full cycle of the application development for different mobile platforms. Since each of the existing mobile platforms has its own specifics, it will help in the early development stage to take into account the specific nuances of various platforms.
During the time that you have been using Xamarin – what has changed and what has improved in the area of development?
Xamarin team is trying to please us with their continuous improvements. They constantly improve the latest support features for each platform, they improve the development environment by creating a UI mechanism and testing tools. You can also find many ready-made solutions for different needs and platforms both on the Xamarin market and open-source repositories.
What is the average length of a project in your team (men per month)?
Usually, all mobile projects are rather short. Therefore, development of an average project takes about 2 – 4 months for a team of 3 – 5 people.
If you would have to implement everything on native platforms (iOS, Android and Windows Phone), for how long the average time would have increased for one project development?
Not taking into account some specific requirements, and with the same quantity of staff, I think that it would have increased at least twice.
What do your customers say about the quality of mobile applications implemented on Xamarin?
In the end, they are raving about the speed and quality of products.
From the productivity point of view, is your application exactly the same as the one written in a native language?
To a large extent, yes. Again, this depends on a proper understanding of the mobile platform and selecting correct development tools.
Are there people in your team who started working with Xamarin not being experienced in C#? Did they face any difficulties? Which ones?
Yes, there are guys in our current team who previously were only native iOS or Android developers. Usually, at the early stages, these people have problems with code styling, using collections correctly, different language syntax contractions, and deep understanding in CLR machine. All these problems can be easily solved by the motivation to master the new stuff.
You are probably looking for reliable Xamarin programmers, is it difficult to find ones on the job market?
Let’s just say, is not easy. However, the number of such developers is growing quickly.
Since you are a professional Xamarin developer, do you know any other teams? Are there in your city (Riga, Latvia) or in your region – the Baltics, the same Xamarin teams?
Xamarin is a relatively new technology. Presently, it is difficult to find a professional with good commercial experience in Xamarin. In Latvia and the Baltic States, there are several small companies that have started training their programmers to work with Xamarin. We have started a collaboration with these companies. Above that, we are constantly looking for specialists, as the demand for our services grows all the time. Within 3 years, we have managed to find several professionals with good working experience in Xamarin. Nevertheless, what is good, as I have said above, first of all, Diatom is a company with long-term experience in .NET development using C#. It has been checked and proved in practice that a programmer with good experience in С# and intelligence (and we don’t have less than that) – quite effectively and quickly becomes a professional Xamarin developer.
The Executive Board of Diatom Enterprises is currently discussing an issue to become an official partner of the Xamarin Company and represent this very perspective technology in Latvia and the Baltics.