Коллеги из американской компании Crossover, трудоустраивающей дистанционно ИТ-специалистов, рассказали Хабру о востребованности Java. Энди Триба, СЕО Crossover, Мирча Стругару, ее технический вдохновитель (VP of Engineering), Патроклос Папапетру и Дмитрий Ионаш (Chief Architects)



Энди Триба


Генеральный директор и основатель Crossover
Совладелец RideAustin

Все ли проекты вашей компании используют Java?

Java используют все проекты в рамках “Crossover for Work”. Но необходимо помнить, что наша платформа используется большим количеством компаний. К примеру, если вы используете crossover.com для устройства на работу, вы можете попасть в одну из Fortune 1000 компаний. И у этих компаний свои проекты, использующие иные технологии. Мы считаем, что спрос на Java EE будет стремительно расти ближайшие годы.

Какова цель участия вашей компании в 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, см. видео СЕО
.
Поделиться с друзьями
-->

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


  1. begemot_sun
    02.12.2016 15:20
    +3

    Java… Java… Java… Java.

    Как будто другого нет?
    Я думаю тут приведут достаточно примеров когда Java не подойдет.


    1. sshikov
      02.12.2016 17:26
      +2

      Дело даже не в этом… При том что я сам на этом работаю, но вот это вот все:

      >Мы считаем, что спрос на J2EE будет стремительно расти ближайшие годы.

      Это мягко говоря, не факт. И это надо аргументировать. Потому что найдется много других людей, которые считают ровно наоборот. И даже лично я, будучи оптимистом по отношению к JavaEE как технологии, не вижу никаких причин для «стремительного роста» в ближайшие годы. В лучшем случае — спрос не будет падать.

      Эксперты, такие эксперты…


  1. lolmaus
    02.12.2016 23:56
    +1

    Буквально сегодня имел дело с Crossover — пытался откликнуться на вакансию frontend-разработчика в сам Crossover.

    По итогам написал им такой отзыв:

    Скрытый текст
    As a developer looking for a job, I found the experience using your hiring platform unsatisfactory.

    First of all, the fully automated hiring process didn't give me a chance to talk to a real person and ask questions (automated emails that deceitfully pretend to be personal don't count). I fought through forms and automated trials for hours — only to find out that the job isn't what I'm looking for. This would be resolved immediately if a real person read my cover letter, or a Skype message, or an email from me, or my CV, or my website. Instead, it took me hours of personal time to get up to a point where I can't even proceed: because the requirement of a test assignment was to use Angular/React/Backbone while I'm specializing in Ember.

    The choice of frameworks is weird: React and Angular 2 are modern frameworks, while Angular 1 and Backbone are hopelessly outdated. Ember, my weapon of choice, is a modern framework, one of the big three, — and I'm calmly confident that I would fulfill the test assignment faster and better than competitors using other frameworks — yet it was explicitly stated that I'd be disqualified if I used a framework not on that list of four options.

    If I knew that beforehand, I would of course never waste several hours of my life on you.

    The test assignment in question is exactly the same assignment that I've seen when applying to TopTal three years ago. My application back then didn't succeed because the TopTal's manager assigned to me was fired in the middle of my application without me being notified.

    Secondly, the assignment itself is ridiculously large. Though it technically can be completed in the recommended ten hours — ten hours of extreme concentration, properly implementing all the requirements with due care and attention is at least a week-long project, while the limit is three days.

    I find it offensive that you demand that your candidates complete such an enormous amount of work merely to deserve that an employee on your side condescends to take a glance at the job application. Though I'm not suspecting you to use your candidates as free labor, this is a «one-way street» situation to the extreme.

    Thirdly, the quiz that preceded the test assignment is simply humiliating. It demands knowledge of obsolete technologies that haven't been used in frontend development for many years. If your employees face the problems described in the quiz in their daily work at Crossover, then no self-respecting developer would want to work for you. But more likely, you just lack the understanding of the field you're evaluating candidates in. You bough this quiz somewhere and threw it in between talented candidates and your unsuspecting dev team.

    Your hiring reality is completely detached from what a development team actually needs from a new teammate. It's like two separate worlds: you in your HR bubble are completely clueless what both parties of the hiring process actually need in their programming reality — and, worst of all, you just don't care.

    You do this terrible thing to your own candidates and dev teams; and you do the same to employees and dev teams of your clients, leading them into believing that it's how it should be.

    Finally, you force your candidates to fill a copy of their resume into your system. That's an extremely slow and useless process. I've already got a nicely structured CV, yet I'm neither able to attach it, nor paste it as text, nor provide a link to the live CV on my personal website. I'm forced to reproduce it bit by bit, using the mouse pointer to do every tiny step, fill out every field, every tag, every goddam' date with to-day precision.

    I sincerely hope that web services like Crossover are soon all out of business, so that candidates are no longer required to repeat this painfully slow routine for every single job application. Don't say that I wouldn't have to do it again — I've never seen two separate job offers use the same third-party job application service.

    Luckily, many companies, whose dev teams are both happy and productive, have them communicate with candidates directly. They accept existing CVs/websites, they have reasonable requirements. By spending like 120 seconds per candidate, the hiring party can save hours of personal time for each of those candidates.

    And of course there are web services that actually help both parties to achieve positive result as quickly and efficiently as possible. You're not one of them.




    Hello Andrey,

    I am sorry o see that your experience with us was not that satisfying. Until at some point we do have an automated system for contacting candidates and to explain all the steps that you need to complete to qualify for interview. Regarding the steps, thank you for the feedback, i will make sure you forward it to the appropriate departments so that we can update the questionnaire. Regarding the project assignment, we are looking for candidates who have experience in these specific fields, fields that are mentioned exactly in the Job Description. For one who masters then it is possible to complete it within the 10 hour time frame.

    I am also sorry to hear that you wish for companies like to us to disappear, we are currently offering full time remote positions for close to 2000 candidates from over 85 different countries and the clients that currently decide to work with us are Fortune 1000 and the list of candidates is growing.

    From what i can see you have started your project evaluation, if you are still interested in a position with us keep track of your time, you will have the total of 3 days to finish and upload your work to us.




    Hey Alex. I'm sorry for saying that, I don't want your business to fail.

    It's just I was really pissed off by being taken through all this heartless job application machinery and wasting hours of my time for nothing. All I meant is that I don't want this to happen to other developers, while your company is actively working in that direction.

    Here's how I think an ideal job application form looks like, both from employer's and employee's perspective: https://fitzdares.com/careers/ember

    Everything else is an obstacle between the candidate and the team. Your routine is a frigging death trap obstacle course.

    Please note that there are web services that let employers manage candidates without introducing any obstacles. They try to understand what are the actual priorities of both candidates and teams. Your web service only cares for what HR princelings need.


    1. ptar
      03.12.2016 08:44

      Iolmaus, спасибо большое за детальный отзыв, такие помогут быстрее улучшить candidate experience. Как в самой модели есть минусы, так и в нашей реализации, но мы активно работаем над процессом. Также, более четко будем отражать требования в описании вакансии. В частности, тесты и тестовые проекты приводим в большее соответвствие с тем, что приходится делать на работе и укорачиваем. Это происходит быстрее всего по тем типовым вакансиям, которых открыто более 100 штук (например, Java Chief architect). Мне кажется, что эта дискуссия оффтопик, но очень важная, поэтому буду благодарен, если найдете время пообщаться. Если можно, напишите, как с Вами связаться на petr.tarasevich@crossover.com


  1. ptar
    03.12.2016 09:23

    Подробнее, о том, как Лусиано, Архитектор, руководитель технической оценки Crossover понимает Java Сhief Architect, смотрите статью на LinkedIn. P.s. Если не открывается LinkedIn, для чтения LinkedIn удобно использовать browser extensions, например, вот этот для Chrome.