company_banner

JPoint Student Day: зачем конференции «студенческий день»?

    Решение дополнить JPoint 2016 «молодёжным» днём (с возрастным ограничением в 25 лет) могло вызывать вопрос «зачем вообще это нужно». То, что основная «взрослая» часть прошла с размахом, неудивительно: на ней специалисты рассказывают о нюансах, которые не нагуглишь за три минуты. Но начинающих разработчиков, до этих нюансов ещё не дошедших, интересуют куда более базовые вещи, многие из которых были уже тысячу раз описаны. Зачем вообще тогда мероприятие, если можно дома пользоваться Stack Overflow? Что оно откроет людям, которые и так получают профильное образование? И что может дать один день тем, кому требуются ещё многие месяцы практики? Под катом — подробный рассказ о том, как прошёл Student Day, отвечающий на эти вопросы.





    На Student Day собралось около 300 зрителей — куда меньше, чем 1000 на «основной» части JPoint, но цель «переплюнуть взрослых» и не ставилась. То, что на этом мероприятии новички, обнаруживало себя даже в деталях: на «большой» конференции, стоит утром распахнуться дверям главного зала, как толпа устремляется смотреть открытие, но ещё не привыкшие к таким мероприятиям посетители продолжали общаться в фойе с роботом Федей.



    В ходе открытия программный директор Андрей real_ales Дмитриев сам поставил вопрос «зачем вообще нужно это мероприятие». Как он прямо признал, оно не сделает из собравшихся за один день продвинутых специалистов, за которыми гоняются работодатели. Но намерения впихнуть в зрителя за день миллион конкретных фактов и не было. Вместо этого Student Day призван работать на более общем уровне и помочь пришедшим лучше понять, в каких направлениях им стоит развиваться: разбираясь только с конкретными примерами кода, легко упустить важное в общей картине.



    На сцену во время открытия поднимались и спонсоры, и они в данном случае особенно важны. Для амбициозных новичков, ещё не успевших зарекомендовать себя, очень актуален вопрос трудоустройства. А спонсировавшие конференцию «Одноклассники» и «Сбербанк-Технологии» ищут не только матёрых бойцов, но и готовы воспитывать специалистов, начиная от джуниоров. В итоге конференция давала двум сторонам возможность познакомиться.

    Следом по вступительной части «Недостающее звено в обучении программиста», проведённой совместными силами Баруха Садогурского (JFrog), Романа Елизарова (DevExperts) и Олега Анастасьева (Одноклассники), можно было понять, почему профильное образование, вроде как призванное дать ответы на все «общие» вопросы, недостаточно хорошо справляется со своей задачей. Академический подход не вполне отражает потребности реального мира — и, например, в случае с многопоточным программированием, по мнению Елизарова, попросту упускает часть важных вещей.



    Поэтому после вступления, когда все разошлись по разным трекам, в главном зале тот же Елизаров перешёл к докладу о многопоточности, чтобы исправить ситуацию. Тем временем во втором зале Егор Бугаенко (Teamed.io) воспользовался тем, что зрители собрались ещё до начала доклада, чтобы расспросить их и узнать побольше о племени младом, незнакомом. Для него это было тем интереснее, что он основную часть жизни проводит в Пало Альто. Ему было любопытно, например, на каком языке аудитория предпочитает читать о программировании (появилось ли поколение российских разработчиков, которые с английским чувствуют себя лучше русского?) — зрители отвечали «на каком придётся», не отдавая предпочтение ни одному из двух. Обратил он внимание и на то, что в аудитории доля женщин была выше, чем на «взрослой» JPoint — похоже, гендерный перекос в программировании постепенно выравнивается.

    После вопроса зрителям о том, где они хотят находиться через десять лет, выяснилось, что большинство хотело бы покинуть Россию. Однако главная причина оказалась не финансовой или политической: собравшиеся критиковали «бардак в российских компаниях» и говорили о желании работать там, где культура программирования на высоте. И тут их ждал сюрприз: Бугаенко сказал, что по его опыту, на Западе ситуация как раз печальнее, потому что там «программист» уже стало из чего-то манящего рядовой профессией, и вместо энтузиастов, стремящихся достичь совершенства, в индустрию хлынули люди, желающие просто отработать зарплату. С его позицией наверняка кто-то поспорил бы, но начинающим разработчикам в любом случае полезно узнать такую точку зрения от человека из Долины — для кого-то это может сказаться на важнейшем жизненном выборе.



    Затем спикер перешёл непосредственно к своему докладу «Объектно-ориентированное враньё» — и в нём тоже принялся решительно рвать собравшимся шаблоны. Он с порога заявил, что зачастую человечество совершенно неправильно подходит к Java, вроде бы используя объектно-ориентированный язык, но не научившись объектно мыслить, и в итоге уничтожая то, чем ООП хорошо. Его доклад переходил от отвлечённых философских категорий («если мы представляем объект как живое существо, то мы должны доверять ему и не должны его предавать») к конкретному перечислению тому, что не надо использовать: «геттеры разрушают идею инкапсуляции, а Spring и Hibernate написаны с неправильным подходом».

    Доклад смело можно назвать спорным и холиворным. Как сам Бугаенко признал, накануне на «взрослой» конференции его доклад, в котором также критиковалось использование Hibernate, вызвал много возражений от специалистов. В книге Дэвида Уэста «Object Thinking», во многом вдохновившей его, автор тоже прямо во вступлении признаётся, что текст получился «controversial». Поэтому с позицией Бугаенко легко можно не соглашаться. Но в любом случае полезно узнать, что она существует, осмыслить её и тогда уже возражать — а не просто слепо использовать те же технологии, что и окружающие, не задумываясь о них глубоко. И задаться такими вопросами лучше поможет один подобный доклад, чем множество текстов о конкретных практических вопросах.



    Следом в главном зале Владимир Иванов (Oracle) и Никита Липский (Excelsior) совместно разбирали, что находится внутри JVM. Безусловно, эту тему можно и просто гуглить, но здесь ситуацию делал уникальной набор спикеров. Сотрудник Oracle, непосредственно работающий над JVM — уже куда более впечатляюще, чем человек со стороны. А здесь компанию ему ещё и составлял один из инициаторов альтернативной имплементации Java SE. Кому, как не им вместе, знать тему лучше всех?



    Барух Садогурский и Кирилл Толкачёв устроили «студенческую» версию баттла инструментов для сборки: идея была аналогична тому, что прошло ранее на основной конференции, но инструментов было меньше (Maven и Gradle, без SBT), а ликбеза для малознакомых с темой — больше. Одновременно с этим Антон Архипов в другом зале лез в байткод, и это показательный момент для конференции. Теоретически можно писать на Java, вообще ничего не зная о байткоде, и если изучать язык по пособиям вида «стань великим программистом за 24 часа», так и получится. Но осознавать, что именно происходит «под капотом», полезно, и конференция позволила собравшимся бегло туда заглянуть. За один доклад, разумеется, невозможно понять о байткоде всё, зато этого вполне достаточно, чтобы открыть новую важную для себя тему и дальше изучать её уже самостоятельно.



    Доклад Александра Маторина «Неадекватное Java-интервью» отчасти напоминал «Java 8 puzzlers» с «взрослой» части конференции: здесь тоже необходимо было решать, какой из вариантов правильный в той или иной ситуации. Но у Маторина вместо простого метода «поднимите руки» был использован веб-интерфейс: собравшиеся выбирали вариант на ноутбуках и смартфонах, после чего на экране выводилась статистика распределения голосом между вариантами. Это не только информативно, но и должно хорошо подходить психологически для начинающих разработчиков, смущающихся пробелов в своих знаниях: если не тянешь руку, а нажимаешь кнопку, никто не увидит, что ты ответил неправильно.

    Затем Михаил Глухих (JetBrains) рассказывал про Kotlin. Доклад о нём был и на «взрослой» конференции, но здесь получалось особенно актуально: молодые разработчики слушали про молодой язык. Возможно, среди них найдётся кто-то, пока что писавший только «для себя», у кого самый первый профессиональный проект окажется сразу на Kotlin?



    Наконец, в последнем слоте Вячеслав Круглов (T-Systems) рассказывал про работу с базами данных. Речь заходила об использовании Hibernate, и возникал резкий контраст с докладом Егора Бугаенко, критикующего использование Hibernate.

    То есть два доклада конференции чуть ли не спорили друг с другом. А это значит, что Student Day, в отличие от Stack Overflow, не подходит для бездумного копипейста: тут, чтобы извлечь пользу, надо начинать думать самостоятельно и делать собственные выводы.

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

    JUG.ru Group
    615,11
    Конференции для программистов и сочувствующих. 18+
    Поделиться публикацией

    Комментарии 20

      0

      А где-то можно увидеть видеоролик, который Роман Елизаров показывал на открытии? Где был перекрёсток с машинами.

      +1
      Не считаю, что на «взрослой» версии прямо уж информация недоступная для понимая студентам. Она может быть несколько сложной для совсем новичков, не более. Например, Александ Маторин вел курс по JAVA в прошлом семестре в универе. На каждой лекции было как на порядочном таком докладе «взрослой» ее версии.
        0
        Глухих, все-таки, Михаил, а не Дмитрий.
          0
          Упс, да, конечно. Кажется, я сбился из-за того, что на «взрослой» части конференции про Kotlin рассказывал Дмитрий Жемеров :) Исправлено, спасибо.
        • НЛО прилетело и опубликовало эту надпись здесь
            +1
            64 разрядами в процессорах, то есть «целыми числами и вещественными»

            как битность связана с «целостью» и «вещественностью»?
            • НЛО прилетело и опубликовало эту надпись здесь
                +2
                во, нашел комментарий :)

                Длинные регистры, насколько я понимаю, просто дорого делать.

                ну а когда очень надо — для шифрования есть специальные блоки в процессорах, они аппаратно шифруют без интов и лонгов. Рантаймы для этого используют интринсики. А для арифметики есть SIMD.
                • НЛО прилетело и опубликовало эту надпись здесь
                    +1
                    Для задач типа «про максимум в массиве кадра» можно использовать FPGA. Но еще надо думать о том, где этот массив хранится и кто его будет загружать на регистр.
                    • НЛО прилетело и опубликовало эту надпись здесь
                        +1
                        Я думаю, что те, кто говорит, что «это никому не нужно» — не очень далеки от истины. Есть спрос, есть предложение, есть монополии гигантов типа Intel, есть рынок, есть проблема с портированием кучи всего написанного на новые платформы.

                        Что касается размеров байта — тут тоже присутствует некоторая фикция, потому что в реальности физического байта практически нет. Есть кэш-линия, которая в современных мэйнстримовых процах — не менее 64 байт, то есть, размером с SIMD-регистр. Получается такое эффективное 64-байтовое целое, если хотите :)

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

                        По поводу конференции по процессорам и железу — я очень хочу такую сделать, честно. Мне очень нравится изучать, как все это работает.
                        • НЛО прилетело и опубликовало эту надпись здесь
            • НЛО прилетело и опубликовало эту надпись здесь
              • НЛО прилетело и опубликовало эту надпись здесь
              0
              А можно будет получить видео, которое было открытии конфы? Уж очень оно захватывает.
                0
                Да, конечно

                +3
                Сотрудник Oracle, непосредственно работающий над JVM — уже куда более впечатляюще, чем человек со стороны. А здесь компанию ему ещё и составлял один из инициаторов альтернативной имплементации Java SE.


                В общем-то одна из идей доклада было донести до слушателей, что JVM!=HotSpot. По этому фраза выше не совсем корректна: мы с Владимиром оба непосредственно работаем над JVM, но над разными :).

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое