
If you arrange a Java conference in Novosibirsk, this does not mean that all interesting speakers need to be brought from somewhere: the city has its own prominent figures. Among them is
Oleg olegchir Chirukhin , whose latest Java habraps have gained a lot of views, and at the upcoming JBreak he will give a talk
"DevOps: Now Java does not slow down .
"On the eve of JBreak, we asked Oleg about various topics: from Sberbank Technologies, where he works, to what Novosibirsk is better for Moscow than for a programmer, and Java is better than PHP.
- What exactly do you do in Sbertech: in which team do you work, what is your role in it?- Our team is developing an engine for running business processes from BPMN. This engine is part of the technological core of our platform. I do architecture, including thinking through the DevOps of our project, sometimes something more global.
')
- The development of a banking platform is always a gigantic responsibility, and in the case of Sberbank it is also a gigantic scale. Together, these two factors certainly impose a lot of restrictions on how exactly you can work. These restrictions do not interfere?- Good external constraints are the basis for creativity. If a creative person does not set any framework at all, something amorphous and uninteresting will turn out. Artists create within the limits of their graphic means, we create within the framework of conditions, TK, budget, etc. It is at the junction of the limitations and opportunities that clean, beautiful, powerful software solutions arise.
Anyway, restrictions are not taken from the ceiling, but created by the best analysts, architects, and so on - it is physically pleasant to work in a team with these people and use their achievements.
In addition, very large and ambitious projects are being made in Sbertech. Their very existence confirms that if any bureaucratic problems exist, they are successfully solved.
- You have a surprisingly diverse track record to Sbertech: from a sysadmin through gamedev and work on IDE to “State Services”. Such a career looks like a zigzag, where at each stage it is necessary to learn everything anew - but in practice, how useful is the experience gained in other areas?- It only seems that the career is zigzagging. I'm not a marketing director, but a programmer. And from the point of view of a programmer, we use approximately the same technologies everywhere. This may seem boring at first, but in fact, instead of studying the millions of pass-through frameworks, you can concentrate and spend time on something really new and interesting.
You can draw a parallel with good computer and board games: a small set of rules creates a large number of unique game situations and is suitable for solving a wide variety of problems. This is easy to do in games, but not easy in the real world.
Java is just that rare ecosystem where everything is thought out to such trifles. Once having studied something like design patterns or the Spring framework, we can use them even in games, even in information systems. Coming to a new job, you usually see everything that’s familiar.
In this regard, Sbertech was more difficult: most of the platform was written independently by Sbertech. On the other hand, the platform is based on familiar ideas, and implements them very well, so that you still quickly get up to speed.
In general, completely all previous experience and current knowledge here are useful.
- In the previous experience, in addition to “Gosuslug”, there was also work on the “Integrated Electronic Medical Card”, and you are generally interested in the e-government segment - and many developers, even without encountering this segment personally, obviously consider government-related work routine and bureaucratic. Does your experience on these projects differ from their feelings?- For me, then it was just the opposite. The state organization has quite a bit of money, it is often necessary to plan a budget (and a project plan) for the year ahead, to observe insanely tight deadlines, and the like. It turns out such an extreme-extreme programming, a startup on steroids. Bureaucracy is also there, but it usually does not apply to programmers. The bureaucracy is handled by managers ... well, they themselves have chosen their own piece of hell. Just write the code, make cool new products, and everything will be fine.
E-government attracts me by the fact that it is a very strong lever for improving everyday life. Previously, people stood in queues to the hospital for hours, now the same can be done on the site in two clicks of the mouse. To create this benefit, I didn’t have to do rocket science, but I just needed to write a piece of banal code, a little more complicated than in a typical electronic store. Only an electronic store has an impact on something small, such as the income of the owners of this store, and the queue to the hospital is already the scale of the whole country. Maybe I'm a pervert or something, but I am pleased to see the results of the work, and not to write to the table.
- Often it is believed that Russian programmers need to live in Moscow or St. Petersburg: they say, there are interesting tasks, big money, and life in general. And you absolutely do not seek to leave Novosibirsk - you personally are no worse there than it would be in Moscow?- In the XXI century courtyard, transnational corporations, Skype in every microwave, you can contact a person from the other end of the world in one click, and people still believe in the spread of life geographically :)
The short answer is: to enjoy the beauty of Moscow and St. Petersburg, I can just get on a plane and fly there over the weekend. I still don't have time to enjoy the beauty of everyday life - I have a day consisting of work (8 hours), chatting with friends (a couple more hours), and small hobbies such as cybersports shooters. And in work issues, geography does not limit me at all.
I doubt that the hours of standing in Moscow traffic jams can be recorded in the most pleasant moments in life. There is a friend who has so much beaten off standing in them that he moved from central Moscow to Zelenograd. But if you go to Zelenograd, then what is the point?
We have our Academgorodok - a wonderful place with a developed infrastructure and clean air. Office or study - within twenty minutes on foot. In addition, near Novosibirsk there is a ski resort Sheregesh, you can go there for a weekend ride on a board. I have an extreme bike park near my house. If we consider the city as a platform for work and communication with friends, I am more than happy with everything here. For everything else there is a plane.
- And if you are not talking about you personally, but about an abstract developer, could you recommend him Novosibirsk as a place to live?- In Novosibirsk, especially Akademgorodok, you can live if a small cozy city with a cohesive community, where everyone knows everything, fits. If you want millions of crowds on the street and active nightlife - this is a problem.
Renting an apartment is reasonable money. Very quickly to get from work to home (in general, the whole city diagonally takes two hours by bus).
Our work is fine: you can go to any site with vacancies, and filter by the word Java - there will be dozens of them. Smaller than in Silicon Valley, but also come down.
We regularly hold several global conferences, in particular, JBreak and CodeFest. There are several more local meetings - for example, what Axmor does. So many people came to the last JBreak that we could hardly fit into the volumes of Technopark provided and occupied all the available chairs. It seems that the javista fill the entire volume provided, like gas. It is good not only that the community is here, but that it is alive, actively, and actively growing.
- You are active in the Java-community: and posts on Habré, and discussions in social networks, and reports at conferences. What kind of feedback does it give you - just wondering, or how does it help in your work?- It helps in the most direct sense. For example, in social networks are available the creators of all those technologies on which we write software, and often willingly answer questions. If you ask a question on Facebook, not someone will respond to it, but the best specialists. In social networks, you can search for people in your team. In the end, if you just like to share something, then on the same Habré you can read several tens of thousands of people in a couple of days.
- On the issue of “discussions in social networks”: you recently started a discussion on Java and PHP on Facebook, where you stated that PHP is suitable for simple CRUD projects, but not anything complicated - can you expand the idea?- Facebook for me is not a platform for analytics, but rather for live conversations. I love holivary. What could be better than PHP vs Java holivar? :)
Speaking seriously, PHP certainly has its strengths - for example, hot-swappable code and deployment. No HotSwapAgent compares to the ability to simply update the file with the code. Which, in turn, greatly speeds up the coding process.
On the other hand, in PHP everything is traditionally bad with refactoring, coding standards, basic framework stability, and so on. Even with the features of the language, not everything is good - for example, enter the phrase “php annotation performance” into Google, and you will see that in the very first line, the Symfony 2 website says: “Yes, we’re talking about high-performance application. Does that sound weird? Maybe, but we love this mechanism! ”Yes, the guys obviously have problems if they have to justify themselves on the official website.
From the totality of different characteristics, in the context of creating a web application of the type “electronic store” I would make a prototype in PHP, but the real production version is in Java. But this conclusion is very personal, for someone else something else will work.
- You will soon speak at JBreak (and also JPoint) - briefly inform the readers about what you will be telling?- Who's what, and I, as always - about the convenience of using the Java-platform. Often, Java is accused of inconvenience, but at the same time they are simply afraid to look their real problem in the eye: in relation to writing code, to people, to processes. Before the report, you can think about questions like "what problems are most annoying you as a developer when using, for example, Jenkins, and how you would solve them in an ideal world."
- Since the title of the report contains the notion of DevOps, and in general you have a great interest in this topic, I would like to know: is this interest mainly your personal, or is Sbertech now in general “devopsny”?- I can not speak for the whole company - only what I see. And I see a steady improvement in the quality of devops and the desire for it. Our team, as a project very tied to the infrastructure, is especially important. Perhaps not everything is always smooth, but the prospects are enormous.