Коллеги из американской компании Crossover, трудоустраивающей дистанционно ИТ-специалистов, рассказали Хабру о востребованности Java. Энди Триба, СЕО Crossover, Мирча Стругару, ее технический вдохновитель (VP of Engineering), Патроклос Папапетру и Дмитрий Ионаш (Chief Architects)
Энди Триба
Генеральный директор и основатель Crossover
Совладелец RideAustin
Все ли проекты вашей компании используют Java?
Java используют все проекты в рамках “Crossover for Work”. Но необходимо помнить, что наша платформа используется большим количеством компаний. К примеру, если вы используете crossover.com для устройства на работу, вы можете попасть в одну из Fortune 1000 компаний. И у этих компаний свои проекты, использующие иные технологии. Мы считаем, что спрос на J2EE будет стремительно расти ближайшие годы.
Какова цель участия вашей компании в Java конференциях?
Мы хотим поделиться практикой выбора технологий, собранных “граблей”, дистанционного управления проектами. Также, хотим найти ведущих JAVA специалистов для формирования команд, которые будет разрабатывать мощное ПО.
Почему для этих целей вы выбрали Joker 2016?
Чтобы стать перспективным кандидатом на вакансию, вам необходимо хорошее базовое образование и соответствующий опыт. Кроме того, вы должны быть в курсе последних технологий. В Санкт-Петербурге есть все составляющие, позволяющие сформировать перспективного кандидата: хорошие Университеты, ведущие ИТ-компании и сообщества разработчиков.
Патроклос Папаетру
Основатель SoftConf, Speaker, Software Gardener, Clean Code Evangelist
Автор книг
Что вы думаете об эволюции технологии Java и ее будущем?
Мне кажется, после выпуска Java 8, включающей большое количество давно ожидаемых функций, отдельные разработчики и компании, занимающиеся созданием ПО, снова начали доверять Java роль основного языка программирования. Готовящаяся к выходу Java 9 будет включать в себя еще одну востребованную особенность — модульность. Отрадно, если это позволит разработчикам легко создавать высококачественные модульные (т.е. основанные на микросервисной архитектуре) приложения. Время покажет.
Можно ли заменить Java другим языком программирования / технологией?
Это довольно сложный вопрос, но я бы сказал: “нет”. Существует множество языков программирования и некоторые из них, будем честными, имеют особенности, которых нет в Java. Таким образом, в теории — да, Java может быть заменена другими языками или комбинациями технологий. Но возникает вопрос: “Есть ли основания для замены Java?”. Вот, что я рекомендую: нет ничего, что вы не можете сделать с Java, если вы с ней знакомы, придерживаетесь ее канонов и улучшаете код. Java сейчас актуальна и будет актуальна еще много лет.
Почему в своих проектах вы используете именно Java?
Нам необходима была стабильная среда для создания корпоративных приложений при быстром цикле разработки. Поэтому для реализации API бекэнда мы выбрали Java 8 и Spring. Это позволяет нам использовать все интересные функции Java 8, а также мощь Spring (безопасность, AOP, реализация API и т.п.).
Дмитрий Ионаш
Senior Java Architect в компании Crossover
Какую роль Java играет в вашем бизнесе?
Программирование сегодня — неотъемлемая часть автоматизации в любой отрасли науки, жизни, быта, спорта, медицины… чего угодно. Компьютер вошел во все сферы жизнедеятельности человека, да и экосистемы в целом.
Язык программирования предоставляет возможность взаимодействия с компьютером. Их великое множество, классифицируемое по большому числу критериев, от примитивных до высокоуровневых. Java, пожалуй, один из самых совершенных, востребованных, понятных и удобных языков.
Прелесть данного языка в его универсальности. Взяв лучшее из языков C и Pascal, он позволяет создавать работающий код вне зависимости от платформы, на которой он должен выполняться — от серверов до холодильников и стиральных машин. Поэтому сложно переоценить его роль в бизнесе. Работая в ИТ, никогда нельзя быть уверенным в том, что завтра не изменятся условия бизнеса или требования будущих заказчиков. Но данный инструмент в лице Java всегда позволяет идти в ногу с технологиями и быть во всеоружии при любых изменениях условий или законов рынка.
Возможно ли заменить Java в этой роли?
Если в каждом отдельном случае рассматривать задачу с определенными условиями, то, конечно, всегда можно найти замену любому языку. Однако, по мере расширения задачи, увеличения количества условий и требований, поставленных перед конечным продуктом, сокращается список языков, пригодных для ее решения. Java — настолько совершенный и универсальный язык, что ужесточая требования и увеличивая количество условий, поставленных перед языком, рано или поздно в списке он останется один. Поэтому рассматривая настоящую эпоху в разрезе компьютерных технологий, можно однозначно ответить, что сегодня не существует настолько совершенного и универсального языка программирования, как Java, способного удовлетворить все запросы рынка и технологий.
Все ли ваши проекты основаны на Java?
В универсальности и «всеядности» данного языка заложена и его слабость. Если попытаться деструктурировать сферу приложения данного языка, то для каждого отдельного случая мы можем найти более быстрый, более компактный, более удобный язык или даже отдельную технологию. Поэтому это было бы совершенно неправильно с точки зрения производительности или других критериев оценки работоспособности конечного продукта использовать всегда и везде данный инструмент. Именно поэтому многие, даже сильно устаревшие языки, не умирают со временем. Выбор языка должен базироваться на прагматичности, ведь это продиктовано законами бизнеса; отсюда вытекает необходимость подбирать специфические языки и технологии под специфические задачи (например, для графики необходим язык, который максимально быстро обрабатывает огромные объемы информации, а для работы с многопоточностью необходим быстрый и безопасный с точки зрения блокировок язык). Однако еще одно достоинство Java — гибкость коммутации с другими технологиями, что делает его еще более привлекательным.
Традиционно компании ожидают получить от подобных мероприятий знания или людей. А вы основной фокус делаете на персонале, который потенциально можно найти среди посетителей и докладчиков, или на самой технологии?
Конечно, на специалистах. Пожалуй, наше главное достоинство — возможность в чрезвычайно короткий срок собирать любое количество команд любого масштаба, включающих уже подготовленных высококлассных специалистов. Благодаря этому достигается феноменальная гибкость в работе, когда заказчик совершенно перестает заботиться о подборе специалистов, их профессиональных качествах и сроках выполнения задачи. Зачастую это становится непосильной задачей для многих проектов и компаний, в результате чего возникает угроза для всего проекта. Вторым козырем, который предоставляет наша компания, является готовая и замечательно отлаженная структура всей цепочки создания проекта — от постановки задачи до конечного тестирования и отладки, то есть компания предоставляет готовый производственный конвейер, который работает всегда и к которому можно подключиться с любым проектом в любое время.
Как Java используется в вашей компании? Какие интересные проекты разрабатываются в данный момент?
Для нашей компании Java является основным фундаментом, связывающим любой проект. Модульность, распространенность, доступность, удобство, универсальность, производительность Java позволяют создавать каркас, который затем заполняется самим кодом Java или предоставляемыми языком мостами, позволяющими инкапсулировать в уже существующий каркас другие, более специфические языки и технологии. Это удобно, это универсально и это достаточно отлажено как специалистами нашей компании, так и всей индустрией в целом. Колоссальный набор инструментов, созданный на сегодняшний день, позволяет решать фактически безграничное множество задач, причем, рассматривая любой отдельный узел, из которых формируется проект, мы сталкиваемся с огромным выбором, который предоставляет нам как коммерческий сегмент, так и сектор свободно распространяющегося софта.
Мирча Стругару
VP Engineering в компании Crossover
Как Java используется в вашей компании?
В первую очередь бекэнд нашего основного портала создан на Java. Он используется для найма сотрудников и оценки показателей производительности. А инструмент aLine (Assembly line, www.devfactory.com/the-devfactory-offering.php) повышает управляемость проектов по разработке программного обеспечения; помогает придерживаться строгой адресности и проводить необходимые измерения. И это чрезвычайно важно при подходе управлению, основанному на КПЭ (метриках).
Как именно вы выбираете технологии для новых проектов?
Это часть обязанностей главного архитектора программного обеспечения.
Приведите пример последнего успешного проекта, использующего Java?
Ride Austin, сервис аналогичный приложению Uber, обеспечивающие 50 тысяч заказов в неделю. Весь backend написан на Java с клиентами под Android и iOS.
Подводя итог, мы считаем Java наиболее быстро развивающимся enterprise-level technology stack и спрос на специалистов будет продолжать бурно расти в ближайшие годы. Это один из источников спроса наших клиентов на сотню senior Java специалистов, который кроется за вывеской $8000/мес. вакансии Chief Architect ca.crossover.com. Подробнее, о том, как Crossover понимает Сhief Architect, см. видео СЕО
.
Автор: Crossover