«У всіх проектах робили саме те, що вважали за потрібне»: Luxoft про Java і не тільки

напередодні Joker 2016 продовжуємо серію текстів про тих компаніях, в житті яких Java-розробка точно грає велику роль: спонсорах Joker. Luxoft нам відповіли на різноманітні питання — від того, які Java-технології використовують частіше всього, до того, чому упередження з приводу аутсорс-розробки невірні.



Нашими співрозмовниками стали:
  • Олег Золотих, керуючий директор Luxoft Russia
  • Михайло Дружинін, архітектор і лідер архітектурного ком'юніті (а також спікер HolyJS 2016)
  • Максим Сячин, Java-розробник (а також спікер Joker 2016)
  • Тихомирова Анастасія, фахівець з маркетингу

Олег Золотих
— Що вам дає участь у конференції?

— Для співробітників Luxoft як глядачів це можливість познайомитися з актуальними тенденціями у цій сфері, виникаючими проблемами, експериментами, позитивним і негативним досвідом (що, природно, дозволить врахувати цей досвід у своїх проектах, краще оцінити перспективність тих чи інших рішень, уникнути можливих помилок).

А для компанії це:
  • можливість продемонструвати свою експертизу в Java та інших технологіях, IT-стека, активну позицію і проектний розвиток, що має сприяти залученню нових замовників.
  • можливість винести важливі поточні технологічні питання на обговорення з експертами світового рівня.
  • можливість налагодити формальні/неформальні контакти, і, можливо, когось із відомих професіоналів залучити до своїх проектів, запросити працювати в Центр Навчання.
— Які у вас зараз є цікаві проекти на Java?
— Їх безліч, ось буквально пара прикладів:
  • реалізація микросервисов на платформі Apache Servicemix
  • ряд інтеграційних проектів, які забезпечують обмін даними між різнорідними системами (наприклад, SAP, Oracle, віддалені Web-сервіси)
  • система розрахунку ризиків для торгових майданчиків, що реалізує багатопотокові розподілені обчислення
— Які технології ви найчастіше використовуєте у випадку з Java?
— Всього не перерахувати… Платформи — JEE/Weblogic, Tomcat, Oracle EBS, SAP, Apache ServiceMix (OSGI), Hadoop.

Для розробки традиційних бізнес-додатків в основному Spring*, Hibernate, MyBatis, Webservices (CXF), GWT, Camel, Velocity, JUnit, Mockito…

— Luxoft займається софтом в дуже різних областях — від фінансових сервісів до автомобілів. В яких Java вам добре підходить?
— Можна з великою часткою впевненості сказати, що якщо софт повинен розгортатися на платформі, має можливість установки JVM, то має великий сенс розглядати Java як засіб реалізації цього софта. Є, звичайно, ряд областей, де немає можливості або сенсу застосовувати Java для розробки софта: firmware для чіпів, якісь старі середовища, орієнтовані на функціональне програмування.

Михайло Дружинін
— Михайле, вас знають як фахівця з Java, але при цьому ви виступали у нас не на Java-конференціях, а на HolyJS доповіддю про портали на JavaScript. Як це вийшло?

— Насправді, це очікувано. Я архітектор, а це автоматично означає необхідність контактувати з різними технологіями. Без JavaScript зараз зробити який-небудь гарний UI практично не можна, тому що це «необхідне» знання. А те, що досі не виступав на Java-конференціях, скоріше випадковість: я живу в Нью-Йорку, і вийшло так, що я був в Росії, коли проходила HolyJS. В наступному році планую приїхати на JPoint.

— Про Нью-Йорк хочеться уточнити: ваш переїзд туди стався релокация при роботі в Luxoft?

— Так. Комунікація — одне з найбільш великих накладних витрат для розробки, і завжди потрібні люди, які взаємодіють із замовником безпосередньо. Звичайно, можна поговорити по телефону, але обговорити наживо і, наприклад, намалювати кілька варіантів на дошці прискорює і покращує процес в рази. Запуск і виконання проекту проходять краще і безболісніше для всіх. Тому Luxoft досить часто перевозить людей до замовника. Ось для старту досить складного і великого проекту я і переїхав в Нью-Йорк.

недавньому інтерв'ю нам Володимир Фарбувальник згадував, що в Luxoft брав участь в очолюваному вами Architecture Community — що саме?

— Так, Фарбувальник навіть на аватарке у футболці ArchComm. Це ком'юніті всередині компанії, в якому обговорюються останні тренди в світі розробки, люди діляться своїм досвідом і рішеннями з різних проектів. Ось зараз, наприклад, у нас пройшла зустріч про тестування REST API.

У цього співтовариства дві мети. По-перше, це можливість для хлопців, яким цікаво поділитися своїм досвідом або новими напрацюваннями, зробити це і отримати критику від своїх колег. А по-друге, це інструмент для вирішення складних технічних питань, які конкретна команда не може вирішити тут і зараз. І розробники, і менеджери звертаються з різноманітними питаннями: від налаштування конкретного інструменту до архітектурних рішень. У Luxoft робиться досить багато різних речей у плані розробки. Тому часто трапляється так, що питання, яке ти вирішуєш, вже хтось робив до тебе, і можна уникнути помилок, за яким вже проходили.

— Ваш колега Максим на Joker буде розповідати про микросервисы — а ви самі як архітектор як ставитеся до цього тренду і наскільки активно застосовуєте їх в Luxoft?

— Я завжди за підхід, при якому кожний елемент системи виконує конкретно свою роботу, тому тренд вважаю позитивним. Але микросервисы, як і все інше, треба вміти готувати. Багато питань, без грамотного вирішення яких розробники отримують навіть, напевно більше проблем, ніж без микросервисов: як розподілити обов'язки між сервісами, як розгортати сервіси, що робити при помилках і як моніторити стан сервісу — все це важливо.

Та й сам підхід як такий далеко не новий по суті. Ми робили гранулярні сервіси ще до того, як це стало «мейнстрімом». Але раніше кожен робив це по-своєму і, як правило, сам, а зараз вже з'являється все більше інструментів, які допомагають з цим процесом.

— У частині розробників є упередження по відношенню до аутсорс-розробки: мовляв, поки в стартапі можна змінювати світ і робити унікальні речі, в аутсорсе сумовитий штампований конвеєр. Вам є що на це відповісти?

— Так, є упередження. Я вважаю, що все залежить від тебе самого. Якщо ти хочеш, щоб у розробці було цікаво і світ грав фарбами — пропонуй, роби і не чекай, поки хтось зробить це за тебе.

Досить рідко люди відмовляють, коли пропозиція має сенс і покращує кінцевий результат. От коли приходять з ідеями зробити щось тільки заради того, щоб спробувати нову технологію, або просто не розуміють, кому руху зроблять краще — тоді й трапляються відмови.

Звичайно, завжди є обмеження по часу, по інструментів, які доступні, за рішеннями, які ти можеш застосувати. Вони викликані об'єктивною реальністю, і з нею безглуздо боротися. Але мій досвід такий: ми у всіх проектах робили саме те, що вважали потрібним для проекту, що добре і замовнику, і розробнику.

Так, для цього потрібно вміти грамотно пояснити замовнику (або колегам), чому потрібно робити так, як ти пропонуєш. Але така проблема є у всіх проектах незалежно від того, аутсорс це, продуктова розробка або стартап.

У тебе завжди є замовник, завжди є люди, з якими ти інших взаємодієш, і завжди є обмеження. У них можуть бути різні імена і різні причини, але від них нікуди не піти. Я працював в дуже різних компаніях і проектах, але концептуально нічого не змінюється від форми.

Крім того, не всі клієнти Luxoft — це великий ентерпрайз начебто банків. У частині випадків розробку замовляють люди з ідеєю для стартапу. Компанія в цьому випадку займається всім від розуміння того, що взагалі потрібно зробити, до тестування і виведення в життя. Це нічим не відрізняється від роботи в стартапі, тому що це вона і є.

В наших проектах ми завжди намагаємося зробити так, щоб команда розробки брала участь у всіх проектних рішеннях. Але є тут і зворотна сторона медалі: свобода вибору передбачає відповідальність за цей вибір. А, на жаль, не всі готові брати цю відповідальність. Якщо розробники говорять такі фрази, як «нам не дали повні вимоги», «нехай Х визначать, як ми будемо робити» і т. п., то перекладають відповідальність (у тому числі за технічні рішення) на когось іншого. А після цього дивується, чому ніхто не слухає команду і нав'язує їм рішення. В такому випадку, так, будь-який проект можна швидко перетворити в штампувальний конвеєр.

Тому, якщо ти розумієш цілі проекту, не боїшся брати і просувати свої рішення, тобі буде комфортно в будь-якому проекті.

Максим Сячин
— Про що ви будете розповідати на Joker?

— Я розповім про те, як ми вирішили робити микросервисы у нашому проекті і що з цього вийшло. Моя доповідь буде в рамках Student Edition, тому що він орієнтований на студентів, і я хочу розібрати там саме ті моменти, які будуть цікаві їм.

— У Luxoft великі клієнти — працювати доводиться якраз над великими проектами, які варто розбивати на микросервисы, або невеликих теж багато?

— Розмір проекту — це лише один з факторів, що визначають доцільність вибору микросервисов. Існують більш важливі нефункціональні вимоги, які можуть схилити чашу терезів у бік цієї архітектури. Але взагалі, мені здається, в Luxoft досить багато проектів, яким микросервисы добре підходять.

— Хто зазвичай визначає, використовувати в конкретному сервісі микросервисы або моноліт — безпосередньо ви або замовник проекту?

— Це цілком і повністю завдання архітектора, який може бути як з боку замовника, так і з боку виконавця. Рішення про використання микросервисов повинен приймати чоловік, який дійсно здатний коректно оцінити переваги і недоліки цієї архітектури на тлі існуючих функціональних вимог. Крім того, не можна забувати про обчислювальних ресурсах.

— Поєднується ваша любов до мови Kotlin і іншим «новинок» з розробкою на замовлення — використовуєте їх в продакшені, або для душі?

— Якщо вдається знайти задачу, яку можна протягнути на одній з «невідомих звіряток» — намагаюся використовувати. На поточний момент існує одна невелика програма, яка використовується для рідкісної обробки даних. На Kotlin ж зараз я пишу поза робочого місця — відпочиваю від Java і її многословности.

Тихомирова Анастасія
— Для того, щоб заявити про себе, Luxoft використовує різні канали — наприклад, на Хабре публікував «шпаргалку Java-програміста». Які переваги є у конференцій?

— Участь у конференції — це можливість не просто зайвий раз розповісти про себе, а саме продемонструвати експертизу компанії: крім виступаючих спікерів, ми завжди беремо до себе на стенд експертів з наших проектів, які готові розповісти про свій особистий досвід в Luxoft, про технології, які використовуються в проектах. Адже серед розробників наша компанія і так досить відома, а от, що саме у нас є цікавого, знають далеко не всі, тому на конференціях ми завжди раді розповісти про те, що ми робимо.

— Якщо хто-то на конференції цікавиться можливістю працювати в Luxoft, мова звичайно про офісі в місті проведення конференції, або й інших містах?

— Luxoft — це міжнародна компанія, що, звичайно, є досить привабливим моментом для багатьох, тому на конференціях завжди цікавляться не лише локальним офісом, де проходить захід, але і можливостями роботи в інших країнах. На щастя, нам є, що запропонувати :)

— Яку роль у вас грає петербурзький офіс, які там проекти/процеси?

— У нашому петербурзькому офісі представлені проекти практично всіх лінійок бізнесу компанії. Наприклад, саме тут сидять наші R&D і Innovations Lab команди, які займаються розробкою наших власних продуктів. На даний момент в Санкт-Петербурзі у нас працюють вже понад 700 осіб, і ми не збираємося зупинятися на досягнутому, команди постійно зростають. Ну, і крім того, петербурзький офіс вважається одним із самих класних наших офісів, ніж ми, безумовно, пишаємося.

— ви Можете відстежити реакцію глядачів на конкретний доповідь вашого спікера? Чи буває таке, що вам кажуть «Побачив такий-то доповідь вашого спікера і одразу захотів у вас працювати»?

— Дійсно бували випадки, коли люди після доповіді підходили до нашого спікера особисто і говорили: «Вау! Хочу з вами працювати!» але, звичайно, неможливо відстежити кількість людей, найнятих саме після певного доповіді. Безумовно, є люди, які приходять до нас працювати після відвідування конференції, але скоріше за все, до цього веде сукупність різних факторів, а не вплив конкретного доповіді.




Будемо чекати на Joker 2016 доповідь Максима про микросервисах, а поки що згадаємо доповіді спікерів від Luxoft на новосибірської JBreak:





А також на HolyJS:


Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.