Как со стороны понять, насколько активно IT-компания использует Java? Один из признаков: если компания спонсирует Java-конференцию и отправляет туда спикера, значит, активно. Поэтому в преддверии Joker 2016 мы решили расспросить наших спонсоров о Java и участии в конференции. Первый пост — о T-Systems.



Мы расспросили нескольких сотрудников компании: одних об их личном опыте Java-разработки в T-Systems, других — о компании в целом. Нашими собеседниками стали:

  • Кирилл Чернин — HR бизнес-партнёр
  • Дмитрий Александров — ведущий эксперт-программист (спикер Joker)
  • Вячеслав Круглов — Java-разработчик, team lead (спикер Joker)
  • Мария Зернова — специалист по внутренним коммуникациям



Кирилл Чернин


— Что даёт вам участие в Joker?

— Мы решаем две задачи. С одной стороны, это обмен опытом между нашими сотрудниками и сотрудниками других компаний. Комьюнити для любого специалиста — очень важный момент с точки зрения новых идей и свежего взгляда. С другой стороны, мы рекламируем себя как работодателя в профессиональном сообществе, а для большой компании с более чем ста проектами это принципиально важно для дальнейшего успеха.

— Какую роль играет Java в вашей компании, и почему в этих случаях предпочтение отдаётся ей?

— Это основной язык разработки для большого количества проектов. Проекты в основном распределённые, и часть команды находится в другом подразделении T-Systems — например, в Бразилии, Словакии или Германии. А предпочтение Java получила, так как это мощный инструмент создания сложных корпоративных многомодульных систем.

— Какие сейчас есть интересные проекты на Java?

— У нас их много. Один из наших флагманских проектов — для компании «Швейцарские железные дороги». Мы разрабатываем с нуля единую систему управления продажами проездных билетов на все виды транспорта Швейцарии, объединяющую более 200 транспортных компаний. Большое количество проектов делается для нашей головной компании Deutsche Telekom — например, бизнес-портал GK-Portale, портал для клиентов компании.

Недавно мы запустили проект для компании BMW — онлайн-систему продаж. Это новый проект, который мы будем делать с нуля в российском офисе, в тесном сотрудничестве с BMW Германия.

Дмитрий Александров


— Вы интересуетесь и Java EE, и Spring — а с чем из этого вам чаще приходится работать в T-Systems?

— У нас есть множество проектов на обеих платформах. Я примерно одинаковое время работал на обеих технологиях. Конкретно сейчас я работаю в Java EE-проекте, и мне очень нравится именно стандартизация, которую предлагает эта платформа. Один и тот же код работает на нескольких Java EE 7-серверах без каких-либо дополнительных настроек. На мой взгляд, это одно из критических преимуществ Java EE. Spring, со своей стороны, часто является «инкубатором» отличных идей, которые впоследствии стандартизуются и в Java EE.

— А что вы думаете о будущем Java EE и «застое», с которым Oracle теперь обещает бороться? Насколько на вашей работе в T-Systems скажутся выход обещанных EE 8 и EE 9?

— Да, в последнее время было много дискуссий и даже панических настроений. Я лично считаю, что ЕЕ в ближайшем будущем точно не умрёт, и, более того, будет неплохо развиваться. Слишком много бизнеса на нём завязано. Следует учитывать и то, что, помимо Oracle, существует сильное комьюнити вокруг этой технологии, которое очень активно. На JavaOne нам показали новый roadmap. Хотелось бы, чтобы не опаздывали с новыми сроками. Что касается влияния новых версий Java EE на наши проекты, я думаю оно будет только положительным. В настоящем моём проекте мы очень активно внедрили многие нововведения EE 7, уверен, так же будет и с EE 8 в новых проектах.

— Вы организовываете в Болгарии конференцию jPrime. Как соотносятся опыт участия в чужой конференции и организации собственной?

— Да, так получается, что у меня есть возможность увидеть «что такое технологическая конференция» и глазами докладчика, и глазами организатора, и глазами зрителя. Это, безусловно, здорово, потому что тем самым мы можем сделать нашу конференцию ещё лучше для всех сторон. Конференция jPrime, хоть и очень молодая, уже смогла стать крупнейшей в регионе. В нашей группе организаторов из 5 человек все программисты, у нас нет профессиональных организаторов событий. Поэтому многому нам пришлось учиться самим с нуля, и участие в других конференциях нам очень помогло.

— Помимо этого, вы ещё и лидер болгарской Java User Group — можете рассказать о деятельности комьюнити?

— Задача нашего комьюнити довольно проста: мы хотим максимально хорошо знать Java. Мы даже ставим себе более амбициозную задачу — напрямую поучаствовать в развитии этого языка и всей платформы. Мы делаем workshop’ы по нововведениям, которые или только появились (например, MVC 1.0), или ещё находятся в стадии разработки и исследований (например, Valhalla project). Для этого, помимо общения между собой, мы всегда стремимся пригласить к нам и самых крупных профессионалов в этой области, в том числе из-за рубежа. Более того, стараемся делать это регулярно. А конференции и митапы являются прекрасным средством для выполнения наших идей.

— О чём вы будете рассказывать на Joker?

— Мой доклад называется «JBatch, или не самые большие данные». Я расскажу про относительно новый JSR-352, задача которого — стандартизовать и оптимизировать подходы к батчевым (или пакетным) обработкам данных в Java. Данный язык прочно зарекомендовал себя в энтерпрайзе, где задачи именно пакетных обработок встречаются довольно часто, а стандартизованных решений, на удивление, до недавнего времени не было.

Вячеслав Круглов


— В T-Systems вы Java-разработчик и team lead — а какую команду возглавляете, над чем работаете?

— Наш проект называется SBB, мы разрабатываем софт для продажи билетов на общественный транспорт Швейцарии. Команда порядка 40 человек, и мы всю разработку ведём в России. Заказчик предоставляет только требования. По сути, являемся продуктовой командой.

— У вас на прошлогоднем Joker был доклад о работе с различными базами данных с помощью Hibernate — а с какими базами данных работают в T-Systems?

— Очень сильно зависит от проекта. Проектов много, у них свои требования. Самое распространённое — это, конечно, Oracle. Встречается MySQL. Некоторые проекты используют MariaDB, кто-то NoSQL.

— Недавно появился материал «5 причин использовать JPA / Hibernate» — а что, по вашему опыту работы, является главной причиной их использования?

— Я как раз тоже прочитал эту статью, больше всего там мне понравился пункт «увеличение производительности разработки». Действительно, Hibernate позволяет очень быстро написать нужный код, не заботясь о каких-то рутинных запросах.

— Появился и противоположный по духу текст «Hibernate разрушил мою карьеру» о том, как он делал проекту хуже, а не лучше — вы с таким в T-Systems сталкивались?

— В тех проектах, где я работал, такого не было, у нас Hibernate оказывался полезен. Да, было много проблем, и их решение занимало некоторое время, но в целом он приносил облегчение. Но я не сомневаюсь, что есть задачи, в которых это не нужно. Это достаточно серьёзный фреймворк, несущий в себе много функциональности, и где-то он не требуется.

— У вас есть опыт обучения молодёжи и у нас на Joker University Day, и в формате Java-школы — а сами в процессе такого обучения тоже образовываетесь? Обнаруживали ли в итоге доклада, что чему-то научились сами?

— Да, конечно. В процессе подготовки, поиска материала находились очень интересные моменты, которые по работе не доводилось находить. В том числе и такие, которые можно потом в работе применить.

И в «нетехническом» плане тоже учишься. При подготовке к Joker оказался очень полезен тренинг от JUG.ru Group: он помог структурировать знания по ведению доклада, перестроить его. Это в итоге очень помогло, в том числе и в Java-школе.

Мария Зернова


— Компания использует разные способы коммуникации — чем конференция для вас отличается от других?

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

— Joker проходит в Петербурге — для T-Systems это лишь один из городов, или место проведения важно?

Петербургский офис является центральным офисом нашей компании в России, здесь находится большая часть команды. Java-проекты в основном делаются здесь: в Петербурге, например, мы разрабатываем внутренние системы для нашей головной компании Deutsche Telekom или проекты для заказчиков из автомобильной индустрии — очень крупный проект BMW Online Sales Master (OSM). Это уже третий проект для BMW, стартовавший в нашем центре разработки ПО в 2016 году.

Поэтому, как правило, мы принимаем очное участие на конференциях, которые проходят в Петербурге. Но, конечно, это не ограничивает наших докладчиков — они выступают на профильных конференциях независимо от города их проведения. А мы приглашаем к себе сотрудников из разных городов, и готовы помочь с переездом.

— Какой отклик компания обычно получает после докладов ваших спикеров?

Обычно после выступления спикеров сильно возрастает поток посетителей стенда, желающих узнать подробности о нашей компании, проектах. И дело, скорее, не в самой теме доклада, а в общем положительном впечатлении, которое складывается о компании благодаря выступлению. Это особенно заметно после докладов руководителей Java и Test-школ на мероприятиях для тех, кто только начинает карьеру: они узнают о возможностях обучения «изнутри», а не из брошюр, и это вызывает интерес. С другой стороны, доклад опытного специалиста позволяет обсудить сложную проектную задачу и поделиться найденным решением.

— Спасибо за ответы, будем ждать в октябре новый доклад Дмитрия. А пока можно вспомнить доклады спикеров T-Systems с предыдущего Joker: Дмитрия про Nashorn и Вячеслава про Hibernate.



Поделиться с друзьями
-->

Комментарии (11)


  1. Throwable
    26.09.2016 19:03
    +1

    Один и тот же код работает на нескольких Java EE 7-серверах без каких-либо дополнительных настроек

    Человек, однако, лукавит, не стесняясь. Все дополнительные настройки (DataSources, JMS Connection Factories, аутентификацию, etc...) придется делать ручками для каждого сервера по-своему. Ну и как бы дополнительные дескрипторы тоже приходится добавлять, начиная от меппинга jndi, если у вас не "hello world". В стандарте задуман только неинтересный джентльменский набор фич, все остальное — vendor-specific расширения. Процесс разработка просто ужасен. Единственно удобоваримый вариант — обернуть весь проект в Spring.


    1. advbg
      27.09.2016 10:00

      Ка ни странно, но все действительно неплохо работает с минимальной конфигурацией. Понятно, что датасорсы пришлось прописывать по-своему на каждом сервере. Больше пришлось повозиться разве что с JAAS, но и тут я лично жду унификации. А а так у нас ни одной вендор специфик аннотации, и этого нам вполне хватает при данных требованиях.


      1. Throwable
        28.09.2016 13:50

        У нас вот очень жесткие требования клиента по стандартизации, поэтому заставляют нас, несчастных, сидеть на голом JEE. Даже завернуть в Spring не дают. За последние 10 лет столько настрадавшись при разработке JEE и всевозможных аккуратно расставленных граблей, что у меня единственное желание — чтоб он поскорее, наконец, сдох, ибо суть тормоз в разработке и зло в чистом виде.


  1. eXTreMeHawk
    27.09.2016 08:38

    2016 год. Уже на всех углах было сказано, доказано и написано тысячи раз, что Hibernate — это адский анти паттерн, который нигде и никогда… Но, нет, оказывается, не первелись у нас ещё «герои» наступания на грабли.


    1. mystdeim
      27.09.2016 08:55

      Вы пишете все sql-запросы в ручную? Поясните, что вы имеете ввиду когда называете Hibernate — антипаттерном


      1. eXTreMeHawk
        27.09.2016 10:24

        Сейчас уже для всех языков есть библиотеки, предоставляющие QueryDsl вида:

        select
          .from(Order as o)
          .where
          .eq(o.productId, 123)
          .and
          .isNotNull(o.orderedAt)
        


        которые работают быстро и, что самое главное, абсолютно ПРОЗРАЧНО, — вы всегда получите отображение на SQL как 1 к 1. И не надо тратить время на борьбу с фреймворком, молиться, чтобы в след версии что-нибудь не отломали и т. п.


        1. mystdeim
          27.09.2016 10:38

          После active record из rails действительно hibernate кажется неповоротливым монстром, какие альтернативы вы можете привести для java?


          1. eXTreMeHawk
            27.09.2016 11:07

            Например, для java точно есть Jooq. Для scala, например, есть ScalikeJDBC (и многие другие)
            На худой конец, можно свои обёртки вокруг JDBC написать, — всё равно будет прозрачнее и проще чем Hibernate.


            1. advbg
              27.09.2016 12:15

              Под Hibernate вы имеете ввиду весь JPA?


  1. semeiskii
    27.09.2016 08:59
    +1

    Долго пытался угадать: кто, из изображенных на КДПВ, Мария Зернова.


    1. phillennium
      27.09.2016 08:59

      Да, неочевидно получилось) На фотографии — стенд T-Systems на Joker 2015.