Автор оригинала diliago
До этой недели слова про «саморазвитие на самоизоляции» были не очень актуальны для айтишников: они продолжали активно работать, у них не появилась прорва времени на книги или онлайн-курсы.
Но на майских праздниках время будет, и при этом по-прежнему надо оставаться дома. Как провести их, чтобы не было мучительно больно за бесцельно прожитые дни? И как при этом освежить голову, переключившись с текущих рабочих задач на что-то другое?
Мы считаем это подходящим моментом, чтобы получить знания не по своему основному профилю, а по смежным темам. Посмотреть по сторонам всегда интересно, но обычно до этого не доходят руки из-за горящих задач, а вот сейчас возможность есть.
Поэтому мы взяли видеозаписи наших конференций и составили плейлисты по необычному принципу: решили показать различным специалистам доклады не со знакомого им мероприятия по их направлению, а с других. Что джавистам было бы особенно близко на конференции по тестированию? А что фронтендеры могут узнать от дотнетчиков?
Если подборка понравится, обратите внимание: на наших летних онлайн-конференциях будет билет-абонемент, так что там тоже легко будет побывать «в гостях у соседей», узнав что-то новое.
Оглавление
В каждой части есть ссылка на полный плейлист, а затем описание некоторых примеров — чтобы стало ясно, почему мы считаем, что вас это заинтересует.
— Мобильным разработчикам
— Java-разработчикам
— .NET-разработчикам
— JS-разработчикам
— C++ разработчикам
— Тем, кто тестирует
— Несуществующим девопс-инженерам
— Специалистам по распределённым системам
Мобильным разработчикам
Примеры:
- Пока в бэкенде слово «девопс» произносят как само собой разумеющееся, про мобильную разработку нет даже консенсуса, можно ли его там вообще применять. И Владимир Иванов (dzigoro), которого отлично знают на Mobius, поговорил об этом на другой нашей конференции DevOops.
- На DotNext у нас был кейноут о том, как конкурируют компании и их платформы. А кому близка эта тема, как не мобильным разработчикам: у них две компании схлестнулись так, что треснул мир напополам, дымит разлом.
- Любой уважающий себя разработчик должен что-то знать и о тестировании мобильных приложений — такие доклады в изобилии водятся у нас на Heisenbug. Например, Юрий Дымов рассказал, как развивалось тестирование в Uber.
- А если хочется хардкора и железа, это к «плюсовикам»: на C++ Russia говорили об иерархии памяти в современных CPU.
- А на HolyJS — свои темы вроде «The visual future of reactive applications with statecharts».
Java-разработчикам
Примеры:
- Чем бэкендеров-джавистов может заинтересовать мобильная конференция? Есть очевидная точка пересечения: Android — это Java и Kotlin. И пока многие бэкендеры осторожно посматривают на Kotlin, мобильщики давно прошли конфетно-букетный этап и перешли к делу: рассматривают Coroutines API, Kotlin Multiplatform и эффективность Kotlin-кода. Вот можно по докладам и нагнать их!
- Другая тема, с которой сталкиваются и в Android, и в бэкенде: Gradle. Как бы его оптимизировать, чтобы сборка перестала быть мучительно медленной? Доклад Степана Гончарова об этом рассчитан на мобильных разработчиков, но пользу извлечь могут не только они.
- А ещё активнее темы, связанные с инфраструктурой и инструментами, рассматривают на DevOops. Даже если вы всегда далеки от «всех этих девопсов», уж с Jenkins-то наверняка сталкивались — и вам может быть интересно послушать про Jenkins X.
- Ещё с появления .NET его стали называть «майкрософтовским ответом Java», и некоторые причины на то были. Неудивительно, что джавистов и дотнетчиков зачастую волнуют схожие темы. Например, в этих мирах, помимо их «главных» языков, есть ещё и по функциональному (Scala и F#) — поэтому джависты и дотнетчики любят осторожно заглядывать снаружи в функциональный мир. На DotNext популяризатор F# Скотт Влашин говорил о композиции, а Роман Неволин (nevoroman) вообще утверждал «Вы пишете в функциональном стиле чаще, чем думаете» — и всё это может быть интересно послушать джавистам.
- Наконец, хочется верить, что вам есть дело до тестирования — и на Heisenbug его раскрывают с самых разных сторон. Вот, например, доклад «Статическое тестирование безопасности инструментами из open source»: там речь как раз о Java-мире, так что можно встретить знакомые названия вроде FindBugs.
.NET-разработчикам
Примеры:
- «Чо там у джавистов?» У них на JPoint / Joker многое похоже: например, тоже можно услышать слово «микросервисы». Вроде бы об этой теме говорят уже столько лет, что добавить уже и нечего. Но тут случай случаю рознь: например, у Одноклассников такие масштабы проекта, что когда они начинают говорить, джависты внимательно слушают — и дотнетчикам тоже стоит.
- А ещё, как известно, с джавистов началась платформа IntelliJ, с которой .NET-разработчики сталкиваются в Rider. И поэтому, когда один из разработчиков IntelliJ IDEA Тагир Валеев (lany) начинает рассказывать о том, как нестандартно он сам её использует, послушать интересно — даже если многое окажется неприменимо в Rider.
- Даже если в вашей компании для тестирования безопасности есть выделенные люди, иметь хотя бы общее представление о мерах против базовых атак надо. Да и потом, любопытно же, что именно недоброжелатель может сделать с вашим приложением. Об этом на конференции Heisenbug был целый ряд докладов: «Эффективный поиск XSS-уязвимостей», «Запрос не туда» (про SSRF-атаки), «Рекон и сбор скоупа перед тестированием на проникновение».
- На дворе 2020-й, а как-то получилось так, что вы ещё не запускали ни одного контейнера? На DevOops Джессика Дин поможет наверстать упущенное. А если это пройденный этап, и с Kubernetes уже освоились настолько, что даже захотели от него большего (перестала устраивать дефолтная функциональность podautoscaler), тогда для вас докладу Ивана Глушкова.
- А если все эти контейнерные вопросы кажутся детской вознёй, которая через пару лет сменится чем-то другим, и хочется чего-то монументального и хардкорного — попробуйте доклады с конференции по распределённым системам Hydra. Например, о том, как в Go имплементирована та «магия», которая дарит разработчикам легковесные горутины.
JS-разработчикам
Примеры:
- Как веб-разработчик может оказаться на конференции по C++? Например, в случае, когда речь идёт о переносе приложения на C++ в веб. Так произошло на C++ Russia, где рассказали о таком переносе с помощью Dart.
- На мобильной конференции Mobius название Dart тоже звучит. Сейчас в кроссплатформенной мобильной разработке больше всего слышно о Flutter — так что мобильные разработчики внезапно смотрят на язык из веб-мира. А сам Flutter сделан с оглядкой на React, и веб-амбиции у него тоже есть — в общем, веб-разработчикам должно быть интересно посмотреть на этот виток кроссплатформы.
- Может ли фронтендер быть полезен тестировщикам чем-то, кроме как починить всё то, на что они указали? Доклад «Как ложка JavaScript может не испортить ваши тесты?» с конференции Heisenbug прямо отвечает: может.
- Известно, что IT-компании активно конкурируют своими платформами, пытаясь заманить всех к себе — в вебе это помнят по браузерным войнам. А как эта конкуренция выглядит для людей из .NET, где даже сама экосистема изначально зависит от конкретной компании? На DotNext у нас был интересный кейноут, который будет интересен и JS-разработчикам.
- Хотя Java и JavaScript имеют примерно столько же общего, сколько кот и котангенс, доклады от джавистов тоже вполне могут быть интересны для JS-разработчика. Один из разработчиков IntelliJ IDEA рассказывает, как нестандартно он сам пользуется этой IDE — и это можно посмотреть просто из праздного любопытства, а можно задуматься «что из этого применимо в WebStorm, если она на той же платформе IntelliJ».
C++ разработчикам
Примеры:
- В предыдущем блоке разобрались, как веб-разработчик может оказаться на конференции C++ Russia. А в какой ситуации на конференции по JavaScript может звучать название «C++»? Когда речь идёт про WebAssembly — и в эту тему на HolyJS ныряли глубоко.
- Со стороны можно подумать, что в C++ настоящий хардкор, а iOS-разработчики со Swift плюшками балуются, пилят очередной фотошеринг с геолокацией. Но вообще-то и мобильные приложения могут требовать разбираться в железе и производительности — например, имеющие дело с видео. Бен Сандофски, создатель приложений Halide и Spectre, на Mobius выступал с темой «Building a Realtime video processor with Swift and Metal».
- И ещё о том, что в других экосистемах тоже не лыком шиты. На DotNext был доклад Александра Лаптева о квантовых вычислениях на языке Q#. Конечно, это нетипичное выступление, и в ближайшие годы вряд ли многим придётся на практике применять информацию оттуда. Но заглянуть в развивающуюся область, радикально отличающуюся от привычного нам мира — это всегда интересно.
- А вот где уж точно фундаментальный хардкор — так это на Hydra, где о распределённых системах говорят академические светила мировой величины. Например, Майкл Скотт, про которого есть статья в Википедии, выступал с докладом «Dual Data Structures».
- Ну и чтобы переключиться с квантовых компьютеров и структур данных на более привычный мир вокруг: на Heisenbug Елена Колпакова рассказывала о «тестировании интернета лифтов».
Тем, кто тестирует
Почему «тем, кто тестирует», а не просто «тестировщикам»? Разработчики пишут тесты — и мы в целом считаем, что они должны действовать заодно с тестировщиками, а не отгораживаться стеной. Неудивительно, что на нашей конференции Heisenbug встретить можно и тех, и других. И неудивительно, что на других наших конференциях, рассчитанных только на разработчиков, тема тестирования тоже освещается.
Примеры:
- У Java-библиотеки TestContainers уже больше 3000 звёзд на GitHub, а Сергей Егоров (bsideup) — один из главных её контрибьюторов. Неудивительно, что его доклад о состоянии дел в TestContainers на конференции Joker привлёк много внимания.
- На Mobius тоже возникла аналогичная ситуация «о решении для тестирования можно узнать из первых рук». Там в докладе [«Как начать писать автотесты и не сойти с ума»] рассказывали, какие в Kaspersky Lab возникли сложности с использованием Android-фреймворка Espresso и как их решали (спойлер: запилили Kaspresso), этот доклад тоже оказался популярным.
- А в JS-мире вообще практически нет людей, никогда не пользовавшихся Chrome DevTools. И тут тоже можно было узнать что-то от человека, который не просто пользовался инструментом, а работал над ним: о протоколе DevTools рассказывал Алексей Козятинский.
- О мутационном анализе у нас говорили на DotNext. Но, вообще говоря, эта тема к конкретному стеку не привязана — так что представить доклад с таким названием можно и на других наших конференциях.
- А на DevOops у нас был доклад не конкретно о тестировании, но тоже о вопросах качества кода и исправления проблем: «10 лет on-call. Чему мы научились?»
Несуществующим девопс-инженерам
Мы считаем, что определение «девопс-инженер» некорректное. Поэтому правильнее подзаголовок звучал бы так (просто это слишком громоздко): «Всем, кто имеет какое-либо отношение к DevOps».
Примеры:
- Зрителям DevOops давно не надо объяснять, что такое девопс и с чем его едят, а вот на других наших конференциях доклады «про девопс в целом» по-прежнему полезны. Барух Садогурский (jbaruch), выступая перед Java-разработчиками начал с провокационного тезиса «девопс — заговор сисадминов против разработчиков», после которого у многих полыхало. Но весёлым троллингом дело не ограничилось — вполне серьёзные соображения в выступлении тоже есть.
- На наших конференциях для разработчиков бывают и доклады с явно инфраструктурными теами. Например, на DotNext был «Serverless под капотом». И нет, это не о том, что «в serverless на самом деле тоже есть сервера»: это все знают, а вот залезть глубже интереснее.
- Можно считать себя суровым разработчиком на C++, который посвящает жизнь коду и далёк от всяких там девопсов — но при этом всё равно страдать от времени сборки. И на C++ Russia был доклад о том, как это время сократить — конечно, без инфраструктурных вопросов там не обошлось.
- Разработчики больших Android-приложений о времени сборки тоже думают много, и на Mobius был перекликающийся доклад: как можно оптимизировать Gradle, чтобы не было так мучительно больно?
- В связи с DevOps можно услышать, что «инфраструктура в виде кода» упрощает жизнь разработчикам. А на Heisenbug у нас рассказывали про «нагрузочные тесты в виде кода» — такое разработчиков тоже должно радовать. Главное, чтобы через пару лет сами разработчики были не в виде кода!
Специалистам по распределённым системам
Полный плейлист для Hydra
Полный плейлист для SPTDC
Мы занимаемся двумя мероприятиями, связанными с параллельными и распределёнными системами: конференцией Hydra и школой SPTDC. Понятно, что в первую очередь для них актуальны видеозаписи друг друга. И среди других наших мероприятий нет настолько же фундаментальных, все остальные более прикладные. Но это не значит, что зрителям Hydra на других наших конференциях не на что посмотреть: где-то возникают близкие им темы, а где-то просто можно расширить кругозор и узнать какие-то общие вещи.
Примеры:
- Вот пример близкой темы. Hazelcast — распределённая система, известная многим Java-разработчикам, и на конференции Joker Владимир Озеров расписал, как в ней устроена многопоточность.
- А поскольку тестировать распределённые системы тоже надо, о них заходит речь и на Heisenbug: например, в докладе «A systematic approach to building reliable distributed systems».
- Но на том же Heisenbug в кейноутах бывают и куда более общие размышления: например, Иван Ямщиков порассуждал о том, что общего между тестированием и анализом данных.
- Другой случай «давайте задумаемся о большой картине» был на DotNext: там Дилан Битти заговорил о том, что такое «стоимость кода» — переходя от прагматического ракурса почти что к философскому.
- А на DevOops масштабно мыслил Роман Шапошник: пока другие доклады связаны с текущим положением дел, он повёл разговор аж с 50-х. Для того, чтобы в такой перспективе лучше осмыслить текущее положение дел.
Если в плейлистах вы нашли что-то полезное для себя, то вам может быть интересен абонемент на наши летние онлайн-конференции. С ним тоже можно будет увидеть доклады по восьми разным направлениям, и это будет уже не просто запуском видеозаписей, а участием в мероприятии: с возможностью расспросить спикера, общением с другими участниками и разнообразными активностями.