📜 ⬆️ ⬇️

"Now there is a shortage of" native "developers": Mikhail Samarin on mobile development in a European company



Perhaps you already know the company Futurice , even if you yourself do not know about it: it is behind the popular list of Android best practices, the translation of which collected almost 50,000 views a couple of years ago on Habré. For this couple of years, the original text was significantly updated, and a lot of interesting things happened to the company: it pays employees' contributions to open source, actively works with new mobile technologies like React Native (having already shared its starter kit for it with the world), and -development added work on startups.

At the Mobius conference held in St. Petersburg, Mikhail Samarin, the company's business director, talked about mobile development trends over the past year: from taking off the same React Native to a shortage of native mobile developers. And we separately asked Michael for Habr both about the company as a whole, and about mobile development. Since he lives in Helsinki, English-language words are sometimes found in his Russian-language answers - but that's just more interesting.

About company


- An introductory question for those who hear about Futurice for the first time: what is a company like?
')
- We call the company "consulting", but here there is a terminological nuance in what is called consulting in Scandinavia. A closer term for Russia would be subcontracting or outsourcing. We are already almost 400 people, two offices in Finland, two in Germany, one each in Sweden and England.

Our main difference is that 80% of the projects take place on the customer’s territory, for a while our team becomes part of the customer’s team, and all our specialists, regardless of the direction, work directly with him.

Now there are so many high-quality subcontracting agencies in Eastern Europe and Asia, we have not competed with them for a long time for many reasons. One of the reasons is the price; there is no economic opportunity to compete in this. But there comes a time when customers lack remote subcontracting agencies, it becomes very important for them to have a specialist in their office, with live communication. And then they come to us.

- The company has long been known as an outsourcer, and recently took and started up also start-ups - from the outside it was unexpected. What was the cause? What does this mean for developers from Futurice?

“Futurice employees are people who need to believe in what they do.” Our developers are important not only technological aspects, but also the social impact, the impact of their work on society.

Unfortunately, we cannot always boast that absolutely all our projects have a really significant social impact. Naturally, we hope that the services we create simplify life, but sometimes it is very difficult to determine the direct impact on society, apart from simplifying everyday tasks.

Moreover, since we have achieved a certain status, in some cases we work with giant companies, our partners have an amazing opportunity to influence the world. These companies are also looking for new ways for business and for how they can make their contribution to this world.

And besides, the work can be performed on several horizons: what is important today, tomorrow or 10-20 years. If we begin to participate in projects whose effect will not be today or tomorrow, but in 10-20 years, then the traditional business model of consulting agencies is not suitable.

In this regard, we decided that we will create startup ventures and cooperate with some of our customers to create new companies with a very large social impact. Employees of Futurice who wish to try themselves in something different from the traditional consulting business have the opportunity to become part of such initiatives - as employees or even co-founders. Our first project, which we recently publicly announced: together with the largest energy company in Finland, Fortum is creating a joint venture for the SAAS initiative, which makes it easier for ordinary people to work in places where it is possible to produce solar energy.

- Futurice sponsors employee contributions to open source - is this also a story about social impact?

- Yes, this is another of our initiatives with a similar idea. In order to attract exceptional specialists, it is not enough just to have an ordinary good company with good conditions. You need to have a company that does more than make money for its owners. Especially in a situation where many young people come from the university: the new generation is much more socially aware. And when technical specialists participate in open source projects, this is what they, as specialists, can donate to society, developing one or another technical direction.

Some time ago we decided to actively sponsor these actions of our employees and created the so-called Spice program . If I remember correctly, the "spice" went from Frank Herbert's "Dune", but in an interesting way transformed, on the one hand, into chili pepper as a spice, and on the other, into a unicorn, unicorn. Therefore, the logo, drawn in Microsoft Paint by one of the founders of this line of Teem Turunen, is “chilicorn”, a unicorn with chili pepper instead of a horn.



And some time ago we decided that, regardless of which open-source projects our employees participate in after hours, we will sponsor a certain number of hours of work for our employees in the company. We have a fund and a system in which workers report where and how many hours they make their contributions, and we believe that in this way we increase the social impact of the company. And most importantly: as a company, we do not claim any rights for open source projects that are sponsored by Spice. Financing is just our social contribution, as they say, no strings attached.

Probably not many companies are engaged in such, if it is not part of their core business, and as a result we have attracted the attention of very interesting people with this program. And at the end of last year, we decided to promote it further and organized the Chilicorn Fund - a fund where we allocate a certain amount of money for sponsoring various open source and non-profit projects that are created either by our employees during working hours or by other companies that come to us for sponsorship

Teemu wrote a book about all this not so long ago, I recommend it.

“The Futurice blog has recently had a post with a loud headline,“ Why wouldn’t I hire a Donald Knuth? ” It sounds provocative, but if you read the arguments, they sound convincing. Then the question is: okay, you wouldn't hire Donald Knuth, and what people do you want to hire, who best fits Futurice?

- To begin with, I note this: in the company's blog, every employee has the right to his opinion, and it is not necessary that everyone else will agree with this opinion - this is a topic for discussion. We are not trying to censor what employees write in a blog, it’s part of the company's culture. So a specific post should not automatically be considered the official position of the company.

But yes, there is an important point that Yakko noted in that blog post: if you have tremendous algorithmic thinking and deep technical knowledge in a certain direction, then this does not mean that you will be good at consulting.

Probably, there is a type of people who are better suited consulting, subcontracting companies compared to, for example, the grocery business. I would say that the consulting business differs from the grocery business as follows: there is an opportunity to work on very many projects with a very large number of different technologies in different situations, with different customers, and so on. And the larger the company, the more such opportunities. I think for many people it may be very boring to engage in the same product over the years. But it depends on your inner specifics.

I also want to pay attention: it is often considered that a developer in such a company must necessarily be an extrovert, but this is such a big misconception. In fact, the need to constantly communicate with the customer's team does not mean the need for constant communication in extroverted situations.

- The Guardian recently wrote about the internal project of the Helsinki office of Futurice, which tells the office staff information like “is the toilet now occupied?” Can you tell about it?

- Yes, an interesting project. We have created a system that can, for example, locate the office of those employees who themselves want to be defined. There are many sensors and components, up to such a controversial solution, like a methane detector in certain places :)

But I would like to use this question to illustrate what we are doing in Futurice. We have already talked about our initiatives related to the external social impact, and these are internal initiatives that may not be very visible from the outside.

Some time ago we thought about how people learn and experiment with new technologies. Of course, the ideal option is in projects with customers, but as a rule, these are more or less traditional mobile or web projects. How to develop the knowledge of specialists when we want to try out those areas for which either there are no projects at all, or are these newly emerging technologies? We have created an internal initiative of Futulabs, where our employees can buy any new gadgets, sensors, VR-headsets and so on, in order to have a hardware base for experimenting with new technologies.

IoT experiments are part of this initiative, where employees can try different things during work hours and experiment. So we also have interesting experiments, which then turn up in the Guardian. But there is an even more interesting aspect of this. When you talk with many companies, even with technical specialists, and mention the term IoT - this, unfortunately, is a buzzword, which very often does not carry meaning. And when you try to talk on some more specific levels, then you do not have a subject for conversation. It is obvious to everyone that it is possible to have a certain number of sensors, microequipment, connect them into a computer network, somehow receive and process data. This became possible with the advent of microelectronics. And how to directly apply this to a particular problem that the company is trying to solve is a completely different level.

My colleagues created the IoT Service Kit. This initiative began like this: when we talk to customers, how can we help them understand what an IoT is and how can they apply it in a particular business? As a result, created what can be called a board game.

A set of canvases that describe different situations (office buildings, shops, an industrial factory), and a set of three-dimensional figures that represent different objects: there are sensors, cameras, cars, people, participants in the movement, and so on. And all sorts of script cards. And with the help of such a seemingly rather primitive set of tools, we obtained a set of techniques, workshops and ways of communicating with customers, when we can crystallize their ideas of perception: where, how and in what scenarios of their particular business can this be applicable, does it need at all. Colleagues recently received the UX Magazine award for this work. We have made this whole project open source, on the website you can get all this and see a visual video.



About mobile development


- First I want to know: what place does mobile development in Futurice, how much do you do it, and how much non-mobile? Is a mobile platform of higher priority for you?

- I would say that mobile and web is 50 to 50. There is seasonality, there are bursts of activity, for example, in connection with the release of new operating systems and new devices, but in general this way. Regarding platforms, we are platform-agnostic, we try to be in all businesses that are active now.

- Previously, Futurice had loud projects on Windows Phone: for example, in your report on Mobius 2015 there were many such examples. Over the past two years, the market for WP-development collapsed. How did the disappearance of an important market affect you?

- A good question to illustrate different approaches. A very valuable tip for developers is to be pragmatic. If programming for you is a profession that you are going to do for a long time, then it is very pragmatic to treat the market with its super-fast technology change. Giant corporations appear and disappear, and you want to remain in demand.

Futurice has always been an exclusively platform-agnostic company. We have always tried not to support any of the directions especially because they "like" them. We are trying to move the industry, rather than a specific technical direction. What matters to us is the final social or business impact of something, and not the use of technology only because it is “good” and that “bad”.

Therefore, we have always, even in the times of Symbian, been very pragmatic about the relationship with Nokia, although we had a significant part of the business connected with this, and the specifics of Finland with a large penetration of Nokia phones also had an effect. As a result, when Nokia abruptly departed from Symbian, other subcontracting companies laid off their employees in this area, and we never even thought in our life that if we hire a specialist of technology X, then when it disappears, we will dismiss it and hire another. We have a policy of searching and hiring good talented employees, designers, consultants who are quite flexible and ready to switch to other technologies.

When Symbian, one might say, disappeared as one business as a business and Windows Phone appeared, we had a very mild transition between one Nokia world and another. And in the same way, over the past two years, when Windows Phone began to disappear as a business, we have a soft migration of our projects from one area of ​​business to another.

This is an important point, especially for people who are just starting their programming career. Thoughts may arise "there is technology such and such, it is best of all, because the newest and never had such great ones, it will change the world and always will be, and you, the old developers, do not understand anything, because you are old, and now I will be engaged in this technology all my life. ” But in the technological field, everything is moving at a wild speed, so it is important to realize that not a single technological direction in the consulting business is permanent.

- To the question of novice developers. You talked about the sharp rise of React Native in your fresh keyout, the interest in the mobile web is also growing. As a result, beginners have doubts about whether "it is worth investing time in the study of native mobile development, or now everywhere the web, JavaScript and cross-platform, and with the native I will be unclaimed." What can you tell them?

- Professional advice of this level is difficult to give, long-term forecasts - always fortune telling on the coffee grounds. But here is what we are really seeing now. Two or three years ago, many fresh graduates came to us from universities in the native mobile development, and with ready-made knowledge. Over the past year, we have seen that the number of new young professionals who go directly to the native has drastically decreased. All go to web development, as in their first step in professional programming.

And in the end, there was such a shortage of "native" personnel, that in the current situation it is very easy for an intelligent native mobile developer to find a job. He, in principle, can not search for it, it is enough just to state somewhere “I am a native mobile developer”, and in five minutes he will have a job.

It is also important to understand that with all the growing popularity of cross-platform development, the most uncompromising access to all features of the platform will always be from the native SDK or native tools provided by the manufacturer of this platform. And if we are talking about first day release features, if Google or Apple are releasing a new OS or a new device, then their support is guaranteed by their tools, their SDK. And if you use cross-platform solutions and after a while decide to dig deeper to get around some compromises of your cross-platform solution, then native-knowledge is always useful and in demand.

Cross-platform solutions like React Native and Xamarin have their own advantages and disadvantages, which are not always obvious, because the speed of creating mobile applications or access to certain specific platform features is not always a direct indicator of whether you need to use this particular solution.



- You mentioned Xamarin, they use it in Futurice, and I want to ask about the fate of the project. It’s obvious that Microsoft didn’t just “buy Xamarin and forget”, but develop the purchased one (for example, they made Visual Studio for Mac based on Xamarin Studio) - but by the fact that you can see how their efforts lead to the result, does Xamarin turn out to be ?

— Xamarin — , . , , . , , Microsoft Nokia . : , ASP.NET C#, , , .

Microsoft, Xamarin, Microsoft, Microsoft , enterprise-.

Tools Xamarin Mac , Windows. , - , , -, . React Native , - , , . Xamarin, .

— , iOS- Swift: - , - , . Futurice?

— iOS- Swift. , Objective-C, , - iPhone- Swift, .

, , Apple , , Swift , . Mac OS OS X , Carbon .

— best practices Android, . : , ? , , ?

— , , — , , Android.

«, best practices , , ». . , . , - , , , .

, Android best practices inspiration, iOS Windows, Windows Phone- Universal Windows Platform-. Microsoft XBox - UWP, , Windows Phone , Xbox .

, best practices, starter kits, boilerplate: React Native Pepperoni , Xamarin — Xalami .



— best practices , ?

— -, , , : best practices, , , . . , , - - . , , , , . , , - . best practices , .

— ? , -, , best practices?

— , open source-. - , , — , !

Source: https://habr.com/ru/post/327516/


All Articles