"In all projects, they did exactly what they thought was necessary": Luxoft is about Java and not only
In the run-up to Joker 2016, we continue a series of texts about those companies in whose lives Java-development definitely plays a big role: Joker sponsors. At Luxoft, we were answered very different questions - from which Java technologies are used most often to why the preconceptions about outsourcing are wrong.
Our interlocutors are:
')
Oleg Zolotykh , Managing Director, Luxoft Russia
Mikhail Druzhinin , architect and leader of the architectural community (as well as the speaker of HolyJS 2016)
Maxim Syachin , Java developer (as well as Joker 2016 speaker)
Anastasia Tikhomirova , Marketing Specialist
Oleg Zolotykh
- What gives you participation in the conference?
- For Luxoft employees as spectators, this is an opportunity to get acquainted with current trends in this area, emerging problems, experiments, positive and negative experiences (which, of course, will allow to take this experience into account in their projects, to better assess the prospects of certain decisions, to avoid possible mistakes) .
And for the company it is:
opportunity to demonstrate their expertise in Java and other IT-stack technologies, active position and project development, which should help attract new customers.
opportunity to bring important current technology issues for discussion with world-class experts.
the opportunity to establish formal / informal contacts, and perhaps some of the well-known professionals to bring to their projects, to invite to work in the Training Center.
- What are your current interesting Java projects?
- There are a lot of them, here are just a couple of examples:
implementation of microservices on the Apache Servicemix platform
a number of integration projects providing data exchange between disparate systems (for example, SAP, Oracle, remote Web services)
risk calculation system for trading platforms that implements multi-threaded distributed computing
- What technologies do you use most often in the case of Java?
- Just do not list ... Platforms - JEE / Weblogic, Tomcat, Oracle EBS, SAP, Apache ServiceMix (OSGI), Hadoop.
For the development of traditional business applications mainly Spring *, Hibernate, MyBatis, Webservices (CXF), GWT, Camel, Velocity, JUnit, Mockito ...
- Luxoft is engaged in software in very different areas - from financial services to cars.Which Java is good for you?
- It can be said with a high degree of confidence that if software should be deployed on a platform that has the ability to install a JVM, then it makes a lot of sense to consider Java as a means of implementing this software. There are, of course, a number of areas where it is not possible or meaningful to use Java to develop software: firmware for chips, some old environments focused on functional programming.
Mikhail Druzhinin
- Mikhail, you are known as a Java specialist, but at the same time you did not speak at our Java-conferences, but at HolyJS with a report on JavaScript portals.How did this happen?
- In fact, it is expected. I am an architect, and this automatically means having to contact different technologies. Without JavaScript, it’s practically impossible to make any beautiful UI now, so this is “necessary” knowledge. And the fact that I have not yet spoken at Java conferences is more of an accident: I live in New York, and it turned out that I was in Russia when HolyJS was held. Next year I plan to come to JPoint.
- I would like to clarify about New York: did your move there take place as a relocation while working at Luxoft?
- Yes. Communication is one of the biggest overheads to develop, and people are always needed who interact with the customer directly. Of course, you can talk on the phone, but discuss it live and, for example, draw several options on the board, it speeds up and improves the process at times. The launch and implementation of the project are better and more painless for everyone. Therefore, Luxoft often transports people to the customer. So for the start of a rather complicated and large project I moved to New York.
- In a recent interview with us, Vladimir Krasilshchik mentioned that Luxoft participated in the Architecture Community that you headed - what is it exactly?
- Yes, the Dyer is even on the avatar in a ArchComm T-shirt. This is a community within the company, which discusses the latest trends in the development world, people share their experiences and solutions from various projects. Now, for example, we had a meeting about testing REST API.
This community has two goals. First of all, this is an opportunity for guys who are interested in sharing their experience or new developments, do it and receive criticism from their colleagues. And secondly, it is a tool for solving complex technical issues that a particular team cannot solve here and now. Both developers and managers address quite diverse issues: from setting up a specific tool to architectural solutions. Luxoft does a lot of different things in terms of development. Therefore, it often happens that the question that you are now solving has already been done by someone before you, and you can avoid mistakes that have already been addressed.
- Your colleague Maxim on Joker will talk about microservices - and you yourself as an architect, how do you feel about this trend and how actively do you use them in Luxoft?
- I am always for the approach in which each element of the system performs its work specifically, therefore, I consider the trend to be positive. But microservices, like everything else, need to be able to cook. Many questions, without a competent solution to which developers even get, probably more problems than without microservices: how to distribute responsibilities between services, how to deploy services, what to do with errors and how to monitor the status of the service - all this is important.
And the approach itself as such is far from new in essence. We did granular services even before it became “mainstream”. But earlier everyone did it in his own way and, as a rule, himself, but now more and more tools are appearing that help with this process.
- Some developers have a prejudice towards outsourcing: they say, while in a startup you can change the world and do unique things, in an outsourcing dull stamped conveyor.Do you have anything to say to this?
- Yes, there is a prejudice. I believe that everything depends on you. If you want the development to be interesting and the world to play with colors - offer, do and do not wait until someone does it for you.
Rarely enough, people refuse, when a sentence makes sense and improves the end result. That's when they come up with ideas to do something just to try a new technology, or they simply do not understand who will make the movements better - then failures happen.
Of course, there are always limitations: on time, on the tools that are available, on the solutions that you can apply. They are caused by objective reality, and it is stupid to fight it. But my experience is this: in all projects we did exactly what we thought was necessary for the project, which is good for both the customer and the developer.
Yes, for this you need to be able to correctly explain to the customer (or colleagues) why you should do as you suggest. But such a problem exists in all projects regardless of whether it is an outsourcing, product development or a startup.
You always have a customer, there are always people with whom you interact, and there are always limitations. They may have different names and different reasons, but they cannot get away from them. I worked in very different companies and projects, but conceptually nothing changes from the form.
In addition, not all Luxoft customers are large enterprises like banks. In some cases, development is ordered by people with an idea for a startup. The company in this case is engaged in everything from understanding what is generally required to be done, to testing and bringing to life. This is no different from working in a startup, because this is it.
In our projects we always try to make the development team take part in all design decisions. But there is another side to the coin: freedom of choice implies responsibility for this choice. And, unfortunately, not everyone is ready to accept this responsibility. If the developers say such phrases as “we were not given complete requirements,” “let X determine how we will do”, etc., then they shift the responsibility (including technical solutions) onto someone else. And after that they wonder why no one listens to the team and imposes solutions on them. In that case, yes, any project can be quickly turned into a stamping conveyor.
Therefore, if you understand the goals of the project, you are not afraid to make and promote your decisions, you will be comfortable in any project.
Maxim Syachin
- What will you talk about on Joker?
- I will tell about how we decided to do microservices in our project and what came of it. My report will be in the framework of the Student Edition , so that it is aimed at students, and I want to make out there exactly those moments that will be of interest to them.
- Luxoft has large clients - do you have to work on large projects that should be split into microservices, or are there too many small ones?
- The size of the project is just one of the factors that determine the advisability of choosing microservices. There are more important non-functional requirements that can tip the scales in the direction of this architecture. But in general, it seems to me that there are quite a lot of projects in Luxoft that microservices fit well.
- Who usually determines whether to use microservices or a monolith in a particular service - directly you or the customer of the project?
- This is entirely the task of the architect, which can be both on the part of the customer and the contractor. The decision to use microservices should be made by a person who is truly able to correctly assess the advantages and disadvantages of this architecture against the background of existing non-functional requirements. In addition, we must not forget about computing resources.
- Is your love for the Kotlin language and other “new products” combined with custom development - do you use them in production or for the soul?
- If you manage to find a task that can be dragged on one of the "unknown animals" - I try to use. At the moment there is one small program used for rare data processing. On Kotlin, I now write outside the workplace - I am resting from Java and its verbosity.
- Participation in the conference is an opportunity not just to talk about yourself once more, but to demonstrate the company's expertise: in addition to the speakers, we always bring experts from our projects who are ready to talk about our personal experience at Luxoft to our stand, which are used in projects. Indeed, among the developers, our company is already well known, but not everyone knows what exactly we have of interest, therefore at conferences we are always happy to tell about what we are doing.
- If someone at the conference is interested in the opportunity to work at Luxoft, is it usually about the office in the city of the conference, or in other cities?
- Luxoft is an international company, which, of course, is a rather attractive moment for many, therefore, at conferences they are always interested not only in the local office where the event takes place, but also in the possibilities of working in other countries. Fortunately, we have something to offer :)
- What is the role of the Petersburg office in you, what projects / processes are there?
- In our St. Petersburg office there are projects of almost all the lines of the company's business. For example, it is here that sit our R & D and Innovations Lab teams that are developing our own products. At the moment, more than 700 people work in St. Petersburg, and we are not going to stop at what has been accomplished, the teams are constantly growing. Well, and besides, the St. Petersburg office is considered one of the coolest of our offices, which we are undoubtedly proud of.
- Can you track the audience reaction to a specific report of your speaker?Does it ever happen that you are told “I saw such a report from your speaker and immediately wanted to work with you”?
- Indeed, there have been cases when people after the report approached our speaker personally and said: “Wow! I want to work with you! ”But, of course, it is impossible to track the number of people hired precisely after a certain report. Of course, there are people who come to us to work after attending a conference, but most likely, a combination of various factors leads to this, and not the impact of a specific report.
Let's wait for Joker 2016 Maxim's report on microservices, but for now let us recall the reports of speakers from Luxoft on the Novosibirsk JBreak: