Хочу передать пламенный привет эйчарам, из-за которых конференции для разработчиков часто напоминают больше ярмарку вакансий, нежели место, где можно пожать шеи авторов фреймворка. Я хочу немного понегодовать по этому поводу и рассказать, как мы тщательно выгоняли со своих конференций в специальные резервации всех тех, кто не знает, на какие 10 типов делятся люди по знанию двоичного исчисления.
В общем, ниже про то, как выжать максимум из посещения профильной конференции для разработчиков, чего можно и чего нельзя добиться, и где самый жир.
1. Практическое применение знаний
Практически никогда на конференциях вы не получите решения текущих проблем и задач. Почему? Очень просто: если вам нужно что-то здесь и сейчас, то вы смотрите на Stack Overflow или спрашиваете у коллег. Либо ищете знакомых, кто знает и может всё разложить на пальцах. Глупо было бы ждать несколько недель или месяцев конференции, чтобы выяснить всё это на ней.
Скорее, речь о кругозоре. Раньше не знали, как решать, и гуглили бы 5 часов. Сейчас знаете, представляете чужой опыт, можете принять решение почти сразу. Вот разработчик из Яндекса делится:
«Был интересный доклад про дженерики. Там, типа, пазлеры с дженериками. Я после этого тоже, ну, не прямо по итогам доклада, но, типа, заинтересовался тоже темой этой более-менее и кое-что переписал в своем проекте».
С другой стороны, доклады профессиональных спикеров готовят к будущим задачам. То есть когда что-то сложное всплывёт, вы можете вспомнить, какой подход и почему обсуждался на конференции. И будет существенно проще. Плюс появляется кругозор, который позволяет понимать во многих аналогичных случаях, в какую сторону примерно копать.
Вот что про этот фактор говорит участник Сергей Б. (участие в JPoint и Joker с 2013 года):
«Сложно вспомнить, но совершенно точно Joker сильно расширяет кругозор. И даже если из тех докладов, которые прослушали, никаких практических выводов не делаем прямо в момент прослушивания, в любом случае это откладывается в голове. Когда мы встречаемся с какой-то проблемой, то вспоминаем, что да, что-то такое мы слышали. И во-вторых, мы расширяем кругозор в том смысле, что видим происходящее в индустрии и куда всё движется — это даже видно по темам докладов. У нас компания небольшая, нет специального отдела, следящего за тенденциями. Поэтому мы ездим сами. Вообще, мы занимаемся разработкой софта на заказ на Java уже 8 лет. Мы стараемся присутствовать и на JPoint, и на Joker — конечно, всю команду привезти не можем, но я как директор каждый раз езжу.
… Поскольку у нас много проектов на Enterprise Edition, то в каждом проекте встречаются, безусловно, задачи пакетной обработки. Мы раньше всегда их решали вручную. Сейчас это стало частью стандарта, но мы не обратили на это внимание, а после доклада стало понятно, что будем эту технологию использовать. Эффективность этой технологии в том, что она содержит в себе все вещи, которые обычно в ходе реализации пакетной обработки появляются потихоньку. То есть вам надо файл в 100 000 строк переместить — вы пишете одну строчку. Потом вы понимаете, что вам нужны чекпоинты, что нужно делать что-то с дефектными данными, нужна транзакционность, мониторинг. Всё это пишется вручную. Сейчас появился стандартизированный способ, есть поддержка контейнера для таких задач, и мы это будем использовать. Хотя это, конечно, немного не в стиле Joker, но этот доклад будет применен — не прямо завтра, но через несколько недель точно».
Гриша Б.:
«Как Шипилёв говорил в кейноуте, “нужно с умом подходить к этому делу”. Не просто так, мол, “а увидел крутую вещь — буду запиливать”. Всё пригодится на практике, просто не сразу».
2. Мировоззрение и обучение
Конференции не сделают вас сильнее-выше-быстрее просто потому, что вы там присутствуете. Точнее, для объективно хорошего стабильного эффекта пришлось бы посетить штук 40–50 конференций (почти как половина университетского семестра). Их столько просто нет. Учиться на конференциях бесполезно, учиться нужно самостоятельно.
Учиться — это в другом месте. На конференциях нет целенаправленного обучения. Просто каждый рассказывает про свои задачи и про то, как он их решал. Но и это может оказаться полезным — например, есть много вещей, которые вы пока не трогаете, потому что не знаете, что можно лучше. После конференций захочется их расковырять — вот как, например, рассказывает участник прошлого JPoint:
«Был доклад парня из Дойче-банка, я не помню, как его звали. Он рассказывал про мониторинг производительности. Мы этим воспользовались… Ну, там он снимал дампы и проводил статистический анализ этих треддампов. И на основе их смотрел, что у него тормозит. Мы этим потом воспользовались, когда решали проблему производительности наших приложений. Также в 2015 году был доклад Андрея Паньгина. Тоже там он рассказывал про java agent, мы этим периодически пользуемся, особенно если у нас application… Ну, проблема не в нашем коде, а в application server'е. Чего-нибудь залезть там, подхачить. В прошлом году мы, например, заказали онлайн-трансляцию. И сделали у нас на corporate, и сделали типа JPoint’а, но у нас, локальный, в офисе. Это для джуниоров хорошо, такой был этот. В этом году решили сами приехать, ещё раз посмотреть. Не стали заказывать. И уже пожалели, что ребят не подтянули».
Можно не наступать на чужие грабли (отзыв разработчика UnitedTraders):
«Начали внимательно следить за версиями драйвера Postgres’а, потому что товарищ рассказывал, как он там достаточно стрёмные вещи чинил в этом самом драйвере, локи довольно жёсткие. И посмотрели на Кассандру, ну, чуть более пристально, она не пошла. Но посмотрели».
Ещё от спикеров можно услышать, чему и как учиться. Самое главное — видно, кто и как решает разные сложные задачи. Путь Senior-developer — это много импровизации, море практики и умение видеть модели за практическими задачами. Часто одна только возможность «поднять голову» над рутиной помогает научиться мыслить чуть иначе.
Почти никогда нельзя стать Senior, просто изучая язык (или несколько). Нужно ещё думать как профессиональный разработчик — моделями задач и классами инструментов, а не конкретными реализациями. То есть, упрощая, конференции могут научить вас видеть архитектуру кода чуть иначе.
Вот рассказ команды с хорошим опытом:
«Мы уже давно ходим на конференции. У части докладов всегда был прикладной интерес. Сейчас я успел побывать на трёх (докладах), и все так или иначе для меня релевантные, даже Шипилёвский кейноут. Каждый раз открываешь для себя что-то либо изучаешь более подробно. Не знаю, что конкретно выделить. Каждый раз получаешь то, что ожидаешь получить. И нельзя рассматривать это напрямую, мол, вот я научился чему-то и сейчас пойду это запиливать. Это, скорее, толчок для дальнейшего подробного изучения и просмотра. Потому что мы уже матёрые ребята, нас сложно чем-то удивить. Конференция — это место пообщаться и некоторый способ нарушить изоляцию своего коллектива. Посмотреть, что в тренде, что народ делает. Посмотреть, насколько твоя команда актуальна сейчас. Ещё момент с точки зрения практической пользы — общение с докладчиками. В прошлый раз я с ними болтал просто так. Был спикер Venkat Subramaniam — я его книжки читаю, часто на YouTube смотрю. Было интересно с ним поговорить вживую, задать конкретные вопросы. А что касается дискуссионных зон… Вот видишь Шипилёва и думаешь, что бы у него такого спросить, и ничего в голову не приходит».
А вот так рождается желание ковырять что-то новое (Николай):
«И эти хардкорные вещи… Их обычно просто так не ищешь ради развлечения вечером. И потом, когда узнаешь о них, задумываешься: а может, так попробовать, а может, сяк? Второе — это разнообразие. Ты сидишь на работе, каждый день плюс-минус одно и то же. А конференция — это такая возможность заново окунуться в новый мир. Это сильно мотивирует. Смотришь, что народ делает, и думаешь: “А я вроде тоже не хуже! Вечером приду и тоже что-нибудь посмотрю”. И конференция действует как перезарядка. Вот, долго работаешь, всё бесит, а потом приходишь, узнаёшь кучу всего, общаешься, и уже как новый глоток воздуха».
Вот разработчик из КРОКа делится:
«Виктор Лаврентьев, брейнсторменное clean pragmatic architecture, это был очень практический доклад, который опять-таки очень помогает при создании фреймворков. Я бы отметил еще Калеолу, первый самый доклад. Просто открывает глаза на то, когда, в какие моменты жизни проекта какие оптимизации стоит применять, а когда надо опустить. Просто такой подход к ведению всего проекта».
3. Фан и драйв
С одной стороны, конференции — не развлечение и не отдых, а с другой — это он и есть. Мы это поняли, когда по просьбам участников все Joker/JPoint и DotNext с 2013 года стали проходить по будням, потому что на выходных у мидлов и сеньоров семьи (сейчас мы делаем сочетание пятница-суббота, чтобы не отжирать два рабочих дня и не забирать все выходные).
У профессионалов на самом деле обучение лежит не очень далеко от развлечения. Узнавать что-то новое и общаться с коллегами — это возможность почувствовать свежий ветер на лице. Поэтому, кстати, многие ходят на доклады, которые бы так им в жизни не понадобились, и (редко) внезапно выясняют, что всё же это оказалось полезнее, чем планировалось. Обучение по плану, без развлечения и доли случайности — это рутина. На конференциях же можно выдохнуть, узнать что-то новое и вернуться потом к обычной работе с пониманием перспективы.
Ну и, конечно, одна из важных вещей — знакомые. Не тусовка, а именно возможность увидеть тех, кто чего-то добился профессионально, узнать, чем и как они живут. Вот обратите внимание, как люди об этом говорят.
Виктор А.:
«В прошлом Джокере был Барух, который рассказывал про Мавен и Грейдл. Интересный был доклад. После него потянуло поковыряться в Грейдле, посмотреть, как с ним можно взаимодействовать. Сегодня тоже доклад про Мавен и Грейдл, который послушал, — буду разбираться дальше. Доклады про Stream API и Java 8 тоже слушаю, тоже применимы в работе. Плюс на конференции до фига знакомых».
Иван Е.:
«Потому что понравились в прошлом году — как доклады, так обстановка. Мне удалось случайно встретиться со многими людьми, которых не видел десяток лет, и это очень круто. Из полезного — в том году был доклад, который получилось принять на практике, про мутационное тестирование (спикер — Николас Франкель).
Сегодня меня интересуют две темы: микробенчмарки и проблемы микросервисов и распределённого логирования. Общаюсь с людьми, узнаю, как можно это сделать, получаю для себя полезную инфу и решения».
Евгений:
«На первом Joker было много полезного. Практическое применение — я знаю, куда рыть, чтобы интересные вещи для себя изучить более подробно. Сложно назвать что-то конкретное, потому что это по крупицам собирается из разных мест и потом применяется в работе. Ну, и плюс общение со знакомыми старыми. Так ни с кем не знакомлюсь».
4. Уровень требований и зарплат
Не секрет, что компании стараются на таких конференциях познакомиться с потенциальными жертвами хедхантинга, а разработчики иногда ездят, чтобы таковыми стать. «Прямых сделок» и передачи оферов почти не происходит, но все с радостью пользуются возможностью прощупать почву у коллег. Ключевые моменты — узнать, кто и сколько получает (и за что именно), у кого какие подводные камни в работе чисто в процессе. А ещё многие наши гости отмечают, что конференции — это социализация (насколько это возможно в сообществе разработчиков), то есть знакомства и связи между компаниями. Плюс разработчик может посмотреть возможности работы у компаний-спонсоров, которые чаще всего — международные холдинги со спектром хороших и интересных проектов.
То есть поездка на конференцию — это рост в деньгах не только за счёт получения какой-то нетривиальной информации, но и за счёт вашей большей информированности. А часто такую информированность можно получить только лично и только от знакомых. Только не говорите это своему эйчару, если билеты оплачивает компания.
Кстати, для самих эйчаров это тоже важно (хоть мы их и не пускаем) — они получают галочки за то, что отправили вас учиться, вы прошли некоторое повышение квалификации и т. п. Ну, а у кого в компании с рабочим климатом всё в порядке — у них ещё и повышение лояльности. Потому что слушать жалобы других разработчиков на работу, а не на язык или фреймворк — музыка на сердце.
Как получить максимум?
Правильный сценарий, на мой взгляд, такой:
- Заранее составить план захвата конференции, то есть прочитать про каждый доклад и посмотреть, насколько интересен спикер. Скорее всего, у вас есть 2–3 доклада, на которые вы пойдёте точно, и надо ещё обозначить те, которые вы будете посещать «в промежутках». Лучший способ понять, надо оно вам или нет — посмотреть 3–4 минуты видео этого докладчика с предыдущей конференции, если он был. Если не был — просто почитать его публикации.
- После докладов спикеры идут «на поговорить» в специальную зону, где можно обсуждать с ними животрепещущие вопросы. Тут лучше заложить время на это обсуждение (полчаса после доклада, например) и ещё собрать сами вопросы. Часть ваша, часть наверняка захотят задать ваши коллеги, которые не идут (спросите их, есть ли что-то важное, что надо уточнить).
- Если вы пришли на доклад, а он вас не вставляет — к чёрту вежливость, вставайте и уходите, даже если вы сидите в середине ряда. В соседних залах ещё доклады.
- Стоит заранее узнать, кто из ваших знакомых приедет. Особенно важно это для тех, кто на конференцию едет из другого города. Запланируйте с ними обеды-ужины-посиделки среди дня.
- В «резервации», то есть за пределами зоны докладов, стоят специальные будки. Чаще всего в них либо стоит эйчар и ПМ, либо разработчик инструмента. Правильные вопросы разработчикам: «Мы пользуемся вашей шнягой, есть что ещё интересное?», «А вот мы пользуемся вашим конкурентом, чем вы лучше?» и «Ты кто такой?» Можно узнать много нового и получить либо скидки на продукты (они пригодятся компании), либо ключи на триальные версии с ограничениями — это чтобы потестить в своей команде, и если пригодится — купить.
- С любым вопросом до конференции (вообще любым!) не стесняйтесь писать оргам. Все контакты у вас в билете, как правило. Ещё конкретно в нашем случае полезно отметиться, какие доклады вам наиболее интересны. По этому голосованию мы выбираем размер зала. Самые популярные идут в главный зал, а остальные — в залы меньше. Иногда бывает так, что в маленьком зале становится тесно: если не хотите тесниться — стоит голосовать.
- Кейтеринг дорогой, поэтому билеты без еды часто сильно дешевле. Да, можно взять бутерброды из дома (кофе и чай и так будут бесплатно), но если вам оплачивает компания, то надо пользоваться обедом на все сто. Для начала не используйте «писсуарную» рассадку, то есть старайтесь занимать не наиболее далёкое свободное место, а подсаживаться к кому-нибудь, кто не похож на эйчара. И дальше просто спрашивайте, кто и над чем работает, за столом. Получится хорошая дискуссия, которая рано или поздно дойдёт или до мордобоя, или обсуждения нюансов и всяких лайфхаков разработки, или рассказа о багах инструментов.
В общем, вот примерно так, шаг за шагом выстраивая хардкор (чтобы было больше нетривиальных знаний и экспертов) и убирая всё малополезное (рекламные доклады и банальные будки на выставке), мы дошли в какой-то момент до того, что задачи с Джокера и .NET стали использовать на технических собеседованиях, а в некоторых вакансиях посещение Joker/JPoint стало «плюшкой» для продвинутых инженеров. Ну и к нам возвращаются участники JUG, поэтому с каждым годом конференция всё больше и больше.
Ну и напоследок — рассказ от одного из наших постоянных гостей конференций:
«Ну, такой наиболее яркий пример — это, например, доклад Романа Елизарова «Ожидай своего счастья без блокировок». То есть после его доклада я начал экспериментировать с его информацией, которую он дал. Через полгода у меня было решение, которое внезапно пригодилось на работе. То есть очень сильно продакшн удалось разгрузить. Много чего у Алексея Шипилёва: всякие нюансы, которые помогают более тонко осознавать, что я вижу при профайлинге. На всяких метриках с продакшна. Вот сегодня я уже три полезняшки успел снять, которые я, как приеду, буду смотреть, как это применяется… Инструмент для поиска deadlock'ов превентивный. Это профайлер от Куксенко, который тоже не есть код, который обычно профайлер не берёт, и я не мог понять, чего с этим делать. Теперь я хотя бы знаю, куда я смогу копать… Я просто фотографирую, записываю по ходу дела. Ну, и плюс «Разбор Полетов» узнал оттуда же. В результате я сейчас постоянно вишу в их чате, и там опять-таки со специалистами можно обсудить, с тем же Алексеем (не далее как во вторник он мне подсказал вещь, которую мне срочно надо было, чтобы понять, что у меня на продакшне творится). И в принципе просто кругозор расширяется. То есть сначала я сам съездил, потом стал каждый раз кого-то из сотрудников притаскивать. В этот раз уже организация поняла, что польза есть, польза большая. Выделили большую квоту, и даже этой квоты не хватило, и кое-кто из наших приехал уже даже за свой счёт. То есть у нас тут сейчас целая шайка. И это, наверно, самый ценный источник информации, которую больше достать негде».
В общем, вот как-то так. Joker 2017 уже в продаже, кстати.
Комментарии (18)
glebsts
29.06.2017 18:28+5Вот так просыпаешься утром, а ты на главной хабра, и все знакомые шлют тебе эту ссылку… )
Конференция была хорошая, немало актуальных для работы тем, кое-что удалось применить потом. Был в первый раз. Спасибо оргам и спикерам!
/ Чувак с медведем.
nekoval
04.07.2017 10:31+2Конференции — это про не обучение, не про хайринг, не про оценку технологий и т.п.
Конференции — это туса, соответственно и цели должны быть другие — ну, например, поймать какого-нибудь редкого человека из Яндекса, спросить.
По моим личным ощущениям информация с профессиональных российских конференций в реальной жизни неприменима — у какого-нибудь Дойче или Яндекса человеческих ресурсов кратно больше и любую проблему решают, бросая туда целые взводы программистов. В небольших компаниях это не работает. Только «для общего развития» — послушать, как живут большие дяди, какие у них проблемы.
AllexIn
Вот прочитал статью и четкое ощущение возникло: Единственное зачем нужны конференции — это чтобы найти лучший оффер.
Потому что все остальное быстрее и эффективнее достигается изучением материалов: статей, книг, видео с тех же конференций.
23derevo
Каждый приезжает за своим. Кто хочет поменять работу — за оффером, кто хочет разобраться в технологии — за советами, у кого беда на продакшене — за рекомендациями лучших собаководов.
Насчет видео с конференций — да ради бога, они для этого и пишутся. Мы только за.
AllexIn
Вы наверное подумали, что я пытаюсь доказать ненужность конференций? Ну так это совсем не так. Как минимум — откуда будут браться видосы с конференций, если конференций нет? :)
Нет, я пытаюсь выяснить для себя, нужны эти конференции или нет.
Пока получается, что вот это всё:
можно получить и без конференций.
А конференции — это офферы и приятное общение по интересам.
23derevo
о, а как вы это без конференций получите?
AllexIn
совет спрошу на профильном форуме.
рекомендации — там же.
23derevo
на каком, если не секрет?
AllexIn
Я так понимаю вы ждете ответа по Java?
Тут я не подскажу, не мой профиль.
Мой профиль — Unreal Engine.
Спрошу на https://answers.unrealengine.com, например. Или в разделе Unreal Engine на форумах gamedev.ru, gamedev.net
Уверен по Java тоже есть профильные ресурсы, где можно задать вопрос и получить квалифицированный ответ.
23derevo
в каждой технологии принято свое. В той же Java, наверное, основной источник для «здесь и сейчас» — Stack Overflow. Форумы мертвые все.
Интересно, что где-то этот формат еще жив. Я думал всё.
AllexIn
А тот же Stack Overflow — это разве не вариант развития форумов?
Ну тогда извините, не правильный термин употребил.
Пойду на онлайн-площадку где общаются на профильную тему и там задам вопрос.
TheShock
По Юнити вполне жив и русскоязычный и англоязычный форумы.
skssxf
Если брать SQL и БД, то на форуме sql.ru куда более интересные вопросы и ответы, чем на SO, тем более, чем на русском SO. Форумы вполне себе живы.
TheShock
А еще ведь смузи, афтерпати и потусоваться в тусовке. И да — там иногда футболки раздают, потом приходишь в футболке и тебе все завидуют)
ildus
И наклейки интересные.
rombell
Я два главных приза в лотереях отхватил, и третий не получил, потому что забыл отдать листок с ответами. Польза реальнейшая!