company_banner

«Недавно запустили систему онлайн-продаж для BMW»: T-Systems о роли Java и конференций в своей деятельности

    Как со стороны понять, насколько активно 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.



    JUG.ru Group
    885.07
    Конференции для программистов и сочувствующих. 18+
    Share post

    Comments 12

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

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

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

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

        0
        2016 год. Уже на всех углах было сказано, доказано и написано тысячи раз, что Hibernate — это адский анти паттерн, который нигде и никогда… Но, нет, оказывается, не первелись у нас ещё «герои» наступания на грабли.
          0
          Вы пишете все sql-запросы в ручную? Поясните, что вы имеете ввиду когда называете Hibernate — антипаттерном
            0
            Сейчас уже для всех языков есть библиотеки, предоставляющие QueryDsl вида:

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


            которые работают быстро и, что самое главное, абсолютно ПРОЗРАЧНО, — вы всегда получите отображение на SQL как 1 к 1. И не надо тратить время на борьбу с фреймворком, молиться, чтобы в след версии что-нибудь не отломали и т. п.
              0
              После active record из rails действительно hibernate кажется неповоротливым монстром, какие альтернативы вы можете привести для java?
                0
                Например, для java точно есть Jooq. Для scala, например, есть ScalikeJDBC (и многие другие)
                На худой конец, можно свои обёртки вокруг JDBC написать, — всё равно будет прозрачнее и проще чем Hibernate.
                  0
                  Под Hibernate вы имеете ввиду весь JPA?
                    0
                    приведенные вами инструменты имеют
                    • визибилити на уровне нуля,
                    • примерно нелевое коммьюнити,
                    • примерно нулевую мощность
                    • примерно нулевую вероятность, что нужные вам баги в них будут фикситься
            +1
            Долго пытался угадать: кто, из изображенных на КДПВ, Мария Зернова.
              0
              Да, неочевидно получилось) На фотографии — стенд T-Systems на Joker 2015.

            Only users with full accounts can post comments. Log in, please.