Отгремел наш очередной InterLink Tech Talk Jul’2017! Захватывающие доклады, концентрация “2 айтишника на квадратный метр”, смех и улыбки, beer&snack, афтепати и даже афтеафтепати 😀 А изюминкой в этот раз стал приезд наших коллег со львовского офиса! Давайте вспомним что и как происходило.
Сетап, приветствие, рукошлепки, и началось. А началось все с доклада от Олега. На одной из КТ сессий Олег рассказал о сути бизнеса, для которого разрабатывается программное решение, где venues, musicians, and fans могут найти друг друга новым более доступным способом. А в этот раз, как Олег и обещал, он поведал технические детали, показал стек технологий, с улыбкой вспомнил некоторые из былых челенджей, многие из которых уже не видятся таковыми ;).
Олег упомянул чуток деталей об интеграции с Facebook, Twitter, SoundCloud. Одной из интересных тем оказался вопрос поиска информации по артисту, где через череду различных способов остановились на текстовом сравнении на схожесть, ибо сложно полагаться на какие-то уникальные идентификаторы от различных вендоров. В целом система как хамелеон легко подстраивается и стилизируется под любого исполнителя и место проведения музыкального ивента. Еще мы услышали про опыт работы с платежными системами, визуализацию отчетов, процессы в команде, про дружеские и увлекательные отношения с кастомерами. Конечно же, не обошлось без минутки ностальгии, где Олег вспомнил про истоки, как они с Ярославом весело начинали проект вдвоем: парное программирование в 4 монитора и т.п. :).
Не успела пошуметь кофемашина и задорный техгалдеж на кофе-брейке, как Толик начал свой интересный рассказ. Началось все с тезиса, с которым сложно не согласиться: “Современный мир – это один большой бизнес, в котором люди манипулируют деньгами, а деньги, соответственно, манипулируют людьми”. Законно возникают вопросы: “How much money do I get?”, “How much do I need to pay my bills?”, “Can I save money for the future?”. Вот здесь на помощь и приходит программный комплекс, в разработке которого участвует Анатолий.
Мы услышали много интересных технических деталей, где одним из главных топиков является работа системы с кредитными карточками и банковскими счетами. Это позволяет автоматизировать сбор информации о транзакциях, что в итоге дает системе понять, сколько человек тратит и зарабатывает. Исходя из этих данных система может предложить процент, который позволит формировать денежные сбережения. Но в мире банковских транзакций не все так просто, и автоматизация может даться нелегко :). Во-первых, банков и финансовых структур много, и чаще всего интерфейсы работы с ними достаточно разные. По этой причине и существуют различные мосты и агрегаторы (e.g. Yodlee, Plaid), которые уже “умеют” взаимодействовать с банками. А во-вторых, возникают вопросы связанные с периодическими транзакциями, для поиска которых можно применять алгоритмы сравнения на схожесть. Толя кратко упомянул и сравнил два таких алгоритма: Cosine similarity и Levenshtein distance. И еще раз из своего опыта Толик упомянул тезис из Agile Manifesto, который в очередной раз доказывает свою действенность: “Customer Collaboration over contract negotiation”. Ну, а завершился доклад рекламой twitter’а своего тиммейта, Ярослава, хобби которого – это украинский дубляж фильмов и сериалов ;).
А дальше пошел увлекательный интерактивный доклад от Саши, основанный на Sean “Day9” Plott’s “Be a better gamer”. Ключевая тема – это проблемы, которые создают в работе и жизни наши предположения, “Assumptions ruin everything”.
Первая же загадка про лифт привела нас к первому предположению, что “knowing secret = skill”, когда на самом деле умение – это процесс, постоянное изучение для понимания сути происходящего. Затем мы обсудили другое допущение, что “Broad variety of knowledge = skill”. Да, можно быть уникальным в своем роде как Элон Маск, но чаще всего стоит для начала углубиться во что-то одно, чтобы легче было изучать смежные и даже далекие темы, когда уже есть с чем провести аналогии и т.п. Если говорить коротко, то “Depth > Breadth”. Следующая головоломка про лампочку напомнила о таком допущении, как “If it ain’t broke, don’t fix it”. Но на самом деле мы можем улучшить то, что работает сегодня, а в помощь можно взять два известных принципа: YAGNI и KISS. Затем мы подошли к допущению “The System is flawed”, когда мы заходим в тупик, и считаем что это все произошло по вине “системы” 🙂 В качестве хорошего примера был упомянут отрывок из фильма “Игры разума”, когда в жаркий летний день студенты не знали, что лучше, оставить окна открытыми с шумом от строителей на улице, или закрыть их, создав менее комфортные условия в кабинете. В итоге, одна из студенток продемонстрировала элементарный выход из ситуации, посмотрев на ситуацию с другой стороны. И последним допущением, которое мы разобрали, было “If I gave a damn good answer, then I must answered the right question”. Отличным примером, который это объяснил, стал реальный случай с отелем, что еще раз подчеркнуло важный тезис: “будьте уверены, что вы отвечаете на правильный вопрос”.
Небольшая подзарядка мозга перед еще двумя классными презентациями:
После вкусного перерыва на обед зажигать начали Влад с Аленой 😃 Сначала брифинг, где еще раз упомянули про performance testing, про какие шаги не стоит забывать при подготовке и в какой очередности их выполнять. Также ребята рассказали один из best practices: уточняйте со всеми участниками проекта, что именно подразумевается под “performance testing”, и то мало ли кто как трактует это в конкретной ситуации 😉. Краткий брифинг окончен, и началось live show, где ребята с легкостью продемонстрировали jmeter karate! Шоу закончилось двузначным призывом “Increase your performance :)”. С дебютом, ребята!
Небольшой перерыв и Макс затронул старую добрую тему – обучение. Мы еще раз вспомнили один из важных тезисов: “Being an efficient learner is at least as important as being an efficient coder”. Дружно всплакнули по поводу суровой правды о том, что “You will never know everything you need to know to solve all your problems. This moment will never happen.”.
Еще раз согласились с тем, что обучение – это процесс, а не цель. Ну, и, пожалуй, самый главный посыл – это выходить из зоны комфорта. Но и здесь не стоит переусердствовать, чтобы не попасть в так называемую Panic Zone :). После всего услышанного можно подумать, что все это легко только на словах, а на деле ооочень сложно. И тут Макс приоткрыл нам мир обучения через игру. Конечно же, для многих это уже не новинка, но для кого-то будет лишним напоминанием, плюс таким образом мы сделали обзор новых сервисов. Мы посмотрели на знаменитую кучу таких игр – CodinGame, на интересный файтинг CodeFights. Также мы оценили первый уровень игры на сервисе от украинских разработчиков checkio.org, это классная штука, там есть два режима: отдельные задачки решать или программировать поведение своей колонии, завоевывать территории, отбиваться от нападений и т.п. Неплохое противостояние между JavaScript и Python 😜. Еще мы вспомнили о старом добром Ruby Warrior для изучающих этот многогранный язык, Git Game для изучения одноименной системы контроля версий, Vim Adventures для ищущих просветления 😉. Макс завершил обзор игрой Screeps, которая вышла в прошлом году. Это MMO игра для программистов, где ваши противники и конкуренты – это другие программисты в мире. Говорят, что может затянуть по полной программе 😀.
После завершения официальной части мы отправились на after party отметить отличное событие. Освежающий бриз, прохладительные напитки и душевная компания :).
Дальше последовала и after after party, но это уже совсем другая история ;).
Спасибо нашим спикерам за то, что всегда готовы делиться знаниями, заряжать нас позитивом и вдохновлять нас на новые свершения!
Post A Reply