Quantcast
Channel: Найцікавіше на DOU
Viewing all 8590 articles
Browse latest View live

Зарплата IT-специалиста. Что её ограничивает и как увеличить?

$
0
0

Когда-то это называли «бочка Либиха», сейчас — «теория ограничений». Если вы стоите в тянучке на мосту, то не важно насколько мощна ваша машина. Важна только скорость тянучки. И можно хоть второй движок поставить — скорость в тянучке от этого не поменяется.

Зарплаты ограничены одним, изредка — двумя факторами. Нет смысла работать с тем фактором, который не является ограничителем.

В этой статье — алгоритм действий «что ограничивает мою зп и что с этим делать?», реклама рисунков моей мамы и как бонус — теоретические рассуждения о вытесняющих нас с рынка труда роботах.

Внешние факторы

Рынок труда

Попробуйте представить себе директора, который говорит: «Я им плачу как джуниорам, а они уже по пять лет как синьоры, просто еще не догадались» и «Вася — нифига не умеет и проваливает все проекты, но он классный парень, и я плачу ему тройную зп синьора». Я могу себе такое представить, но это будет для Голливуда или ПорнХаба, а не реальная жизнь.

Единственное исключение — продуктовый стартап, который взлетел внезапно и очень высоко и который не ограничен в деньгах. Я таких всего два встречал, и то это были всего лишь короткие периоды длинной истории.

Я думаю, что рынок — это основной ограничитель.

Как проверить, что меня ограничивает именно рынок труда?

Заходим в раздел Зарплатыи начинаем клацать. Например, я свою нынешнюю работу могу при желании описать следующими строками:

ДолжностьПервый квартильМедианаТретий квартильАнкет
Remote Senior Ruby4100617571004
Remote Team Lead2800330040004
Kharkiv Senior Ruby2000300035003
Kharkiv Team Lead15002450300033
not Kyiv Senior Ruby24003000350018

Могу взять $50/hr, которые я беру за консультации, и перемножить на 176 hrs/month — но это будет уж совсем неправда.

Еще мне хочется выбрать верхнюю строку, и... что-то там мало анкет. Реально я могу опираться только на нижние две.

Более того — поговаривают, что зарплаты в анкете несколько завышены. Проверить это могут только HR из аутсорс-гигантов, так что я не знаю.

Если зарплата выше третьего квартиля

Значит, ограничивает таки рынок труда. Что можно сделать?

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

Зарплата попадает в вилку 1-3квартилей

Рынок труда, может, ограничивает, а может, и нет. Тут работают классические методы «поговорите с начальством», «подучитесь», «походите по собеседованиям». Если вы получили предложения лучше — зарплата, сохранность мозгов, график, отпуск и т. д., ок, значит ограничивает не рынок.

Если зарплата ниже первого квартиля

Половина сотрудников получает зарплату ниже средней! Это несправедливо!
© безымянный борец за справедливость с IQ ниже среднего

Если анкет достаточно, и должность и стаж соответствуют — ок, нас ограничивает не рынок труда. Смотрим дальше.

Стаж

У вас стаж — два года, а претендуете на зп синьора? Это нужно очень хорошо обосновать. Хорошо — это не так — «ну я же много работал», а так — «сделал вот это и вот это, придумал вот это, зафиксил чужой баг и никогда не ронял прод».

Как определить, что проблема в стаже? Подвигайте ползунками в результатах всё того же опроса. Учтите, что в анкете люди описывали себя так, как они себя видят. Начальство запросто может оценивать их совсем иначе.

Что делать, если таки стаж ограничивает? Стаж приходит сам по себе. Так что задача-минимум — это «не уволили», задача-максимум — это «убрать следующее ограничение за то время, пока меня держит стаж». Грубо говоря, «пока меня держат за джуна — получить знания крепкого миддла».

Частота смены работы

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

Если в резюме десять лет работы на одном месте на одной нетоповой должности... Опыт работы будет очень заточен именно под старого работодателя. Кого-то это может отпугнуть.

Имидж

Важно не то, как вы себя ощущаете, а то, как вас воспринимают работодатели. Для потенциального работодателя это первое впечатление, умение себя продать, умение попасть в ожидаемый образ. Для старого — карма. И там, и там — это софт-скиллы, столь не любимые программистами.

Знаю парня, который на собеседованиях обязательно рассказывает про единоборства, ножевой бой, готовность дать в дыню в случае наезда... ВсехМногихНекоторых работодателей это здорово отталкивает. Мало ли что он воспримет как наезд? Кто-то задумался о коде, случайно толкнул его возле кофемашины — получил сломанную челюсть. И как дальше?

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

Возраст, пол, семейное положение

На украинском рынке часто идет дискриминация по этим признакам. Идеальный сотрудник — это неженатый парень года этак через три после IT-вуза.

По себе знаю — я попадаю в те несколько процентов «старше 40» и в 1% по количеству детей. Является ли это критичным? Пожалуй, что нет. Но собеседования усложняет и на зарплату влияет.

Доказательство «от противного»: многодетная женщина может начать работу на Upwork, получить опыт и только после этого пойти в аутсорс. Это намного сложнее и так непростого обычного пути, и при этом всё равно возможно.

Как проверить? Сделайте анкету на Djinni/Upwork. Там можно поиграть с подробностями.

Английский

Интернациональный проект. Разработчики из пяти стран. Язык общения — английский. Все друг друга ± понимают, кроме одного парня, которого все понимают с большим трудом. Всё бы хорошо — курсы английского отстающим в помощь, но он нативный американец, для него английский — родной.
© моя история многолетней давности

«Я не понимаю того языка, на котором говорит заказчик. Это он должен говорить медленно и просто или я должен учиться его понимать? Даже если он из Техаса, картавит и заикается?»

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

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

Если мне нужна эта работа, хотя я легко найду и другого заказчика за эти же условия, а ему нужны мои навыки, хотя он легко найдет и других исполнителей — то однозначного ответа нет. Ищем компромиссы, а умение понимать друг друга будет частью контракта вместе с деньгами.

Как понять, что меня ограничивает именно английский?

  • Дают такой отзыв на собеседованиях. Кстати, часто говорят про английский, когда просто стесняются сказать, что «вы хреновый программист» или «слишком много хочешь».
  • Для позиции тимлида/PM/etc не получается поговорить с бизнесом.
  • Для позиции миддла+ не получается читать и писать документацию.

Узкая специализация

Любая работа заканчивается либо уходом, либо увольнением. Даже в браке есть более оптимистичный сценарий завершения — один из партнеров умирает первым.

Ладно, для зануд — да, есть шанс, что вы умрете на именно этой работе.

Признаки:

  • Между увольнением и новой работой проходит много времени.
  • Нет вакансий по профилю. Кстати, разрыв стажа многих менеджеров напрягает: «А чего у него прошлая работа закончилась в сентябре, а к нам на собеседование пришел в декабре?».

Удалось найти вакансии по профилю? Нет? Ну тогда поздравляю — у вас два выхода:

  • Умереть раньше, чем ваша компания закроется. Мне такие гонки очень не нравятся, но каждый взрослый человек имеет право распоряжаться своей судьбой.
  • Сменить профиль. Если совсем уж честно, то нужно вложить все силы в учебу, а работу на старом месте оптимизировать так, чтобы выгнали как раз к моменту окончания учебы.

Тут может быть очень много оговорок. Может, вы регенерин разрабатываете или марсоход водите, хотя я тогда нифига не понимаю, зачем вы дочитали досюда.

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

Могут взять. Просто от безысходности. И быстро уволить при первой возможности.

Начальство

«Наибольшую прибавку можно получить при смене работы». Слышали? Если в других фирмах предлагают лучшие условия, а тут вы не можете выторговать, то варианты:

Шеф — жадный балбес. Или любит унижать подчиненных

Новорожденный может кричать — и это единственно доступный ему способ изменить мир. Есть начальники, которые считают этот способ наилучшим.

Редкость, на самом деле, особенно в небольших компаниях с парой уровней иерархии. Таких быстро съедают. Конечно, если вы выбрали работать в госсекторе или в банке... Ну, зачем-то же вы это сделали? Наверное, вам это зачем-то надо. Ниже будет.

Как проверить?

  • Сотрудники уходят. Текучка выше среднерыночной. Те, кто остаются — малоактивны и пофигистичны.
  • Правила сложны, непонятны и не пересматриваются.

Note: Зачастую от шефа-балбеса лучше уйти, иначе сам балбесом станешь. Они размножаются путем медленного инфицирования подчиненных.

Шеф умеет торговаться лучше, чем вы

Продажник программиста переговорит всегда. И тот даже не заметит факт переговоров. Если это продажник, то запросто он будет исходить из принципа «минимальная зарплата так, чтобы не ушел». Тогда ограничитель здесь — именно внутренняя готовность уйти. До переговоров записываешь (важно письменно) цели мин и макс «не смогу получить +$300 до января — уйду. Получу +$500 до января — буду очень доволен».

Как проверить?

  • Что у шефа в биографии?
  • Насколько легко мне даются переговоры в других местах?
  • Если сказать «я ухожу», то можно получить и 2*х. Впрочем, уходить тут всё равно надо.

«У меня есть предложения от других компаний, а тут я не могу получить прибавки» — это верный признак слабых навыков в переговорах. Кому-то помогает ораторское искусство, кому-то йога, кому-то психотерапия. Последних — больше. Навыки в переговорах нельзя усилить рывком. Поэтому тактически проще свалить, а стратегически — лучше научиться. Не последний раз всё-таки.

У компании нет денег

Знаю, в это сложно поверить, но так бывает. Не все компании печатают деньги и могут отдать их сотрудникам. Свежий пример я нашел во время своего мини-исследованиямедреформы — есть украинский стартап в области eHealth. По сути — осуществляет техническую поддержку той самой медреформы. Ему сложно конкурировать по зп даже с аутсорсерами. И выгода для инвестора на выходе там будет гораздо меньше, чем у типичного продуктового стартапа.

Еще один пример — это аренда офиса «на вырост»:

  • Вначале все сидят вольготно. Всем хорошо, а то что «лишние» квадратные метры идут в т. ч. из зарплатного фонда — сотрудники не замечают, а руководство замалчивает.
  • После роста компании в офисе становится тесно. Зато экономично. Руководство часто сидит в более привилегированных условиях, так что проблемы замечает по «что-то шумно», «что-то КПД вроде падает» и «что-то много синьоров ушло». Причем все эти проблемы с офисом могут быть и не связаны. А могут и быть.
  • Найм новых людей и уплотнение сопровождается ворчанием старичков «ну нормально же сидели».
  • Переезд в новый офис всегда вызывает бурление и сопротивление. Как и любые изменения, пришедшие «снаружи». На одного человека, кому стало удобнее, найдутся трое, кому стало хуже. Кстати, этот один будет молчать, а эти трое будут кричать.

Как проверить, что у компании нет денег?

  • Раньше повышение давали, а теперь перестали?
  • Обещают повысить через n месяцев. Если повысили — всё ок. Если нет — ну фигня.
  • Обещают опционы/доли и т. д. Вернейший признак, что денег нет сейчас, а будущие доходы очень призрачны.
  • Босс не покупает себе новую яхту/машину.
  • Начали задерживать зарплату.

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

У начальника ограниченная власть над вашей зп

«Я не могу ни уволить, ни на зарплату не влияю. И при этом если он не работает, то это мой провал!» — это частая жалоба тимлидов и PMов. Вы можете быть суперклассным, но если зарплату на самом деле регулирует человек, который о вас ничего не знает, кроме «он работает с этим новеньким PM, как там его? Ну в общем не важно, какие-то они никакие».

И здесь есть варианты:

  • Надеяться, что ваш тимлид научится отстаивать зп команды. Пассивная жизненная позиция, не надо так.
  • Поговорить с тимлидом. Потом еще поговорить. Пусть давление снизу будет сильнее страха перед большим боссом.
  • Поговорить с большим боссом напрямую. Это не так страшно, хотя заранее стоит подготовить себе ответы на вопросы:
    • Как моя зп попадает в вилку?
    • Что я делаю такого, что не делает никто больше?
    • Какую минимальную/максимальную прибавку и когда я хочу?
    • Что я буду делать в случае не попадания даже в минимальную?
    • На самом деле, я хочу прибавки или другой работы? А за прибавку я просто готов терпеть эту работу и этих людей?

У большого босса ограниченная власть над вашей зп

Если владелец не очень жадный, сотрудников не боится, зарплаты ± рыночные, то вот тут и начинается дележ денег. Прибыль акционеров, реклама, оплата новых фич, офис, соцпакет — между ними и нужно разделить фиксированную сумму. Акционеры считают, что их прибыль важнее. Сотрудники — что зп «выше рынка», офис и соцпакет — еще важнее. А вот владельцу уже надо распределять пропорции, это отдельный скилл. Особенно если сумма отрицательная.

Обычно у айтишной компании всё сложно с владельцами. Т. е., конечно, есть основатель, но в своё время он по каким-то своим причинам пригласил партнеров и инвесторов.

  • Партнеров — потому что они умели что-то такое, что не умел он.
  • Инвесторов — потому что нужны были деньги на зп программистам. Минимум до первого поступления денег — это год работы команды из нескольких человек в течение года ~100 килобаксов. Я думаю, что такие суммы остались в прошлом, и сейчас нужно раз в 10 больше. Это до первого поступления денег. До безубыточности — в разы дольше.

И вот где-то рядом с точкой безубыточности эти самые партнеры и инвесторы начинают тянуть основателя в разные стороны:

  • «Я сделал рискованное вложение, теперь просто хочу отбить деньги».
  • «Если мы сейчас сделаем вот эту фичу, мы вытесним конкурентов».
  • «У тебя на проекте не хватает экспертизы по маркетингу. Найми. Да, дорого. И платим из общего кармана».
  • «Тебе нужен офис продаж в США. И пара разработчиков там же. Да, это дорого, зато клиентам это важно».
  • «Слушай, я видел, что твои разработчики ходят с четвертыми айфонами. Ты им что, недоплачиваешь? Сделай им хотя бы четырехдневную рабочую неделю!».

Note: это больше про продуктовые стартапы, чем про аутсорс. У аутсорса другая беда — нужно накопить подушку безопасности на случай внезапной потери заказа или увольнения ключевого сотрудника.

Выводы:

  • Большой босс обычно не обладает полнотой власти.
  • Разработчикам обычно пофиг на полноту власти большого босса.
  • Партнерам/инвесторам обычно пофиг на интересы незнакомых разработчиков.

Попадание в бизнес-цели

У меня был проект, где код ужасный. Я говорил: «Давайте отрефакторим» — отказывали. Потом объяснили. Дело в том, что код достался от индусов и архитектура его была изначально ущербной. Поэтому любую проблему можно было валить на авторов этого поделия. Более того, работа с этим ещё и оплачивалась на 20% выше.
Если же отрефакторить... во-первых, заказчику эту работу надо продать. Во-вторых, после рефакторинга неизбежно вылезут баги. В-третьих, не получится уже спихивать проблемы на архитектуру (вы ж рефакторили). Так что заказчик и дальше продолжал платить больше, а программист (то есть я) — плакать, колоться, но продолжать жрать кактус.
© Vladimir Kozhaev

Если вы отрефакторите код и этим отберете прибыль у компании — они вряд ли захотят отдать еще и вам деньги. Для меня это значит, что мне эта компания не подходит. Ну и я этой компании не подхожу. Если меня прижмет — я подстроюсь, но насколько сильно нужно чтобы меня прижало?

Попадание в личность

Условная и очень спорная шкала развития:

  1. Писать код.
  2. Писать хороший код.
  3. Писать код, который дает прибыль компании.
  4. Давать выгоду компании.
  5. Давать выгоду компании так, чтобы при повышении зп об этом помнили.
  6. Чтобы тот человек, который может поднять зп, — захотел это сделать. Разница с предыдущим — выгода компании совсем не обязательно связана с его желанием.

Последний пункт — имеет много этических нюансов. Очень коротко примеры из реальной жизни:

  • Сотрудник отлично справляется с задачами, дает стабильно хороший результат. Но для директора очень важна ценность «непрерывное обучение». И этому сотруднику с этим директором повышение не грозит.
  • Сотруднику важно сделать всё правильно: «Если делаю — то делаю хорошо». Директору важно сделать всё вовремя и «keep it simple, stupid», а уж потом переделать. Тоже шансы на рост зп невелики.

Note: если бы сотрудники из этих примеров поменялись работой — у всех четверых жизнь была бы более счастливая. Статистически.

Насилие

Вас держат на работе насильно? Мигните три раза, и мы напишем петицию на change.org!

Внутренние факторы

Многие люди говорят, что хотят изменить свою жизнь.
Хотя как именно — сформулировать затрудняются.
Просроченная бутылка кефира изменяет жизнь — короткий контролируемый эксперимент, дающий почву. для сравнения.

Ваше желание

  • Вам это место нравится? Может, вы тут делаете что-то такое, что в другом месте не найдешь? Или можно ничего не делать? Или тут есть возможность удаленки? Или перспективы трактора? Только честно. Возможно, здесь есть возможность поныть, а в другом месте не будет. Или еще тысяча причин. Не важно, ограничитель — не здесь.
  • Мне в свое время хорошо помогли консультации по скайпу Дмитрия Снисаряи Володи Станчишина.

Привычка

Типичная история программиста:

Я начал программировать и устроился на работу. Я начал программировать лучше — и мне подняли зп. Я научился еще лучше — и мне опять подняли зп. Я перешел с Asm на Asm.js, и зарплата подскочила.
Я за годы привык, что я становлюсь лучшим программистом — и мне повышают зарплату. А теперь мне дали бейджик «тимлид» и балбесов-помощников. У них не получается — балбесы. Что я буду делать? Пойду перепишу всё их творчество по-нормальному.

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

Если привычки ограничивают рост — значит стоит решить, что важнее: привычка или рост.

Концентрация и усидчивость

Можно классно знать тему и великолепно проходить собеседования. Но если от работы непрерывно отвлекаешься, то толку не будет.

Можно вкладывать огромные усилия — но без цели и обеспечивающей эту цель системы действий повышения не будет. Знаю человека «войти-вайти», не получается именно из-за бессистемности.

Note: есть и обратная сторона медали. «Я нервничаю, что не могу приступить к работе» — «Чтобы унять нервы, я читаю новости и играю в игры» — «Я чувствую себя виноватым и иду кушать». Не надо так.

Бонус: роботы и джуниоры вытеснят людей с рынка труда

Провокационный заголовок, правда? А некоторые так и думают.

Рынок лопнет

Интернет перенасыщен рекламой IT-курсов и мифов о золотых в горах в IT-сфере.
После прочтения той публикации N несостоявшихся (или пока ещё несостоявшихся) врачей, водителей, бухгалтеров, машинистов, военных и безработных попрутся в IT. Со временем будет реальный переизбыток специалистов, т. к. все хотят много денег, «как в IT». Зарплаты будут такие же, а требования будут расти. ... Ибо закат IT-моды очень скоро, и перенасыщенный мыльный IT-пузырь неизбежно лопнет.
© отсюда

Оставляю за скобками страх человека о появлении конкурентов и «покайтесь, грешники! Следуйте моим правилам, и всё будет хорошо. У меня».

Спрос на айтишников действительно когда-нибудь упадёт. Или трансформируется. Так было с химиками, авиаторами, радиоинжинерами, так будет и с айтишниками. Энтропия неизбежна.

По каким признакам я увижу, что спрос на айтишников идет на спад? По падению вакансий/зарплат синьоров.

Программистов вытеснят роботы

Задумался на тему «как я узнаю, что роботы готовы вытеснить программистов из рынка труда?»

Вспомнил попытки автоматизировать работу программиста на моей памяти: часть прижилась, например высокоуровневые ЯП и ORM. Часть — не прижилась, например генерация БД по UML. Часть — кое-как живет, типа wysiwyg-HTML. Сорок лет назад программисту было очень полезно знать электротехнику для работы, тридцать — низкоуровневую работу с железом, двадцать — особенности ОС, десять — особенности базы, сейчас — особенности ORM важнее. С каждым годом мы собираем программы из все более крупных и умных кусков, а под капот нужно смотреть все реже. Как автолюбитель на ГАЗике должен был уметь собрать-разобрать свою машину, а вот на новом BMW — уже нет.

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

Посмотрел на задачи в таск-трекере проекта. «Пройдись по коду, посмотри на жалобы static analyzer, отрефакторь» — однозначно подлежит автоматизации в ближайшее десятилетие. JetBrains работают очень мощно в этом направлении.

«Пришли новые мокапы, сделай верстку» — со скрипом таки возможно. Почему со скрипом? Потому что любая верстка потом много раз переделывается «добавь подсказку так, как сделано вот там. А вот тут — слайдер». Это где-то на грани возможностей слабого AI. Конечно, возможны схемы «робот генерит код, человек допиливает». Но автогенерированный код обычно сложен для человеческого понимания, а задать вопрос «почему здесь так, а не так?» — сложно. Такие попытки многократно уже были, они всегда приводят к новым специализациям «я владею инструментом X для конвертации PSD в HTML+CSS».

«Исправь обработку XFER-операций так, чтобы у аккаунта 1234 на графике выбросов не было» — штоа? Про эту задачу программист будет задавать вопросы. Много вопросов на понимание бизнес-области и много вопросов на структуру приложения. Может ли AI задавать такие вопросы? Может. Сильный AI — может. К моменту, когда появится сильный AI, наша жизнь уже будет настолько другая из-за слабого AI, что говорить об этом сейчас просто смешно.

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

Короче, пиши код.

Неквалифицированный труд

Прочитал годную статьюо влиянии роботизации на рынок неквалифицированного труда в США за последние пару лет. Если коротко, то людей, занятых тяжелым неквалифицированным низкооплачиваемым трудом, увольняют. И они находят еще более тяжелую и низкооплачиваемую работу. С какой-то натяжкой можно что-то похожее найти и у нас. Таксисты были королями до появления диспетчерских, продавцы на рынках вполне хорошо себя чувствовали, пока торговля много чем не ушла в онлайн, клерки в банках — на подходе судя по монобанку. Пусть я и не люблю владельца — Тигипко, монобанк — огромный шаг вперед.

Когда человек попадает на худшую работу, чем была — тем меньше у него времени и сил на самообучение. Чем меньше времени и сил на самообучение — тем меньше шансов на лучшую работу. Воронка затягивает.

Какие выводы тут для меня лично?

  • С невостребованной специальности/специализации нужно уходить. Спрос на язык падает? Уйди в первой половине. На Delphi/десктопе я засиделся десять лет назад, чудом соскочил.
  • «Работа на всю жизнь, еще и детям передам» — ха-ха три раза.

Предсказание на будущее: явно будут люди, которые не захотят переучиваться. Или захотят доказать, что они хотят, но не могут. «Я двадцать лет работал водителем, у меня от офиса голова болит». И часть из них действительно не сможет — если нет ни IQ, ни силы воли на усидчивость. Вот эти все люди будут требовать от государства и меня как налогоплательщика денег и безбедной старости.

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

Тему базового дохода и т. д. я специально упустил.

Выводы

  • В долгосрочной перспективе роботы айтишников с рынка труда не выдавят. Технологии поменяются, а люди останутся.
  • В кратко- и среднесрочной перспективе на зарплату можно влиять. Хотя не всегда нужно.
  • Влияние на зарплату окажет продвижение только по тому фактору, который зп ограничивает.

Рисунки

В каждой статье я вижу классные отзывы о рисунках. Мама с удовольствием нарисует под заказ — 50 грн/шт. Пишите мне в личку.


Как я работаю: Руслан Шевченко, System Architect в IOV42

$
0
0

[В рубрике «Как я работаю»мы приглашаем гостя рассказать об организации своего воркспейса, полезных инструментах и лайфхаках]

Руслан Шевченко — системный архитектор в стартапе IOV42, занимается координацией действий команд разработки и проектированием «узких» мест и алгоритмов. До этого более 20 лет разрабатывал проекты в сфере телекома, рекламной индустрии и финтеха, работая в GradSoft, VertaMedia, GoSave, StrikeAd и NBI.

Помимо карьеры в IT, Руслан занимается наукой. В 2001-2007годах был научным сотрудником в Институте программных систем НАНУ.

Участвует в конференциях, публикуется в реферируемых журналах. Один из авторов монографии «Методы алгебраического программирования». Кроме этого, Руслан написал более 40 статей для DOU, среди которых — ежегодные рейтинги языков программирования, а также дайджесты по Scalaи R.

Возраст и опыт: 45 лет, 25 лет работает в ІТ.
Модель смартфона: Samsung Galaxy S6 Edge.
Модель ноутбука: MacBook Pro (Retina, 13-inch, Early 2015).
Суперспособности:Умеет проектировать системы, которые достаточно сложны, чтобы решать нетривиальные задачи, но достаточно просты, чтобы быть технически реализуемыми. В этом помогает кругозор, выработанный годами опыта в академии и индустрии.

— Как проходит ваш типичный рабочий день?

Просыпаюсь около семи. Если есть настроение и текущая задача — достаю ноутбук и пытаюсь что-то сделать, пока домашние спят. Правда, они тоже встают в 7 :) Дальше все зависит от того, что запланировано на день. Могу выделить два шаблона своего рабочего дня: это либо общение, либо разработка — зависит от стадии цикла итерации разработки.

В день общенияу меня, как правило, запланировано несколько совещаний. Между 10-юи 12-юя приезжаю в офис и нахожусь там до вечера, часов до 20-ти.В то время, когда нет обсуждений, пристраиваюсь с ноутбуком в опенспейсе.

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

Каждый час-полтора я стараюсь выйти на 5-10 минут,пройтись — пусть хотя бы в пределах квартала.

Прихожу домой как раз к ужину с семьей. После 22-хчасов обычно читаю статьи, реже книги, или пишу какие-то заметки.

— Какие гаджеты, девайсы используете ежедневно?

Для разработки — ноутбук. И телефон — он позволяет быть на связи и оперативно видеть все уведомления в Slack. Иногда участвую в совещании по телефону, пока еду в машине.

— Как выглядит ваш воркспейс? Какими инструментами пользуетесь?

К воркспейсу у меня нет особых требований: я просто ищу место, где можно присесть и раскрыть ноутбук. Несколько раз пробовал столы с подъемным механизмом. Недавно заказал себе такой, но пока еще не успел составить о нем мнение.

Основные инструменты для взаимодействия с командой — Slack и Jira. Конечно, почта, One Drive, Git. В общем-то, ничего необычного :)

— Используете ли какие-то практики по тайм-менеджменту?

Один фокус внимания: то есть обычно нам нужно уделить внимание 3-4 направлениям,в каждом из них есть одна главная задача — ею и занимаюсь. Если в плане оказывается больше задач, это говорит о том, что я не в фокусе, и надо отделить главное от второстепенного.

Практикую принудительное переключение между квантами времени на задачи. То есть когда заканчивается время, которое я выделил на одну задачу, я прекращаю над ней работать и перехожу к следующей. Иногда это бывает сложно, но иначе есть риск зависнуть на чем-то одном и в итоге ничего не успеть.

— Как часто проверяете почту, соцсети, мессенджеры?

Заголовки нотификаций вижу постоянно, но непосредственно читаю почту утром и вечером. Соцсети — также постоянно в фоне, но уделяю им внимание 2 раза в день. Мне всегда неловко, когда нет времени ответить на чье-то письмо или сообщение, так что тот же LinkedIn — в каком-то смысле постоянный источник фрустрации :)

Facebook — на 90% источник развлечений, чем рабочий инструмент. Но и там есть полезные коммуникации по разным моим проектам, например, по ScalaUA. Хотя чат организаторов конференции по историческим причинам — в Skype.

Twitter дает иллюзию, что ты на связи с многими знакомыми :) Оттуда читаю новости, перехожу по интересным ссылкам.




— Ваш любимый to do менеджер?

Какой-то определенный любимый выделить не могу. Задачи по разработке — в Jira. Мне кажется, что если вам приходится записывать все задачи, вы просто не знаете, что для вас главное в текущий момент.

— Сколько часов в неделю работаете?

Около 40-45часов (по оценке жены — 60, так что, если усреднить — часов 50-52).Но мне бывает трудно разделить работу и хобби, так что получается по-разному. Вообще стараюсь не перерабатывать, чтобы было порядка 8 часов в день. Обычно на практике выходит больше.

— А отпуск часто берете?

Где-то два раза в год. Обычно беру неделю, чтобы куда-то съездить с семьей. Еще стараюсь раз в год выбраться на какую-то хорошую академическую конференцию — например, SPLASHили ECOOP. Там тоже, в общем-то, отдыхаю.

Есть такой анекдот об увлечениях ученых. Математика спрашивают: «Над чем вы работаете?» — «Над уравнениями Фредгольма І рода». Задают второй вопрос: «А в свободное время чем увлекаетесь?» — «Уравнениями Фредгольма IIІ рода!». Вот и у меня как-то так :)

— Что вас вдохновляет?

Книги. Природа. Семья.

Еще — посещение топовых конференций. Это позволяет увидеть, на чем сфокусированы люди, оценить уровень разработок, свой уровень и уровень коллег. Иногда полезно побывать на выступлениях не столько по той области, которой я сейчас сам занимаюсь, сколько по смежным областям.

— Что помогает быть продуктивным?

Смена контекста — просто прогуляться или глобально съездить куда-то. В бытовой привычной жизни человек вырабатывает автоматизмы: это экономит время в рутинных задачах, но притупляет свежесть восприятия в творческих. Когда куда-то едешь, полностью меняешь контекст, то старые автоматизмы сбиваются — и умственная продуктивность возрастает.

Также считаю, что продуктивность нельзя измерить по шкале от 0 до 10: это, скорее, набор разнонаправленных векторов. Есть продуктивность креативности, есть — реализации уже продуманного. Важно, чтобы за этапом креативности следовал этап реализации.

Полагаю, что серьезно можно заниматься чем-то одним, иначе ничего не получится. Поэтому основное время уделяю текущей работе в IOV42. Уже остаточное время — на развлечения, в основном в режиме реагирования на запросы. Обращается научный руководитель: «Руслан, скоро этап по диссертации». Я бросаю все и занимаюсь диссертацией. Жена говорит: «Давай куда-то съездим». Я бросаю все, и мы куда-то едем :) Так внешние рамки формируют время — не знаю, насколько продуктивным получается распределение, но как-то получается.




— Вы экстраверт или интроверт?

Интроверт.

— Что последнее прочитали или читаете сейчас?

Последнее прочитал:

Cейчас в очереди на чтение:

Люблю биографии и мемуары, а также околонаучные вещи. Для DOU составлял ТОП-5 книг, которые повлияли на меня в профессиональном плане.

Художественную литературу практически не читаю.

— С кем из известных личностей хотели бы встретиться? Что бы спросили?

Сложно сказать. У меня были встречи с известными в своей области людьми, но так чтобы общаться — я особо не общался. Если есть какой-то вопрос, который интересует обе стороны, можно его обсудить. Иногда это интересно, но чаще — тривиально. Нетривиальные вещи требуют другого формата.

Замечал, что люди, которые делают что-то существенное, часто бывают ослеплены тем, чем они занимаются. Они озадачены тем, как донести свое видение, а не понять чужое. Наверное, у меня тоже есть подобная аберрация. А совместное видение, возникает уже дальше в процессе работы.

Однажды я сказал собеседнику, что его статьи на меня повлияли. Видел, ему было приятно :) Но гораздо чаще молчу.

— За что любите и не любите свою работу?

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

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

Во-вторых, все очень медленно. Чтобы сделать что-то нетривиальное, нужно минимум полгода. И все это время ты рассказываешь всем практически одно и то же.

И в-третьих, ощущается вечная нехватка времени.

— Что бы вы посоветовали себе 10 лет назад?

Не планировать потенциально бесконечные вещи с открытой датой. Гораздо лучше думать в терминах череды проектов, каждый из который сравнительно небольшой и может быть как-то применен или опубликован. Маленькие вещи в реализации часто оказываются большими, а большие — бесконечными.

А также не надеяться на то, что ваши бизнес-партнеры будут разделять ваши интересы.

— Кем себя видите через 5 лет? :)

Сейчас локальный план — поставить «на крыло» текущий стартап. Дальше будет видно.

В теории хотелось бы иметь возможность совместить научные и производственные интересы, уделять больше времени исследованиям и обучению. Хотя пока что непонятно, как это сделать с нашей ситуацией в академии. Ну а потом — наверное, пчел надо будет разводить :)

Junior дайджест: курси, стажування, вакансії. Грудень’17

$
0
0

До вашої уваги дайджест навчальних програм для тих, хто починає свою кар’єру в ІТ. У цьому номері зібрані можливості, актуальні у грудні 2017. Усі програми безкоштовні.

Якщо ви маєте інформацію про інші вакансії для початківців, безкоштовні курси/стажування, яких немає в дайджесті, пишіть на alyona@dou.ua, і ми додамо їх до статті.

Щоб дізнаватися про найактуальніші можливості для джуніорів, підписуйтеся на наш Telegram-канал, куди ми надсилаємо сповіщення про оновлення дайджесту та іншу корисну інформацію.

КомпаніяМістоНапрям, дедлайнТип
EPAMКиїв, Львів, ХарківFront-end: Львів — 12 грудня, Харків — 25 січня
.NET: Київ — 22 січня, Харків — 25 січня
Java: Харків — 25 січня
Business Intelligence: Київ — 15 грудня
DevOps: Харків — 25 грудня
QA: Харків — 25 грудня
Курси
GenesisКиївData Science — 4 грудняКурси
KottansКиївFront-end — січеньКурси
NetcrackerСумиQA — 8 січня
CSA — на постійній основі
Курси
NIX Solutions Ltd.ХарківJava, Front-end, PHP, iOS — середина грудняКурси
SoftServeХарків, Івано-Франківськ, Рівне, Львів, Дніпро, ЧернівціJava: Харків — 15 січня
.NET: Івано-Франківськ — 11 грудня, Рівне — 5 лютого
iOS: Львів — 29 грудня
Database: Львів — 29 грудня
Quality Control: Рівне — 2 січня, Львів — 12 січня, Дніпро — 15 січня
Test Automation Quality Control: Чернівці — 11 грудня
DevOps: Івано-Франківськ — 15 січня, Дніпро — 17 січня
JavaScript: Дніпро — 17 січня
WebUI/NodeJS: Львів — 9 січня
Golang: Рівне — 3 січня
Курси
QATestLabonline«Основи тестування ПЗ»
«Основи автоматизації тестування web-додатків»
Курси
RubyGarageДніпроRuby / Ruby on Rails — 1 березняКурси
AlterEGOЧернівціPHPСтажування
CHI SoftwareХарківNode.jsСтажування
CleveroadДніпроRequirement AnalystСтажування
IntersogКиїв, ОдесаPythonСтажування
LuxoftКиївJava, C, C++/QT, OracleСтажування
M2E ProДніпроPHPСтажування
Sigma Software UniversityКиїв, Львів, Одеса, ХарківJavaScript: Одеса — 22 січня
Java: Київ — 20 грудня
QA: Харків — 20 грудня
Big Data: Львів — 28 грудня
Embedded: Львів — 20 грудня
Стажування
Samsung R&D Institute UkraineКиївC/C++ (Augmented Reality | Virtual Reality, Artificial Intelligence | Robotics, Security)Стажування
DexDigitalКиївSEOРобота
EigenMethodКиївSAP BIРобота
GlobalLogicКиїв, ЛьвівJavaScript, SQA Analyst, QA, C/C++, C, Embedded, System Integration Engineer, iOS, Front-endРобота
InteticsКиїв, ХарківФункціональне програмуванняРобота
ITCraftХарківFullStack Developer (PHP/JS)Робота
Silego Technology Inc.ВінницяQAРобота
SoftServeЧернівціQCРобота
UbisoftКиївC++ — січеньРобота

EPAM

Напрям:курси.
Місто:Київ, Львів, Харків.
Дедлайн подачі заявок: Front-end (Львів) — 12 грудня, Front-end (Харків) — 25 січня, .NET (Харків) — 25 січня, .NET (Київ) — 22 січня, Java (Харків) — 25 січня, Business Intelligence (Київ) — 15 грудня, DevOps (Харків) — 25 грудня, QA (Харків) — 25 грудня.

Вимоги до кандидатів:знання алгоритримів і структури даних; ООП — рівень письмової та розмовної англійської не нижче В1 відповідно до Common European Framework of Reference for Languages. Також перевіряються аналітичні здібності та кмітливість при вирішенні нестандартних задач. Перевагою буде досвід роботи з БД, розуміння процесів тестування, розуміння роботи систем контролю версій. Для напрямків, що пов’язані з розробкою (Java, .NET, JavaScript), перевагою буде довід розробки будь-якою мовою програмування.

Як потрапити:зареєструватися на сайтіта пройти тестування. Тестування включає технічний комп’ютерний тест (30-60 хв)та співбесіду з рекрутером, перевірку рівня знань англійської мови (30 хв).

Умови:деталі для кожного напрямку на сайті.

Деталі:на сайтіабо поставте запитання.

Genesis

Напрям:школа Data Science.
Місто:Київ.
Дедлайн подачі заявок: 4 грудня.

Вимоги до кандидатів:

  • студенти 3-5курсів фізико-математичних, комп’ютерних та інших технічних спеціальностей;
  • знання лінійної алгебри, статистики, основ матаналізу і теорії ймовірності;
  • добре знання мови програмування Python або R;
  • первагою будуть завершені MOOC-курси з Data Science / Machine learning.

Як потрапити:зареєструватися на сайті, пройти онлайн-тестування на знання фундаментальних дисциплін, виконати завдання з програмування в офісі, пройти співбесіду.

Умови:заняття починаються 15 січня і тривають 2 місяці. Лекції проходять 2 рази на тиждень в понеділок та середу з 19:00 до 21:00 в київському офісі Genesis. Передбачені домашні завдання, командний проект на основі реальних бізнес-задач компанії. Курс складається з 8 модулів по Data Science і Business Intelligence. В рамках програми буде розглянуто Deep learning, Data Visualization, Recommendation system, Distributed systems.

Деталі:на сайті.

Kottans

Напрям:курси Front-end.
Місто:Київ.
Дедлайн подачі заявок:січень.

Вимоги до кандидатів:знання англійської.

Як потрапити:виконати завдання на сайті.

Умови:курс ознайомлює з основами HTML, CSS, JS та деякими фреймворками. Реєстрація буде відкрита доти, поки достатня кількість учасників (близько 30) не виконає вступне завдання.

Деталі:на сайті.

Netcracker

Напрям:курси.
Місто:Суми.
Дедлайн подачі заявок: QA — реєстрація до 08.01.18, CSA — реєстрація можлива на постійній основі.

Вимоги до кандидатів:
QA

  • вища або незакінченна вища освіта;
  • розвинена логіка, аналітичні та базові математичні здібності;
  • основи SQL;
  • основи телекому.
CSA
  • вища або незакінченна вища освіта;
  • розвинена логіка, аналітичні та базові математичні здібності;
  • добре володіння англійською мовою.

Як потрапити:заповнити анкету на сайті, пройти технічне тестування та тестування на знання англійської мови. Успішних кандидатів запросять на співбесіду з HR спеціалістами.

Умови:тривалість навчання — від 2 до 3 місяців. Після закінчення можливе працевлаштування в компанії.

Деталі:на сайті.

NIX Solutions Ltd.

Напрям:курси.
Місто:Харків.
Дедлайн подачі заявок:середина грудня.

Вимоги до кандидатів:
Навчання Java

  • володіння англійською мовою на рівні Intermediate;
  • знання загальної комп’ютерної термінології;
  • знання булевої алгебри і теорії множин;
  • розуміння базових принципів ООП;
  • базове знання Java і середовища розробки (компіляція, запуск, налаштування);
  • знайомство з web-ом (HTTP, HTML, CSS, термінологія).
Навчання Front-end
  • розуміння теорії про роботу Інтернету: з чого він складається і як відбувається обмін інформацією в мережі;
  • знання синтаксису HTML, структури документу і тегів;
  • розуміння селекторів і принципів успадкування стилів і їх пріоритетів;
  • базове знання CSS — стилів позиціювання, кольору та інших;
  • знання графічного пакету Adobe (Photoshop і Illustrator);
  • знання синтаксису JavaScript і розуміння принципів ООП;
  • будуть плюсом навички використання Pre/Post-процесорів і систем контролю версій;
  • знадобиться знання методології БЕМ або інших.
Навчання PHP
  • знання теорії про роботу Інтернету: з чого він складається і як відбувається обмін інформацією в мережі;
  • базові принципи ООП, винятки та інтерфейси;
  • розуміння роботи системи керування базами даних (будь-якої), базові знання SQL і принципів нормалізації БД;
  • розуміння роботи PHP інтерпретатора;
  • базові знання мови PHP (як будувати цикли, умови і т. д.);
  • базові знання мови розмітки HTML (основні теги, структура сторінки);
  • розуміння роботи будь-якої системи контролю версій (розподілена буде перевагою, але і svn підійде).
Практика iOS
  • базові знання принципів ООП;
  • базові знання С/С ++;
  • уявлення про бази даних;
  • знання алгоритмів і структур даних;
  • будуть перевагою, але не є обов’язковими, базові знання Objective-C і Swift.

Як потрапити:заповнити форму резюме на сайті; пройти тестування в офисі; пройти співбесіду.

Умови:

Java: 3-5 місяців;очне навчання два рази на тиждень по кілька годин у вечірній час; початок навчання — листопад/грудень.

Front-end: 4 місяці; очне навчання два рази в тиждень протягом 3 годин в офісі компанії; початок навчання — листопад.

PHP: 3 місяці; очне навчання 3 рази на тиждень по кілька годин в офісі компанії; початок навчання — листопад/грудень.

iOS: 3 тижні; очне навчання 40 годин на тиждень в офісі компанії; практика проходить протягом 3 тижнів у січні/лютому.

Деталі:на сайтіабо пишіть на пошту evgeniya.strelkova@nixsolutions.com.

SoftServe

Напрям:курси Java, .NET, iOS, Database, Quality Control, Test Automation Quality Control, DevOps, JavaScript, Golang.
Місто:Харків, Івано-Франківськ, Рівне, Львів, Дніпро, Чернівці.
Дедлайн подачі заявок: Java (Харків) — 15 січня, .NET (Івано-Франківськ) — 11 грудня, .NET (Рівне) — 5 лютого, iOS (Львів) — 29 грудня, Database (Львів) — 29 грудня, Quality Control (Рівне) — 2 січня, Quality Control (Львів) — 12 січня, Quality Control (Дніпро) — 15 січня, Test Automation Quality Control (Чернівці) — 11 грудня, DevOps (Івано-Франківськ) — 15 січня, DevOps (Дніпро) — 17 січня, JavaScript (Дніпро) — 17 січня, WebUI/NodeJS (Львів) — 9 січня, Golang (Рівне) — 3 січня.

Вимоги до кандидатів:

  • рівень англійської Intermediate+;
  • студенти 3-5курсів і випускники;
  • базова технічна освіта.
  • детальніше — на сайті.

Як потрапити:заповнити заявку на сайті, пройти технічне тестування і тест на знання англійської мови, пройти співбесіду.

Умови:тривалість курсів — 2-4 місяці.

Деталі:на сайті.

QATestLab

Напрям:онлайн-курси QA.
Дедлайн подачі заявок:реєстрація відбувається постійно. «Основи тестування ПЗ» — старт 28 листопада, «Основи автоматизації тестування web-додатків» — старт 13 лютого.

Вимоги до кандидатів:навчатися можуть усі охочі. Для проходження курсів з автоматизації тестування необхідно мати навички мануального тестування, розуміння основ ООП, базову теоретичну підготовку з Java.

Як потрапити:подати заявкута скласти тест, що включає в себе питання на рівень логічного мислення, знання англійської мови та володіння ПК.

Умови:викладачi курсів — QAEngineers компанії QA TestLab. Формат навчання: онлайн. Тривалість курсу «Основи тестування ПЗ» — 4 тижні, курсу «Основи автоматизації тестування web-додатків» — 5 тижнів. Курси включають в себе лекції, що проводяться через систему GoToWebinar двічі на тиждень, практичні домашні завдання та підсумковий іспит.

Деталі:на сайті.

RubyGarage

Напрям:курси.
Місто:Дніпро.
Дедлайн виконання тестового завдання: 1 березня.

Вимоги до кандидатів:

  • необхідні базові знання HTML, CSS, JavaScript та мінімальний досвід роботи з цими технологіями;
  • бажано знання базових принципів роботи баз даних і мови SQL.

Як потрапити:заповнити заявку на сайті, виконати тестове завдання. Термін виконання тестового завдання 1-3 місяці.

Умови:тривалість курсу становить 4-6 місяців.Навчання проходить два рази на тиждень у вечірній час. По закінченні студенти складають випускний іспит.

Деталі:на сайтіабо пишіть на пошту railscourses@rubygarage.org.

AlterEGO

Напрям:стажування PHP.
Місто:Чернівці.
Дедлайн подачі заявок:немає.

Вимоги до кандидатів:

  • базові знання PHP‚ MySQL;
  • базові знання: HTML‚ CSS;
  • розуміння процесу створення сайтів.

Як потрапити:надіслати резюме або заповнити форму.

Умови:повний робочий день. Робота в команді над підтримкою сайтів і корпоративних порталів клієнтів разом з досвідченими програмістами. Налаштування‚ інтеграція‚ розробка нових модулів і функціоналу CMS 1C-Bitrix та інших. Стажування оплачуване.

Деталі:пишіть на пошту hr@alterego.biz.

CHI Software

Напрям:стажування Node.js.
Місто:Харків.
Дедлайн подачі заявок:немає.

Вимоги до кандидатів:

  • знання англійської мови на рівні Intermediate або вище;
  • знання основ ООП;
  • добре знання native JavaScript, включаючи техніки ООП;
  • розуміння протоколу HTTP;
  • базове знання SQL, розуміння, що таке реляційні та noSQL бази даних.

Як потрапити:відправити CV у Skype: Alesia Hrynchuk (live:99c89fac6494324b) або на пошту careers@chisw.com, виконати тестове завдання, пройти співбесіду в офісі з технічним фахівцем.

Умови:навчання в інтернатурі відбувається у форматі повноцінної роботи у компанії протягом 3 місяців (повний 8-годиннийробочий день, з понеділка по п’ятницю, гнучкий графік). За період навчання в інтернатурі кандидати будуть отримувати оплату та зможуть брати участь в усіх заходах, що відбуваються у компанії. Кожному інтерну буде виділений ментор, який буде давати йому завдання, слідкувати за прогресом та проводити код рев’ю.

Деталі:пишіть на пошту careers@chisw.com.

Cleveroad

Напрям:стажування Requirement Analyst.
Місто:Дніпро.
Дедлайн подачі заявок:немає.

Вимоги до кандидатів:

  • базові знання в сфері ІТ технологій;
  • англійська не нижче Upper-Intermediate level;
  • аналітичні навички.

Як потрапити:подати заяву на
hr@cleveroad.com, виконати тестове завдання, пройти співбесіду.

Умови:стажування проходить як 8-годиннийробочий день, є стипендія. Передбачена теорія + практичні завдання з поступовим збільшенням рівня складності.

Intersog

Напрям:стажування Python.
Місто:Київ, Одеса.
Дедлайн подачі заявок:немає.

Вимоги до кандидатів:

  • початковий досвід розробки на Python;
  • практичний досвід використання фреймворка Django;
  • базові знання найпопулярніших баз даних;
  • початковий досвід роботи з JS/HTML/CSS;
  • розуміння того, як працює Git/SVN;
  • знання функціонального програмування та принципів OOP;
  • рівень англійської — Advanced.

Як потрапити:подати заяву на сайті.

Умови:перший місяць стажування не оплачується.

Деталі:на сайті.

Luxoft

Напрям:стажування Java, C, C++/QT, Oracle.
Місто:Київ.
Дедлайн подачі заявок:немає.

Вимоги до кандидатів:дивіться на сайті.

Як потрапити:подати заяву на сайті.

M2E Pro

Напрям:стажування PHP.
Місто:Дніпро.
Дедлайн подачі заявок:немає.

Вимоги до кандидатів:

  • впевнені знання PHP 5+ / OOP;
  • теоретичні знання SQL, MySQL;
  • HTML, CSS, JavaScript;
  • англійська на рівні читання тех. документації;
  • готовність працювати в офісі повний день.
Перевагою буде:
  • досвід роботи з SVN, Git;
  • комерційний досвід розробки.

Як потрапити:надіслати резюме на сайті.

Умови:вакансія передбачає безкоштовну навчальну програму (6 занять по 5 годин кожне, які проходять щосуботи). У групі — 5-6 людей.Початок курсу — після набору групи. Викладають спеціалісти компанії. Після закінчення програми є можливість працевлаштування в компанії.

Деталі:на сайті.

Sigma Software University

Напрям:стажування JavaScript, Java, QA, Big Data, Embedded.
Місто:Київ, Львів, Одеса, Харків
Дедлайн подачі заявок: JavaScript (Одеса) — 22 січня, Java (Київ) — 20 грудня, QA (Харків) — 20 грудня, Big Data (Львів) — 28 грудня, Embedded (Львів) — 20 грудня.

Вимоги до кандидатів:детальніше по кожному напряму на сайті Sigma Software University.

Як потрапити:заповнити реєстраційну форму на сайті (у відповідному розділі інтернатури) та додати резюме.

Умови:тривалість інтернатури від 3 до 6 місяців залежно від напряму; повний робочий день.

Деталі:на сайті.

Samsung R&D Institute Ukraine

Напрям:стажування C/C++ (Augmented Reality | Virtual Reality, Artificial Intelligence | Robotics, Security).
Місто:Київ.
Дедлайн подачі заявок:немає.

Вимоги до кандидатів:

  • студенти технічних вузів 4, 5, 6 курсів, аспіранти;
  • базові академічні знання C/C++.

Як потрапити:надіслати резюме англійською мовою на srk.hr@samsung.comз темою листа: «SRK Internship 2017-2018 | Name Surname», отримати запрошення, пройти тестування (4 години) на знання мов програмування C/C++, успішно пройти технічне та HR інтерв’ю.

Умови:оплачуване стажування, тривалість — 6-12 місяців,групи по 10-15 чоловік,у кожній з яких є власний ментор. Графік роботи: 40, 30, 20 годин на тиждень (на вибір стажера).

Деталі:пишіть на пошту srk.hr@samsung.com.

DexDigital

Напрям:робота SEO.
Місто:Київ.

Вимоги до кандидатів:

  • люди, націлені на здобуття експертизи у сфері онлайн-маркетингу;
  • англійська мова — не нижче Intermediate;
  • вміння знаходити та структурувати інформацію;
  • базові навички володіння ПК, розуміння принципів роботи пошукових систем.

Як потрапити:подати заявку на сайті.

Умови:вакансія передбачає навчання інтернет-маркетингу з нуля.

Деталі:на сайті.

EigenMethod

Напрям:робота SAP BI.
Місто:Київ.

Вимоги до кандидатів:

  • студент 4-5курсу або людина, якак шукає себе в IT;
  • математична та алгоритмічна база;
  • знання основ баз даних та SQL;
  • впевнені знання однієї з мов програмування.
Перевагою будуть
  • знання бухобліку;
  • англійська мова рівня не нижче Pre-intermediate.

Як потрапити:надіслати резюме на сайті.

Умови:вакансія передбачає навчання, гнучкий графік роботи (але не менше 4 годин на день). У разі успішного завершення стажування виплачується стипендія та можливе працевлаштування в компанії.

Деталі:на сайті.

GlobalLogic

Напрям:робота JavaScript, SQA Analyst, QA, C/C++, C, Embedded, System Integration Engineer, iOS, Front-end.
Місто:Київ, Львів.

Вимоги до кандидатів:дивіться на сайті.

Як потрапити:подати заявку на сайті.

Intetics

Напрям:робота, функціональне програмування.
Місто:Київ, Харків.

Вимоги до кандидатів:

  • вміти виконувати алгоритмічні задачі;
  • знати хоча б одну мову програмування;
  • любити алгоритми (або нестандартні задачі);
  • англійська рівня Intermediate та вище.

Як потрапити:

  • надішліть резюме на
    fp@intetics.com, в листі обов’язково вкажіть, яку мову програмування ви знаєте;
  • отримайте тестове завдання і виконайте його;
  • поспілкуйтеся з рекрутером;
  • виконайте друге тестове завдання в офісі.

Умови:на самому початку роботи у вас буде вступний період, протягом якого ви вивчите нову функціональну мову та ввійдете в проект. Потім зможете виконувати більш складні задачі. Протягом усього навчання за вами буде закріплений ментор. Пропонуємо гнучкий графік роботи, допомогу та супровід, якщо вам потрібно переїхати в Київ чи Харків.

ITCraft

Напрям:робота FullStack (PHP/JS).
Місто:Харків.

Вимоги до кандидатів:

  • вища технічна освіта або студент останнього курсу;
  • теоретичні знання OOP;
  • теоретичні знання серверної розробки з використанням PHP, MySQL;
  • теоретичні знання розробки інтерфейсів: HTML, CSS, JavaScript;
  • англійська — на рівні, достатньому для роботи з документацією.

Як потрапити:надішліть резюме на сайті.

Деталі:на сайті.

Silego Technology Inc.

Напрям:робота QA.
Місто:Вінниця.

Вимоги до кандидатів:

  • студенти 4-5курсу або випускники технічних спеціальностей;
  • перевагою буде проходження курсів QA;
  • базові знання QA;
  • перевагою буде будь-який досвід тестування;
  • рівень англійської — від Pre-Intermediate;
  • здатність швидко навчатися.

Як потрапити:надіслати резюме на сайті.

Деталі:на сайті.

SoftServe

Напрям:робота QC.
Місто:Чернівці.

Вимоги до кандидатів:

  • базові знання MS SQL, розуміння реляційних баз даних;
  • комунікативні навички;
  • англійська — Upper Intermediate і вище;
  • бажання спілкуватися з кінцевими користувачами.

Як потрапити:надіслати резюме на сайті.

Деталі:на сайті.

Ubisoft

Напрям:робота С++.
Місто:Київ.
Дедлайн подачі заявок:січень.

Вимоги до кандидатів:

  • знання C/C++;
  • розуміння OOP;
  • бажання розвиватися в програмуванні;
Буде перевагою:
  • знання Design patterns;
  • досвід роботи принаймні з однією IDE;
  • 3D math.

Як потрапити:надішліть резюме на сайті.

Умови:початок — у січні. Стажування триває 6 тижнів і включає лекції, домашні завдання, роботу над реальними проектами. Після його успішного завершення — працевлаштування в компанії.

Деталі:на сайті.

DOU Проектор: Codeasy.net – изучить C#, спасая человечество

$
0
0

В рубрике DOU Проекторвсе желающие могут презентовать свой продукт (как стартап, так и ламповый pet-проект). Если вам есть о чем рассказать — приглашаем поучаствовать. Если нет — возможно, серия вдохновит на создание собственного made in Ukraine продукта. Вопросы и заявки на участие присылайте на editors@dou.ua.

Привет всем! Я Дима, уже около 6 лет работаю в области software development. Начинал карьеру в Киеве, затем перебрался в Стокгольм. Я — соучредитель и руководитель проекта Codeasy.net.

Идея

Codeasy.net — это курс программирования, проходя который, вы спасете мир играючи...

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

Мы провели анализ рынка и нашли совсем мало хороших курсов. А особенно курсов по C#. «Почему бы и нет, ведь обучение программированию — это сейчас хайп», — подумал я и сел за написание своего курса. Болезнь всех программистов: если тебе что-то не нравится — напиши свое.

Как только первая глава была готова — я показал ее жене, спросил: «Ну как, что скажешь?». Ответ был: «Ты пишешь очередную скучную книгу по программированию. Такого полно!». Это был вызов...

А что если изучать программирование по ходу дела приключенческой истории? Например, главный герой будет сражаться за судьбу всего человечества в постапокалиптическом мире, а делать это — с помощью программирования. Эта мысль засела глубоко в моей голове, и я решил ее проверить. Вот так и родилась идея Codeasy.net. Но не сам проект, а лишь идея, ведь для полноценного проекта нужна команда!

Команда Codeasy.net

Лёшуя знаю давно, мы вместе ходили в походы... Он — full stack разработчик. Я рассказал ему о Codeasy.net, и он моментально загорелся идеей. «Мы сможем по ходу истории вставлять маленькие игры! Мы сделаем это лучшей обучающей платформой с геймификацией! А что если делать разные ветви сюжета, как в играх делают? И шутки, обязательно нужны девелоперские шутки!» — его было сложно остановить. Другими словами, нас было уже двое в команде.

Вскоре после начала проекта мы решили немного почерпнуть опыта у коллег из Кремниевой долины и прошли online-школу от Y Combinator для стартапов. Это был незабываемый опыт, куча новых знакомств и тем для размышления. Мы выделили главную метрику нашего стартапа, изучили юридические вопросы создания компании, обсудили наем персонала и многое другое. Перед нами выступали СЕО Slack — Stewart Butterfield, Docker — Solomon Hykes и другие люди, достигшие успеха. Тогда же мы решили, что для того, чтобы чувствовать себя всесторонней командой, нам нужен человек, который сможет заниматься SEO/PR/Marketing и который не будет программистом.

Юля — online marketing manager — третье звено нашей команды. Она отлично влилась в коллектив двух программистов, что сделать совсем не просто! Первой ее реакцией было: «Что они вообще делают?!». Но уже через неделю она писала на форумах о новых подходах в изучении программирования, которые мы проповедуем в Codeasy.net.

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

Реализация

Главный вопрос, который мы задавали себе на протяжении первых 5-10 уроков:а хорошая ли это вообще идея — учить программирование, читая приключенческую историю?

Наши коллеги JavaRushсделали попытку в этом направлении, создав отличный курс, который, как и наш, начинается с истории. Но по ходу уроков сюжет плавно теряется, и в конце концов остаются лишь шутки, «понятно» и «повтори еще раз, пожалуйста». Мне, как программисту, сюжет показался бы лишним, потому что я привык сразу докапываться до сути, не отвлекаясь ни на что. Но Codeasy.netсоздан не для программистов, а для будущих программистов...

Сейчас со всей уверенностью могу сказать, что подход приключенческой истории сработал. Мы получили довольно много позитивных отзывов от наших пользователей о сюжете, балансе между историей и учебным материалом и о сайте в целом. Мы также думаем сделать короткую версию «для программистов» — без истории.

Трудности

На пути к светлому будущему Codeasy.netмы успели наступить на много граблей, но шишки, к счастью, проходят и болят уже не так, как раньше.

Одной из них было решение использовать Angular 2 сразу после его релиза. Позже, когда мы занялись SEO, оказалось, что нам неплохо было бы добавить Server Side Rendering. Пробовали связку ASP.NET Core с Node.js, которая также оказалась крайне нестабильной в продакшене. Сделали для себя вывод, что не всегда нужно гнаться за самыми последними и модными фреймворками. В общем, это потянет на отдельную историю от Лёши, оставим для будущих (технических) постов.

Еще одним испытанием был код раннер — собственноручно написанный сервис для компиляции и валидации пользовательского кода. Да, мы используем Docker. Да, вы все равно можете его сломать. Нет, пробовать ломать не надо, я и так верю :) Те, кто занимался вопросом, знают, что запуск внешнего кода у себя на сервере — исключительно неблагодарное занятие.

Еще одной сложностью, которую мы успешно побороли, было то, что пользователи «отваливались» после первых 3-4 уроков.Чтобы понять, в чем дело, мы постоянно мониторили пользовательские варианты решения задач и делали выводы, что именно им непонятно. Иногда эти пользователи заходили к нам в Slack-группу, и тогда мы уже сами могли их спросить. Итеративно, задача за задачей, объяснение за объяснением мы «вылизали» курс, чем значительно повысили успеваемость спасателей мира на Codeasy.net. Это очень воодушевляющий процесс, когда наблюдаешь за тем, как в самом начале человек не знал, какие кавычки использовать для строки и что такое переменная, а через 2 недели он уже решает задачки на массивы и удаляет двойные пробелы в строках!

Я очень сильно волновался по поводу своего уровня английского. Тут же не сухой технический текст писать, а художественный. Это оказалось куда сложнее... В результате писал, как умел, после чего давал читать как можно большему количеству людей «со всего мира»: англичанину, американцу, австралийцу, испанцу, украинцу... Также мы собирали отзывы пользователей, а потом я много правил-правил-правил. Нашли ошибки в тексте? Пишите в комментах!

Почему мы выбрали C#

Этому есть несколько причин, но главная: мы считаем, что новички должны начинать изучение программирования с современного языка, который легко применить на практике и который имеет спрос на рынке ИТ. Мы убеждены, что C# идеально подходит под это описание. Кроме того, за ним стоит мощный стек, при помощи которого можно создавать игры, десктопные и мобильные приложения, а также веб-ресурсы. C# объединяет элементы функционального и объектно-ориентированного программирования, имеет мощное комьюнити, а теперь уже развивается в сторону Open Source и мультиплатформенности. А что еще нужно для полного счастья?

Говоря языком чисел, язык C# находится на 9 позиций выше Java и на 7 позиций выше С++ в рейтинге Stackoverflow Developer survey«Most Loved programming languages»!

И совсем небольшая поправка на то, что мы с Лёшей давно имеем дело с С#...

Как работает сервис

На сегодняшний день наш ресурс — это история из 10 глав, объединенных единым сюжетом, в каждой из которых несколько историй. В процессе чтения вы смотрите на мир глазами главного героя, путешествуете в будущем, которое не такое уж светлое, а прямо скажем апокалиптическое. Искусственный интеллект захватил мир, вокруг свирепствуют роботы, а судьба человечества под угрозой... И только главному герою Тео под силу спасти человечество, как вы догадались, научившись программировать. А как еще победить ИИ? :)

Это был краткий тизер, об остальном приглашаем узнать на Codeasy.net ;)

Сейчас весь курс — более 140 практических задач, которые начинаются с совсем базовых и плавно ползут вверх по уровню сложности. Самые сложные — задачки с собеседований, такие как удалить двойные пробелы в строке, проверить число на простоту или вывести n первых чисел Фибоначчи.

После регистрации каждый пользователь получает на свой счет Codeasy.net 60 вирусов. Вирусы — внутренняя валюта Codeasy.net, при помощи которой пользователи открывают новые главы истории и задают вопросы менторам в Slack. Каждая задача в свою очередь — восполняет баланс вирусов так, чтобы их всегда хватало для борьбы с роботами. Если задачи сложны и потребовалось слишком много вирусов на помощь менторов, то всегда можно докупить вирусы за реальные деньги.

Кроме увлекательного футуристического приключения Codeasy.netпредлагает:

  • написать ваш первый код \ решить задачу в онлайн-компиляторе;
  • автоматически проверить созданный вами код и сразу же отобразить результат;
  • воспользоваться подсказкой, если вы не разобрались, как решить задачу;
  • подсмотреть, как эту задачу решили ваши коллеги из Codeasy.net;
  • воспользоваться помощью лучших менторов-профессионалов в Slack-чате и стать частью Codeasy.net-комьюнити;
  • просмотреть таблицу лидеров и увидеть, на кого равняться.

У каждого есть шанс попасть в ТОП — нужно лишь усердно заниматься и решить все задачки на Codeasy.net!

Результаты и планы

Наши усилия в SEO и SMM дали первые ощутимые результаты. Сайт пробился в ТОП-10 Google по некоторым целевым запросам, и сейчас наш курс проходят более 50 учеников ежедневно! В скором времени мы планируем запуск русскоязычной версии курса, которая будет не менее увлекательной по сюжету. Сотрудничаем с переводчиками с целью сделать Codeasy.netдоступным для пользователей других стран.

Мы планируем покрыть все уровни изучения языка C#, ведь ивенты, делегаты, лямбда выражения, многопоточность и куча других вкусностей — еще впереди! Сейчас Codeasy.net — базовый бесплатный курс. В будущем мы планируем его развивать и дополнять новыми полезными для пользователей фичами и уровнями сложности.

Также мы постепенно начинаем внедрять модель монетизации. Мы долго думали об этом и решили использовать механизм внутренней валюты (in-game currency), которую мы назвали «вирусы». Пока что наша идея в том, чтобы оставить пользователю шанс пройти курс бесплатно. Поэтому базовый курс построен таким образом, что пользователь, решивший все задачи, заработает достаточно «вирусов», чтобы открыть следующую главу истории и продолжать учиться. Кроме того, пользователь сможет заработать дополнительные вирусы за репосты Codeasy.netв соцсетях, рекомендуя нас другу, возможно, помогая нам в переводе истории Тео на родной язык ;)

А если у пользователя что-то не получается и ему необходима помощь, то за вирусы можно купить индивидуальную консультацию у ментора. В таком случае вирусов не хватит, и их можно будет докупить за реальные деньги. В дальнейшем мы планируем добавлять новые способы потратить и заработать вирусы, такие как пригласить друга или открыть дополнительные задачи по теме. История Тео будет продолжаться, пока человечество и машины не обретут мирное сосуществование в будущем!

Также есть идея разработать параллельный курс на Python... Но пока это лишь в мечтах, поскольку идей и задач много, а времени и ресурсов — мало. Вот если бы нашелся Python энтузиаст...


Мы приглашаем к сотрудничеству партнеров и инвесторов, заинтересованных в развитии или рекламе нашего проекта.

Если кто-то из ваших знакомых только начинает свой путь в программировании, предложите им попробовать Codeasy.net. Sharing is caring!

Давайте учить и учиться вместе!

Как я писал книги и что из этого вышло. Опыт QA инженера

$
0
0

Меня зовут Гена, я занимаюсь автоматизацией тестирования с 2003 года (т. е. начинал ещё до того, как это стало модным), а параллельно пишу книги по этой же тематике. В статье я расскажу обо всём, что может быть интересным в написании книг, как говорится, от идеи до публикации. Если возникнут другие вопросы — буду рад ответить на них в комментариях.

Я автор 5 учебников (3 самиздатовских и 2 изданных), так что, думаю, про меня можно сказать: «Этот человек оперирует фактами и ему можно доверять». Сначала я расскажу немножко истории, а уж потом перейду к технической части, так что если вам интересен только процесс создания и сопутствующие вопросы — смело переходите к разделу «Процесс создания».

Итак...

Немного истории

От FAQ для новичков до первого учебника

В 2004 году в компании ISD, где я тогда работал, приняли решение перейти со старого глючного WinRunner’a на новый модный SilkTest. Это был действительно мощный инструмент, но автоматизация тестирования тогда практически не была развита, информации в интернете было очень мало даже на английском языке, а уж в рунете про SilkTest тогда просто никто не слышал. Даже на сайте tester.com.ua (самый популярный русскоязычный ресурс по тестированию на то время) не было даже ветки форума по этому инструменту. Её создали по моей просьбе, и первое время я сам там задавал вопросы и сам же на них отвечал. Поэтому нам приходилось изучать SilkTest методом научного тыка.

Со временем команда росла, мы брали новых людей, и их нужно было учить. У нас появилась роль AT Tutor, в чьи обязанности входило обучение новичков в команде, а также сотрудников из других команд. Так прошло примерно 2 года, и именно тогда у меня и моего коллеги Николая зародилась идея: нужно создать некий FAQ для новичков, который поможет им на первых порах. Конечно, во многом этой идее способствовала фраза, которую однажды обронила одна из наших тьюторов: «Да сколько можно им одно и то же долдонить?».

Довольно быстро (ещё на этапе продумывания) от идеи простого FAQ мы перешли к идее написания учебника, который бы покрывал весь SilkTest: от самых азов (Record & Play) до нетривиальных вещей (распределённое тестирование, Data-driven Testing, Extensions и т. п.). Всё это было написано примерно за полгода и выложено на сайте тестировщиков в виде CHM-файла. Вот как он выглядел:

На тот момент нас подстёгивала уникальность проекта: то, что делали мы, в рунете на тот момент не существовало ни в каком виде вообще.

Сел, написал, забросил — доделал!

Дальше наши с Колей дороги разошлись: он занялся Selenium’ом, а я погрузился в TestComplete. В одиночку тяжело изучать новый инструмент, потому я подписался на официальную news-группу от компании-разработчика TestComplete и сначала задавал там вопросы, а потом и сам стал отвечать. Параллельно участвовал в обсуждениях на русскоязычном форуме software-testing.ru. Именно там однажды прозвучала просьба, которая мне показалась смешной: «Дайте какой-нибудь учебник, который позволит изучить TestComplete за один день». Просьба была настолько абсурдной, что я за час написал учебник «TestComplete за один день». А после того как учебник оказался популярным, я подумал: а ведь я могу и лучше!

Я сел и написал примерное содержание, а затем начал писать сам текст. Сперва я писал те главы, которые мне нравились, потом те, от которых меньше всего тошнило. Под конец оставил самое противное. Весь процесс у меня занял около полугода, однако в середине был долгий перерыв, так что с момента начала написания и до конца прошло около 1,5 лет. Учебник я в итоге дописал где-то в начале 2010-гогода и оформил его в виде отдельного сайта (заодно так же выложил и предыдущий учебник по SilkTest).

В этот момент я задумал написание грандиозного учебника по автоматизации в целом, составил план, начал писать... и забросил его до 2017 года. В 2017 я на него случайно наткнулся и подумал: чего добру пропадать? Немного доделал по мелочам и выложил в открытый доступ.

Теперь ко мне обратилось издательство...

В 2013 году ко мне обратилось издательство Packt Publishing, у которого в планах было издать книжку по TestComplete. Меня они нашли по рекомендациям других людей, к которым издательство сначала обратилось.

Меня в первую очередь волновал уровень английского, так как его было достаточно для простых переписок по почте, но не для написания полноценной книги. В издательстве меня уверили, что у них отличные пруфридеры и что всё будет хорошо. Я подписал контракт, но только после того, как решил для себя: пусть книга будет написана мне в убыток, но я не стану писать её сразу на английском, так как это будет очень долго и качество текста будет... ну, примерно как таджики говорят по-русски. Перед подписанием контракта я договорился со знакомым переводчиком, в чьх способностях был уверен на 100%, что он возьмётся за перевод книги, а я соглашусь на любую его цену. Заранее оговорюсь: это было очень хорошее решение.

Написание книги было рассчитано на полгода (по условиям контракта), я справился за 3 месяца, за что даже получил бонус (тоже оговоренный контрактом). Довольно большой кусок я написал во время больничного, так как работать сил не было, а творить — были :) Как и в прошлый раз, самое неинтересное я оставил на самый конец, когда уже почти всё сделано, но работа не закончена. Это, кстати, одна из причин, по которым я «гнал лошадей» во время написания интересной части: я хотел как можно больше времени оставить на неинтересное на случай творческого кризиса.

Со второй книгой было и проще, и сложнее. Проще, потому что я сначала написал её, а потом началась работа с издательством. Сложнее по этой же причине. Почему так — в следующем разделе.

Процесс создания

Самиздатовские книги писать легко: сам решаешь, что и как делать, в каком порядке, где и как публиковать, в каком формате и т. п. Когда работаешь с издательством, всё становится гораздо интереснее.

Переговоры с издательством

Существует 3 способа, как можно начать работать с издательством:

  • У издательства есть планы по написанию книги по какой-то тематике. Его представители находят вас и предлагают написать книгу.
  • Вы сами приходите в издательство и предлагаете написать для него книгу. У некоторых издательств даже можно найти на сайтах информацию о том, каких авторов они в данный момент разыскивают и что планируют публиковать.
  • Вы пишете книгу, а затем ищете издательство, которому будет интересно её опубликовать.

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

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

Если тематика книги в данный момент не на пике интереса, то нужно быть готовым к тому, что придётся обойти несколько издательств, причём не все затрудняют себя даже ответить отказом, просто молчат. В моём случае со второй книгой было именно так: я связался с четырьмя издательствами: два просто промолчали, одно ответило, что не заинтересовано, четвёртое заинтересовалось. Если бы я писал о Big Data, нейронных сетях и искусственном интеллекте, то скорее всего заинтересовалось бы первое же издательство (а ещё вернее, что можно было бы выбирать между разными издателями, у кого лучше условия контракта).

Если издательство заинтересовалось, то вы подписываете контракт (онлайн, никаких бумажек) и начинаете работать. В контракте прописаны все нюансы: сроки предоставления глав, оплата, штрафы, бонусы и обязательства сторон.

Написание книги

Книга отправляется в издательство постепенно, по мере написания. Для каждой главы в контракте прописан дедлайн отправки. Так как затягивание срока написания одной главы затягивает процесс публикации в целом, лучше спланировать работу так, чтобы делать всё чуть раньше, чем запланировано. Например, я сначала писал те главы, которые было писать легко и интересно, а сложное оставил на потом, чтобы точно знать, сколько у меня осталось времени.

У каждого издательства есть свой шаблон (файл .dot) для написания книг (вообще-то правильно говорить «черновик», так как книга является именно черновиком, пока не будет опубликована). Этим шаблоном нужно пользоваться в работе. В нём есть много разных стилей, которые нужно применять к разным частям текста: названия окон или элементов управления, исходный код, текст, который пользователь видит на экране, новый важный термин и т. д. В результате в издательство отправляются тексты примерно такого вида:

Выделение цветом нужно исключительно на производственной стадии. В самой книге, естественно, никаких цветов не будет. Вот как выглядит тот же текст в опубликованной книге:

Раньше, когда читал техническую литературу, мне всегда было интересно, кто занимается вот этой нудной работой — выделять разными шрифтами слова в тексте, их же так много. Оказывается — автор :)

Дальше идет 3 стадии вычитки: редактором, техническими редакторами (т. н. reviewers) и пруфридинг (исправление ошибок, пунктуация и т. п.). Все правки вносятся в режиме Рецензирования, при котором видны все сделанные изменения. Если вы раньше не сталкивались с этим режимом, то поначалу с ним может быть неудобно работать, так как все выглядит примерно так:

Иногда переносятся целые куски текста, переписываются предложения. Короче говоря, текст похож на кучу малу букв и цифр. Всё это редактор либо делает сам, либо оставляет комментарии о том, что нужно добавить, удалить, изменить. По мере написания новых глав таких исправлений становится всё меньше, так как начинаешь учитывать ошибки и комментарии предыдущих глав. Например, во второй моей книге часто встречались абзацы, состоящие из одного предложения. Мне это казалось нормальным, я как бы выражал отдельную мысль. Однако редактор считал, что это выглядит как незаконченная мысль, поэтому пришлось исправлять подобные места во всей книге. Если бы я писал эту книгу постепенно, а не пришёл к издателю с уже готовым черновиком, то, начиная со второй главы, я бы уже таких ошибок не делал.

Со временем понимаешь, что для каждой главы необходимо не забывать делать ряд вещей перед отправкой редактору. Всё запомнить невозможно, поэтому создаётся чеклист. Вот пример моего чеклиста, по которому я проходил каждый раз при написании первой книги (ещё один подобный чеклист есть и для стадии review):

Все картинки и примеры кода нужно предоставлять как в тексте книги, так и отдельными файлами. Для картинок существуют правила их именования, чтобы при вёрстке всё правильно скомпоновалось.

Черновик может пройти несколько стадий изменений (1st draft, 2nd draft и т. д.), прежде чем будет принят редактором. После этого его отправляют на прочтение техническим редакторам.

Технические редакторы — это люди, разбирающиеся в тематике книги. Их находит издательство или предлагает автор. В моих случаях был и первый, и второй вариант. Задача технических редакторов заключается в том, чтобы найти и указать на «узкие» места книги: ошибки, возможные улучшения, изменения и т. п.

Технические редакторы не делают изменений в черновике, они лишь оставляют комментарии с предложениями, которые затем рассматривает автор. В принципе автор не обязан делать какие-то изменения, если не считает это нужным, однако в моём случае 99% комментариев были по делу и существенно улучшили книгу. Вот как выглядят комментарии технических редакторов:

Для каждого комментария я внизу писал, было ли что-то сделано, а если нет, то почему. Иногда бывало так, что комментарий оставляется в конце главы, а соответствующие изменения нужны в её начале, поэтому любые изменения необходимо комментировать.

После всех изменений согласно комментариям редактора и технических редакторов черновику присваивается статус Final, и он отправляется на вычитку корректорам. Сам черновик к этому моменту выглядит как книжка-раскраска трёхлетнего ребёнка :)

После корректоров изменений не так уж много, они в основном исправляют грамматику. Однако после них нужно полностью вычитывать всю книгу. В моём случае небольшие изменения корректоров в одном месте привели к полному искажению смысла предложения. В целом после написания книги автор читает её ещё раза три :)

Во время работы над книгой есть ещё одна стадия: написание дополнительных материалов. Сюда входят разделы типа благодарности, софт, необходимый для работы, тексты описаний для сайта и для самой книги (обычно этот текст располагается сзади на обложке), предисловие и т. п. Для этого всего тоже есть шаблон, который предоставляется издательством, его нужно только заполнить. Дополнительные материалы также проходят стадии черновика, ревью и финальной версии.

Наконец, последний этап — верстка. Здесь автор не принимает никакого участия, это делают специально обученные люди и присылают финальную версию книги. Её тоже нужно вычитать, причём на этой стадии разрешены лишь незначительные изменения (исправления ошибок). Затем книга отправляется в печать.

На самом деле верстка — не совсем последняя стадия. Есть ещё маркетинг. Конечно, эта задача лежит на издательстве (в том числе и по условиям контракта), однако обычно автора просят внести в это дело посильную долю. Ну, оно и понятно: кто лучше прорекламирует книгу, кроме автора? У издательства Apress, к примеру, есть целая инструкция, что, где и как лучше делать. Лично я выкладывал новости в соцсетях, на профильных сайтах и форумах, оставлял ссылки в подписях и профайлах на разных ресурсах, а также в подписи в скайпе.

Вот теперь — всё. Раз в квартал получай отчёт и деньги от издательства.

Ответы на вопросы

Тут я рассмотрю всякие вопросы, которые не затронул в основной части.

Первый вопрос, который обычно задают: сколько денег? У каждого издательства своя схема выплаты гонораров и процент отчислений, причём не всегда эта информация доступна на сайте. Издательства платят авторам 10-20%от своей прибыли. Естественно, чем популярнее книга — тем больше в итоге будет денег.

Например, издательство Packt платит авторам 14% и утверждает, что это самый высокий процент среди издателей (не знаю, как сейчас, но в 2013 году эта информация была на их сайте). Но есть нюанс, о котором они умалчивают: они платят 14% всегда, в то время как в других издательствах может быть более гибкая система. Например, за первые проданные 10 тысяч экземпляров — 10% автору, за 20 тысяч — 12% и т. д. Если продажи превышают, скажем, 100 тысяч экземпляров, то процент может доходить до 20.

Кроме процента от продаж есть первоначальная выплата, типа аванса. Как пишут сами издательства про этот аванс: он не заменит вам зарплату, его задача — поддерживать интерес во время написания книги. Сумма аванса может быть разной: от совсем мизерной до примерно одной средней зарплаты программиста. Причем этот аванс затем будет высчитан при получении процентов от продаж, так что никакой благотворительности тут нет.

Второй момент связан с получением денег. Издательства делают либо прямой банковский перевод, либо (редко) перевод денег на PayPal. Так как в нашей стране получение денег через PayPal невозможно, остаётся только банковский перевод. И вот тут-то начинается самое интересное.

SWIFT-перевод от физического лица осуществляется без проблем. А вот если он от юрлица, то должно быть обязательно указано назначение платежа, причем это может быть либо «зарплата», либо «авторское вознаграждение». Казалось бы, всё же просто? Я — автор, это моё авторское вознаграждение, но нет. Во-первых, очень сложно объяснить зарубежным бухгалтерам, что тебе от них надо. Во-вторых, от наших банковских работников невозможно добиться простых ответов. Например, я спросил, как по их мнению, на английском языке должно звучать «авторское вознаграждение», чтобы они (банковские работники) однозначно его интерпретировали как авторское вознаграждение? Ещё я спрашивал, как же называется поле «назначение платежа» в английской версии? Что именно я должен попросить заполнить издательство и как?

На момент написания этой статьи однозначного решения нет. Я работал с тремя разными банками и каждый раз сталкивался с этими проблемами. Каждый раз происходят какие-то дикие вещи, у меня нет приличных слов, которыми можно было бы тут описать моё отношение к банкам и государству в этом вопросе. Если вам будет нужно — стучитесь в личку, может к тому моменту я смогу дать нормальный ответ.

Ещё один вопрос,который мне часто задают: будет ли эта книга опубликована на русском языке? По условиям контракта все права на распространение (включая другие языки) принадлежит издательству. Это означает, что для публикации русской версии необходимо найти русскоязычное издательство, которое будет заинтересовано в публикации (или же само издательство заинтересуется переводом). Дальше издательства договариваются между собой, а какие там условия для авторов — я не знаю, не сталкивался.

Сам я не пробовал работать с русскоязычными издательствами (и вообще с издательствами стран СНГ), у меня к ним... очень слабое доверие :) Самая простая схема обмана автора, о которой я слышал: довыпуск тиража. То есть напечатали 10 тысяч экземпляров, они быстро разошлись, издательство печатает ещё 10 тысяч, но сумму тиража оставляет той же. В итоге автор получает прибыль только с первых 10 тысяч. Проконтролировать это нереально. Не знаю, может и зарубежные издательства делают похожие вещи, но к ним всё же доверия больше, чем к нашим. Поэтому свои русскоязычные учебники я распространяю бесплатно.

На каком языке публиковать? Как по мне, то публиковать книги лучше на английском языке.Аудитория больше: США, Европа, Канада, Индия, да и куча других стран. По своему опыту скажу: писать сразу на английском языке вовсе не обязательно. Нужно лишь знать английский язык достаточно хорошо для того, чтобы вычитать книгу после перевода. Редкий переводчик знает специфику IT, но даже если знает — лучше вычитать, ошибки есть всегда.

Если у вас нет таких знакомых, то просто возьмите одну страницу текста наугад и отправьте в несколько бюро переводов с просьбой перевести его для оценки и принятия решения. Естественно, вам придётся заплатить им всем за перевод этой страницы, но оно того стоит. Вы сможете выбрать вариант, который вас устроит больше всего, и продолжите работать уже с переводчиком, который его делал. В целом стоимость перевода для айтишников не очень высока (даже учитывая, что перевод таких текстов самый дорогой), но обязательно вычитывайте переведённый текст. Если же ваш английский недостаточно хорош для вычитки, то лучше подумать о публикации на родном для вас языке.

Немаловажен также стиль написания. Я знаю как минимум два стиля: обычный и академический. Текст в обычном стиле написан понятным языком. Его не составляет труда прочесть даже человеку, слабо разбирающемуся в теме. Академический текст изобилует спецтерминами, сложными оборотами. Его трудно читать даже специалистам. Кроме того, такие тексты получаются больше по объёму, чем аналогичные тексты, написанные в обычном стиле. Я предпочитаю именно обычный стиль, так как мои книги рассчитаны больше на начальный и средний уровень подготовки читателя. Кроме того, я сам не люблю читать сложные тексты, их воспринимать гораздо труднее.

В связи с этим вспоминается пример с первого курса моего обучения, предмет «Безопасность жизнедеятельности» (БЖД). Преподаватель нам надиктовывал конспект по методичке, и его диктовка выглядела примерно так: «В случае возникновения ядерного взрыва местным населением предпринимаются следующие основные мероприятия по обеспечению безопасности и сохранения здоровья». После чего следовал список действий, которые необходимо совершать. Естественно, вместо всего этого в конспект нужно было записать только три слова: «При ядерном взрыве». После чего перечислить эти самые мероприятия. Наверное, с тех пор у меня и возникла нелюбовь к таким текстам.

Работа с издательствамитоже ведется по-разному. В первом издательстве все главы и изменения мы пересылали по почте, при этом переименовывая файлы (Chapter_1_first_draft, Chapter_1_second_draft). Я тогда ещё подумал, а почему они не используют систему контроля версий? И вуаля — во втором издательстве всё делалось через такую систему, причём с возможностью вообще всю работу делать онлайн.

Заключение

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

Но в целом процесс работы с издательством — сам по себе уникальный и интересный опыт, поэтому если у вас возникнет такой шанс — рекомендую попробовать. В худшем случае вы просто ничего не получите (если, к примеру, сорвёте сроки или просто остановитесь на полпути). Никаких штрафов с вас никто взимать не будет, так как убытков по сути нет. Вы просто не состоитесь, как автор. Но это совсем уж пессимистический вариант.

Я знаю, что сейчас уже несколько человек из стран СНГ стали авторами англоязычных учебников (были статьи про них на Habrahabr и Ain), а уж русскоязычных авторов вообще огромное количество. Так что если у вас есть идея или даже какие-то наработки, то почему бы и не попробовать? Просто не надо рассматривать это как основную работу, это, скорее, хобби. Очень немногие авторы пишут бестселлеры :) Но кто знает, вдруг вы станете одним из них?

P. S. Если кому интересно, то мой сайт alpaev.com. Там есть все ссылки на книги, мои контакты и прочее.

DOU Hobby: Марафон — стресс-тест на 42 км, где есть только ты, дистанция и ничего лишнего

$
0
0

[DOU Hobby — рубрика о нетехнических проектах IT-специалистов: творчество, интересное хобби и другие lifestyle-достижения. Если вам есть о чем рассказать — пишите на valentina@dou.ua]

Харьковчанин Женя Годун, Java Developer в Waverley Software, пробежал 5 марафонов за 3 года и поставил личный рекорд, одолев 42 км за 2:57 часа. Женя мечтает преодолеть все марафоны из серии World Marathon Majors — Берлин, Бостон, Токио, Чикаго, Нью-Йорк и Лондон.

Беговой стаж киевлянина Сергея Яременко, Data Analyst в MacPaw, — 6 лет. За это время он 5 раз бегал горные ультрамарафоны, один горный марафон и два классических марафона. Сергею нравится бегать в горах, и гонки он использует как повод чаще туда выбираться.

Слева — Женя, справа — Сергей

В интервью Женя и Сергей рассказали о своем опыте, беговых приключениях, а также объяснили, как и с чего начинать новичкам.

— Женя, Сергей, как вы заинтересовались марафонами? Почему нравится бегать?

Женя:До 2014 года я, как и все, изредка побегивал по утрам: начинал с понедельника\начала месяца\как только будет тепло, и хватало меня где-то на неделю.

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

Сказать, что мне нравилось бегать — ничего не сказать. Были боли в боку после первого километра, тяжелое дыхание и боли в ногах. Надеялся, что так будет не всегда. По началу даже бегал с музыкой, очень нравилось бежать под «Времена года» Вивальди. Пока не доходило до боли в боку, которую я описал выше.

Сергей:Системно бегать я начал около шести лет назад. До этого немного бегал в школе, но на несколько лет забросил. Вернулся, когда начались мелкие проблемы со здоровьем. Потратил 2 месяца на походы к врачам, но так и не получил вразумительного ответа на вопрос, что со мной происходит. Тогда плюнул на все и побежал — противопоказаний к бегу не было. Проблемы отступили, а бег остался.

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

— Когда подписались на свой первый марафон? Как готовились? Как все прошло?

Женя:В 2014 году проходил Харьковский международный марафон, и что-то дернуло меня зарегистрироваться. Марафон проходил в начале апреля, зарегистрировался я в конце осени, и у меня была вся зима на подготовку. Точнее, я так думал.

В декабре записался в тренажерный зал, чтобы там бегать на дорожке. В январе одолжил беговую дорожку у друзей, чтобы заниматься дома, но побегал на ней ровно 1 раз. В феврале стало потеплее: вышел тренироваться на улицу.

Попутно скачал в интернете план «Как подготовиться к марафону за 4 месяца», который включал в себя 3-4тренировки в неделю. С марта начал по нему готовиться, но марафон-то был запланирован уже на апрель. Итак, у меня были 2 тренировки в неделю по 10 км, на выходных 18-21 км.Итого в подготовке к марафону я набегал километров 100 (не надо так). За неделю до старта еще потянул шею на футболе, не мог ее поворачивать. Но я же зарегистрировался, надо бежать!

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

Женя на марафоне в Праге, 2016

И вот, день Х. Была довольно холодная погода. Я стартовал в шапке и перчатках, наверно, поэтому не поймал обезвоживание и обморок километре на 30-м.Не знаю, с каким темпом я бежал, но хватило меня километров на 25. После этого первый раз перешел на шаг, и уже дальше на бег это не было похоже. Я шел, ел на пунктах питания, уговаривал себя бежать. Меня хватали судороги везде, где можно хватать. На финише схватили сразу две ноги, но финишная фоточкаполучилась красивая.

Итоговое время — 4:06:49. На этом плюсы закончились :) Я хотел лежать всю оставшуюся жизнь, а бег вспоминал с презрением и надеялся, что я больше никогда никуда не буду бежать. На восстановление ушло несколько месяцев. Потом на первой же футбольной тренировке подвернул ногу и еще пару недель пролежал в кровати. Зато пробежал марафон.

Сергей:Мой первый марафон оказался горным, пробежал я его в 2016 году в Барселоне. Первый классический (шоссейный) марафон был всего 2 месяца назад в Киеве.

Так вышло, что последние 2-3года я полностью переключился на бег в горах. Это отдельный жанр в беге на длинные дистанции. У него даже есть свое название: trail running или sky running, если речь идет о действительно высоких горах.

До гор я бегал исключительно по асфальту и на третьем году занятий готовился к полному марафону в Гамбурге. Тогда буквально за месяц до старта всплыла старая травма спины, и все пришлось отменить. После восстановления врач посоветовал больше бегать по грунту, а мои друзья как раз организовывали беговой лагерь в горах. Съездил — понял, что такой формат мне больше нравится.

Я медленный, но довольно выносливый бегун. Если выбирать между тренировками для действительно быстрого шоссейного забега и многочасового ультрамарафона (ультрамарафон — забег с большей продолжительностью, чем марафон), я почти всегда остановлюсь на втором. Горы, ко всему прочему, дают ощущение приключения на каждой тренировке: постоянно меняется поверхность, сложность и погода.

Впечатлениями лучше поделиться о самом волнительным и самом длительном забеге на текущий момент: 100+ км по горам Хорватии с хорошим перепадом высот. Тревожности добавляла не столько длина (хотя за 15+ часов может случиться что угодно), сколько то, что старт был весной: форма далеко не на пике, а готовиться нужно в зимних Карпатах и заснеженном Голосеевском лесу в Киеве. Это было не очень похоже на профиль будущей трассы.

Тем не менее, все прошло отлично: погода была близка к идеальной, я поддерживал более-менее правильные темп и режим питания. Где-то после 60 км появилось понимание, что раз самочувствие еще хорошее, а травм нет, то я, наверное, финиширую. Последние часа два были довольно мучительными, но ничего сверхчеловеческого делать не приходилось: я все так же передвигал ноги, пока они передвигались.

Сергей на Chornohora Sky Marathon‘17

На большие осенние забеги в этом году я не регистрировался, поэтому решил поставить галочку в марафонах по шоссе. Пробежал 2 марафона подряд с месячным перерывом между стартами: Киев и Нью-Йорк. Киев порадовал отличной организацией: все работало как часы. Марафон в Нью-Йорке — самый большой беговой праздник в мире: 50 тысяч бегунов, 1 млн зрителей, продумана каждая мелочь до, во время и после забега. Огромный город на несколько дней превращается в околобеговое сообщество. Ради такого, наверное, и стоит бегать.

После закрытия вопроса с марафонами осталось неоднозначное чувство: раньше сам факт финиша казался недостижимой целью. Сейчас же начинаешь смотреть на процесс иначе: это вроде как всего 3,5 часа, из которых действительно сложные последние 30 минут. Вполне себе терпимо.

— В каких забегах участвовали? Каких результатов удалось достичь?

Женя:Я пробежал 5 полных марафонов, считая первый, который хотелось бы забыть. Через полтора года после первого был Варшавский марафон, к которому я уже готовился с тренером, с 1000+ километров набега при подготовке. Это дало свои плоды — сбросил ровно час с предыдущего результата: 3:06:49. Как говорится, аппетит приходит во время еды, и следующая цель замаячила впереди — World Marathons Majors. Это 6 лучших марафонов в мире — Берлин, Бостон, Токио, Чикаго, Нью-Йорк и Лондон. На них довольно тяжело попасть, и проводятся они раз в год, поэтому это довольно долгосрочная цель.

Через полгода после Варшавы я зарегистрировался на Пражский марафон, но вселенная была против. Во-первых, перед Прагой я принимал участие в Харьковском марафоне, организаторы которого объявили отдельный зачет среди айтишников на дистанциях 10 и 42 км. Я был твердо намерен выиграть забег на 10 км, хотя тренер говорила, что готовиться надо или к марафону или к быстрой десятке. Мне захотелось и того, и другого. В итоге подготовка была направлена на скоростные работы. Забег на 10 км в номинации IT я таки выиграл, но марафон через месяц требовал большего уважения. К тому же, до марафона выпала двухнедельная командировка в Америку, поэтому из Сан-Франциско я летел сразу в Прагу и был немного не в той форме, хотя и бегал по 2 раза в день в Америке. В итоге жара и отсутствие беговых объемов сделали свое, где-то на 32 км пришлось переходить на шаг и растягиваться. Хотя финишировал с неплохим временем — 3:19:42.

Дальше по плану был Берлин, я выиграл в лотерею участие в марафоне и был намерен пробежать его быстро. Готовился преодолеть дистанцию менее, чем за 3 часа — чтобы иметь возможность зарегистрироваться на Бостонский марафон (там квалификационная система, просто так попасть нельзя). Тем более в Берлине самая ровная марафонская трасса: там поставили несколько мировых рекордов, включая текущий — 2:02:58.

Женя на марафоне в Нюрнберге, 2016

В процессе подготовки я, к сожалению, получил травму, и вынужден был не бежать, хотя это решение далось очень тяжело. Потом был долгий путь восстановления и попытка повторить этот забег через год. В процессе подготовки я еще переплыл Босфор, что дало дополнительную форму. Забег прошел хорошо, несмотря на дождь на протяжении дистанции. Мое итоговое время — 2:57:00, что дает возможность бежать Бостон в 2019 году.

После Берлинского марафона на волне хорошей формы я захотел пробежать еще один марафон в этом сезоне. Мой выбор пал на Афины — аутентичный забег из деревни под названием Марафон в Афины. Тренер разрешила, если бежать небыстро, чтобы потом не впасть в тренировочную яму — когда много тренируешься, но из-за усталости организма результаты не растут. Все прошло неплохо: я не переходил на шаг, в легком темпе пробежал марафон за 3:26 и проникся духом античного забега.

Сергей:Я 5 раз бегал ультрамарафоны:

  • горный ультрамарафон в Истрии (Хорватия) — 107 км и 4500 м набора высоты за 16,5 часов;
  • горный ультрамарафон Карпатия — 2 дня подряд, 41 и 48 км, около 6000 м набора высоты, 12,5 часов;
  • ультрамарафон в Каппадокии (Турция) — 60 км и 1800 м набора высоты за 7 часов;
  • и дважды горный ультрамарафон Chornogora Sky Marathon — 46 км и 2500 м набора высоты за 6,5 часов в 2016 и 57 км и 3200 м набора высоты за 8 часов в 2017.

3 раза участвовал в марафонах:

  • горный марафон в Барселоне — 42 км и 1500 м набора высоты за 5 часов;
  • марафон в Нью-Йорке’17 за 3 часа 16 минут;
  • Марафон в Киеве’17 за 3 часа 21 минут.

Кроме этого, была масса других забегов на меньшие дистанции.

— Как удается совмещать бег и работу? Много ли времени уходит на тренировки?

Женя:Тренировки обычно проходят утром. Часов в 7-7:30 выбегаю,часик бегаю, потом иду на работу. В целом на тренировки уходит 6-7часов в неделю. Дополнительно — восстановительные процедуры (баня, массаж), иногда бассейн и тренажерка.

В компании хорошо относятся к удаленной работе, поэтому на некоторые зарубежные старты можно даже не брать отпуск, а работать в будни и бегать в выходные. Так было с Берлином и Прагой. На Афины ушло всего 2 дня отпуска.

В целом заниматься бегом затратно по времени, если относиться к этому серьезно.

Сергей:Если заниматься только бегом, пусть даже на очень длинные дистанции, это требует гораздо меньше времени, чем, например, популярный сейчас триатлон.

В активной фазе, то есть перед важным забегом я тренируюсь 6 дней в неделю. Большая часть занятий вкладывается в 1-1,5 часа,есть всего одна длительная тренировка на 2-4часа в воскресенье.

Сергей на тренировке в Карпатах

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

Соответственно, на все остальные сферы бег негативно не влияет. Если у тебя есть мотивация, ты занимаешься.

— Полезны ли в жизни, работе какие-то навыки, полученные при занятиях бегом?

Женя:Как говорится: «Если хочешь бегать — пробеги милю. Если хочешь узнать иную жизнь — пробеги марафон. Если хочешь поговорить с Богом — беги ультра!»

Я пока только на втором этапе, но марафон — это не столько про физическую форму, сколько про strong mindset.

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

Сергей:Бег дает ощущение концентрации, которое особенно ценно в эпоху абсолютной расфокусировки. В тех же горах ты просто не можешь себе позволить думать о чем-то существенно большем, чем следующий шаг.

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

Бег на длинные дистанции, в частности, добавляет настрой «играть в длинную»: ты привыкаешь держать спокойное состояние в довольно сложных условиях столько, сколько нужно.

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

— Насколько серьезны требования к физической форме для бегуна? Есть ли физические ограничения?

Женя:Прежде всего для участия в марафоне нужно пройти медосмотр: желательно ЭКГ под нагрузкой, чтобы врач понял, как организм реагирует на нагрузки. С разрешением врача, как мне кажется, никаких физических ограничений нет.

Все ограничения в голове. Главное — заниматься с умом и постепенно.

Женя на полумарафоне в Николаеве, 2017

Сергей:Серьезные запросы есть к спортсменам-профессионалам, которые зарабатывают деньги на соревнованиях. Когда мы говорим о любителях, основные требования — отсутствие патологий и здравый смысл.

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

Тут может возникнуть резонный вопрос: «100 км по горам не звучит как умеренная нагрузка, не так ли?» Ответ кроется в адаптации: если повышать планку постепенно, организм начинает понимать, как себя вести во время бега и как восстанавливаться после. Когда что-то идет по-настоящему не так — его реакция очень однозначная.

Понятно, что некоторые привычки, вроде курения, слабо совместимы с бегом. В таком случае приходится выбирать, что радует больше :)

— Насколько в Украине развито движение марафонцев? Какие марафоны и когда проходят? Как принять участие?

Женя:В последние годы движение активно развивается. Увеличилось количество забегов, чаще всего на полумарафонские дистанции. Если пару лет назад было тяжело найти 2 старта на полумарафонскую дистанцию за 2 недели, то сейчас очень часто приходится выбирать, в какой город ехать на старт.

Если говорить конкретно о марафонах, сразу приходят в голову:

  • Харьковский международный марафон в апреле. Самый большой в Восточной Украине, очень атмосферный, но жаркий и с большими перепадами высот.
  • Киевский WizzAir марафон в сентябре-октябре. Хороший по погоде, один круг, но с большими перепадами высот.
  • Киевский Euro Marathon в мае, 6 кругов. С финишем на НСК «Олимпийский».
  • Белоцерковский марафон. Известен хорошими призовыми и возможностью отобраться на Олимпийские игры.
  • Днепровский марафон в конце сентября. Этот забег — чемпионат Украины по марафону.

Помимо этого, есть марафоны в Одессе, Краматорске, международный марафон Яворив-Любачив и многие другие.

Чтобы принять участие, обычно достаточно зарегистрироваться онлайн и оплатить стартовый взнос. При получении стартового пакета, скорее всего, вас попросят показать справку от врача.

Сергей:Когда я начинал бегать шесть лет назад, беговое движение уже было заметным и активно росло. Сейчас почти у всех есть знакомые, которые принимают участие в забегах и пишут мотивирующие посты с фотографиями после пробежки.

По сути, у нас сейчас есть 2 лагеря: «Мир, труд, ЗОЖ» vs «Бегайте по стадиону, нечего тут дороги перекрывать». Надеюсь, когда-нибудь мы созреем до уровня того же Нью-Йорка, когда, даже если ты не занимаешься каким-то видом спорта, ты понимаешь, почему люди это могут делать, и по возможности выходишь их поддержать.

Сергей на WizzAir Kyiv City Marathon

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

— Что можете посоветовать новичкам? С чего и как лучше начинать? На что обратить внимание?

Женя:Главный совет — найдите себе тренера или устройтесь в беговой клуб. Это может быть и удаленная работа: я со своим тренером удаленно занимаюсь уже 2,5 года, но без нее этих бы результатов не было.

Купите беговые кроссовки. Не стоит бегать в старых кедах или эйрмаксах. В беговых кроссовках есть специальная подошва, которая помогает распределить нагрузку и минимизирует вероятность травмироваться.

Если есть возможность, купите пульсометр. Ваш пульс во время тренировки — это очень важный показатель, которым нельзя пренебрегать. Чем более вы тренированы, тем ниже будет пульс.

Не надо бегать каждый день. Организму нужно время, чтобы восстановиться. Нагрузку и объемы нужно повышать постепенно. Это, кстати, еще один аргумент в пользу тренера.

Не стоит на каждой тренировке ставить личный рекорд: все должно быть дозированно и размеренно.

Ставьте цель, регистрируйтесь на старт и начинайте готовиться :) Только цель не слишком оптимистичную: марафон за 3 месяца — это не то, что вам нужно. За месяц-два можно подготовиться к десятке, за 3-6месяцев — к половинке, от 9 месяцев до года — к полноценному марафону.

Женя на марафоне в Варшаве, 2015

Сергей:Начать стоит с коротких низкоинтенсивных пробежек пару раз в неделю. Идеально до этого пройти медосмотр и понять, нет ли каких-либо противопоказаний к спорту в принципе.

При этом даже если вы занимались спортом всю жизнь, но не бегали регулярно, не стоит увлекаться и делать по 10 км за тренировку. Организму нужно привыкнуть к новому виду активности.

Сейчас, когда только ленивый не запостил фотографию с медалью полумарафона, психологически сложно выдерживать режим новичка. Тем не менее форсирование событий практически всегда приводит к травмам. Лучше первые полгода бегать медленно и мало, но системно, чем пробежать 50 км за первую неделю, а потом забросить бег навсегда.

У моих друзей, онлайн-журнала о беге «Ногибоги», есть отличная рубрикасо всеми важными знаниями для новичков, которую я и советую знакомым.

— Какие беговые цели ставите себе на будущее?

Женя:Моя цель на ближайшие пару лет — пробежать World Marathons Majors. В 2018 побегу Чикаго, может быть Нью-Йорк, если повезет в лотерее. В 2019 — Бостон. Чтобы увеличить шансы попасть на Токио, желательно пробежать марафон за 2:45. Шансы на Токио и Лондон в лотерее примерно 10%, и я уже по 2 раза получал отказы. Но я не отчаиваюсь. В Украине сейчас есть 2 человека, которые пробежали всю шестерку.

После этого буду смотреть дальше. Может, 100 км или суточные забеги. Может, многодневки — например, Marathon des Sables в Сахаре. Также не покидает мысль пробежать 7 марафонов за 7 дней на 7 континентах, только это дорого стоит.

Еще в списке есть марафон по Китайской стене. Так что планов хватит на жизнь вперед :) Все ограничения у нас в голове. Если кто-то смог, почему у меня не получится?

Сергей:Весь следующий год я планирую посвятить трейлам. Если в шоссе выбор обычно сводится к «В каком городе выбрать марафон?», то в трейловом беге разнообразие вариантов гораздо существенней. Есть принципиально разные локации, покрытия, расстояния, профили трассы и форматы.

Скорее всего, все забеги будут горными и по трейловым меркам средней длины: 50-100 км.Основные старты планирую на середину весны, лета и осени.

Сергей на Bukovel Race

Хочу попробовать многодневку: каждый день в течение, например, недели, тебе нужно просыпаться и проходить новую дистанцию.

Если говорить о планах подальше, то в горном беге есть свой «самый знаменитый забег» — Ultra Trail du Mont Blanc. Это гонка длиной 100 миль (160+ км) вокруг массива Монблан в Альпах. По меркам трейла это самое массовое мероприятие: около 10 тыс. стартующих, и, своего рода, большой праздник гор. На UTMB нельзя зарегистрироваться «с улицы»: для подачи заявки на участие нужно финишировать хотя бы 3 дистанции по 100+ км за последние 2 года.

Наверное, это такая же «галочка», как и когда-то финиш шоссейного марафона. Но, кажется, чтобы ее поставить, нужно приложить несколько больше усилий.

Архитектура ПО: что это значит и как выстроить свою

$
0
0

Все разработчики, с которыми мне приходилось сотрудничать, так или иначе упоминали термин «архитектура». Хотя это очень размытое понятие, им оперируют почти все. Я долго пытался разобраться сам: что имею в виду, когда говорю, что это часть архитектуры, а это — нет. Статьи на Wikipedia и в некоторых других источниках крайне занудные. Похоже, что понятие довольно старое и не имеет четкого определения внутри современных Agile стилей разработки. Но мы по-прежнему оперируем им. Поэтому постараюсь дать определение этому понятию в рамках Agile Development Process.

Что считать архитектурой

Начнем с того, на чем сходятся все источники:

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

Это, пожалуй, все. Помимо этого, есть много шума о том, как именно она должна создаваться и какие есть подходы по управлению ею. Во всех этих описаниях используются такие мудреные слова, что сложно представить подобные процедуры в рамках Agile процессов.

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

То, насколько сложно поменять решение, определяет степень его архитектурности. Также важно, что любое решение легко поменять на следующий день после его принятия или легко поменять решение, которое мало на что влияет. Причем в данном случае «решение»- это как программное решение, так и просто договоренность (которая рано или поздно все равно закрепляется программным решением).

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

Пример: степень архитектурности базы данных — это количество данных, которые в ней хранятся. То есть чем больше вы храните данных в этой конкретной базе, тем более архитектурна она для вас. С другой стороны, подключенная к проекту база данных, в которой пока или уже ничего не хранится, архитектурой не является. При этом важно сделать упор именно на то, насколько сложно потом эту базу сменить. Например, если вам понадобится поменять MySQL на PostgreSQL, то архитектурность MySQL будет зависеть от количества специфичных ее фич, которые вы использовали.

Очень важно отслеживать архитектурность тех или иных решений по мере развития проекта, а не только при его зарождении. В outsource-компаниях часто встречается подход, когда в новый проект приходит важный дядя (например, CTO компании) и создает архитектуру, а на следующий день уходит из проекта. Его решения действительно важны, но архитектура им не строится, а строится теми, кто эти решения использует.

Так, возвращаясь к примеру с базой данных, важно отмечать дополнительные завязки на MySQL по мере их появления. Если вы используете ORM поверх базы — появляются они, как правило, не сразу, а намного позже.

Что важно заложить в начале проекта

Конечно же, в начале любого проекта принимается много архитектурных решений: как хранить данные, какой выбрать язык программирования, какой framework? Но также важно понимать, что все еще можно поменять на первых стадиях работы над проектом. И только со временем эти решения становятся настоящей архитектурой — той, которую сложно поменять.

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

Очень часто в новых проектах доминирует философия: «Нам нужно с самого начала сделать все правильно, потому что потом у нас не будет времени что-то менять». Это правда, потому что все время потрачено на то, чтобы сделать все правильно, а не на то, чтобы делать корректировки по ходу, которые и представляют собой суть Agile процесса.

Кроме того, команда или отдельные люди часто не хотят признавать ошибочность своих первоначальных решений или хотя бы непредсказуемость развития проекта. Agile, увы, так не работает... По моему опыту, вот список базовых вещей в порядке их важности, которые следует выбрать правильно изначально и потратить на это дополнительное время:

  1. Структура хранения данных
  2. Язык программирования
  3. Development Framework

Все остальное, как правило, можно поменять или выбрать по ходу с гораздо меньшей ответственностью. Если ваш проект проживет достаточно долго, то рано или поздно все остальное придется менять и адаптировать.

Своя или заимствованная архитектура

Зачастую заимствованные программные решения гораздо проще поменять, чем собственные разработки. Так происходит потому, что заимствованный софт совсем ничего не знает о ваших личных целях и задачах. Он решает общие для всего software-community проблемы, которые решены не один раз и похожим способом: поменять один хостинг на другой будет несравнимо проще, чем поменять структуру данных, вами же созданную.

Создание архитектуры из собственного кода в долгоиграющих проектах очень важно. Все начинается с простого повторного использования кода: кто-то написал класс или метод и кто-то им воспользовался. Архитектурность кода как раз определяется количеством его повторных использований. Первый хороший звоночек, что у вас это получается — если написанный вами метод используют другие члены вашей команды без принуждения. Это говорит о том, что им проще положиться на ваш код, как на архитектуру, чем создавать что-то с нуля.

Все мы знаем, как программисты любят создавать велосипеды. Причин этому две. Очевидная — неумение этих программистов адаптировать существующие решения под свою задачу. И неочевидная — низкое качество кода внутри проекта. Думаю, что каждый из нас был по обе стороны баррикады: не хотел использовать код, написанный другими, и писал код, который другие не хотят использовать. Архитектуру можно построить, только если научиться писать свой качественный код и применять старый код.

Так или иначе при очередном повторном использовании код нужно адаптировать. И здесь важную роль играют тесты. Именно они помогут убедиться, что после адаптации код так же хорошо выполняет старые задачи, как и новые.

Как же построить свою архитектуру

  • Следить за явными и не очень явными повторениями кода и устранять их сразу.
  • Искать решения похожих проблем, а не только в точности одинаковых.
  • Писать тесты.
  • Обобщать и адаптировать старые решения под новые задачи.
  • Понимать необходимость создания собственной архитектуры для конкретного проекта как важной надстройки над заимствованной.
  • Не бояться менять и расширять код других членов команды (особенно экс-сотрудников, кода которых все боятся как огня).
  • Создавать что-либо с нуля, только если достаточно уверены, что нет абсолютно никаких наработок на эту тему внутри проекта.
  • Понимать, что создание архитектуры — непрерывный процесс, а не просто разовая акция по принятию архитектурных решений.
  • Отслеживать степень завязки проекта на конкретные решения и своевременно их корректировать по ходу его развития.

DOU Labs: как в Sigma Software создают AR-приложения и исследуют возможности Vuforia SDK

$
0
0

В рубрике DOU Labsмы приглашаем IT-компании делиться опытом собственных интересных разработок и внутренних технологических инициатив. Вопросы и заявки на участие присылайте на editors@dou.ua.

Уже больше четырех лет я занимаюсь разработкой приложений под Android и искренне верю, что новым технологиям самое место именно в мобильной разработке. Поэтому и приняла участие в экспериментальном проекте на базе Vuforia SDK.

Дополненная реальность (от англ. augmented reality — AR) становится все более популярной в мире мобильных технологий. Каждый день появляется множество AR-приложений. Причина этого вполне очевидна, ведь большую часть информации (около 90%) мы получаем с помощью зрения. Дополняя реальный мир цифровой информацией, мы обогащаем зрительное восприятие пользователя, а значит, мы даем ему возможность взаимодействовать с информацией, наложенной на картину реального мира. Этот новый подход меняет то, как пользователи воспринимают и используют мобильные приложения. Основные области потенциального применения AR-приложений: реклама, индустрия развлечений и игр, образование, дизайн интерьера и т. д.

Существуют различные типы AR, каждый из которых имеет свою сферу применения. Самые известные сейчас библиотеки по работе с AR: Wikitude, Vuforia, OpenCV, ARCore. В этой статье я расскажу об AR, основанной на распознавании 3D объектов, и нашем опыте работы с Vuforia SDK.

Коротко о Vuforia

Vuforia — это программная платформа для создания приложений дополненной реальности. Она имеет широкий ряд функций и способна распознавать предметы, изображения, цилиндрические формы, текст и многое другое. Изначально она была запущена в 2011 году и продолжает активно развиваться. Поскольку Vuforia не является бесплатной программой с открытым исходным кодом, для ее использования нужен лицензионный ключ. При этом платформа предоставляет возможность использовать лицензионный ключ разработчика, чтобы опробовать работу библиотеки, и уже позднее подобрать тариф согласно нужд вашего проекта.

Распознавание объектов

Распознавание объектов позволяет определять и отслеживать 3D объекты на изображении или видео. Вкратце, механизм распознавания выглядит следующим образом: изображение анализируется инструментами распознавания SDK на наличие необходимого количества функциональных точек. Это происходит путем сопоставления текущего изображения с подготовленными заранее изображениями реального объекта. Если функциональных точек достаточно, распознавание проходит успешно. В итоге SDK предоставляет информацию о расположении и ориентации объекта, что позволяет приступить к дополнению реальности.

Создание Object Targets базы данных

Зарегистрировавшись на портале Vuforia Developer Portal, вы получаете доступ к предоставляемым платформой ресурсам: Vuforia SDK, Vuforia Object Scanner, примерам работы с SDK и т. д.

Object Targets — это цифровое представление характеристик и геометрии физического объекта. Object Target создается путем сканирования физического объекта с помощью приложения-сканера Vuforia Object Scanner. Благодаря этому приложению, объект можно отсканировать со всех сторон, заполнив таким образом набор функциональных точек, которые важны для использования вашего приложения. Также оно позволяет протестировать результаты сканирования или же продолжить незавершенное ранее. После сканирования будет сгенерирован файл Object Data (*.OD), который включает в себя исходные данные об объекте, которые позже понадобятся для создания Object Target. Ниже — скриншоты нашего процесса сканирования:

Vuforia имеет несколько ограничений, не позволяющих физическим объектам быть целевыми объектами распознавания. Вот некоторые из них: объект должен быть непрозрачным, жестким, с четкими и контрастными формами; также он не должен содержать движущихся элементов. Важно отметить, что распознавание объектов с помощью Vuforia SDK оптимизировано для работы с объектами небольшого размера (не превышает размер стола).

После сканирования полученный файл с данными объекта (Object Data file) необходимо загрузить в Vuforia Target Manager на портале Vuforia Developer Portal, создав таким образом вышеупомянутый Object Target. На основе этого генерируем Device Database. Вуаля! Теперь база данных с отсканированным объектом в вашем распоряжении и готова к использованию в приложении.

Экспериментальное AR-приложение

Чтобы попробовать, как это работает, мы решили создать приложение для Android — интерактивное пособие по использованию дистанционного пульта управления (ДУ) для кондиционера. Основная цель приложения — инструктаж пользователя, как включить режим охлаждения воздуха. Эта довольно простая идея, которая появилась у нас одним жарким летним днем, идеально демонстрирует возможное применение AR в повседневной жизни.

Приложение было создано с помощью следующих инструментов: Android Studio, Vuforia SDK, OpenGL 2.0. Object Target в данном случае — это пульт ДУ. При наведении камеры устройства на него пользователь видит интерактивные инструкции, которые нужно последовательно выполнять.

С технической точки зрения, когда SDK распознает пульт ДУ, он выдает нам матрицы проекции и модели, на основе которых мы можем создать слой дополненной реальности поверх изображения пульта на камера превью. Начало системы координат для пульта находится в верхнем левом углу. Мы его определили сами, расположив наш пульт таким образом на этапе сканирования. Шкала измерения — в миллиметрах. В результате, зная размеры элементов физического объекта в миллиметрах, мы можем проделать нужные OpenGL преобразования для создания дополненного слоя в текущем шаге интерактивного пособия.

Дополненная реальность в нашем приложении сделана исключительно посредством библиотеки OpenGL. Однако для отображения более сложных трехмерных сцен нужно рассматривать интеграцию с 3D библиотеками. Вот несколько скриншотов нашего приложения:

Зачем мы это делали

Sigma Software активно развивает AR/VR компетенцию. Большой интерес вызывают новые библиотеки в этой области для мобильных устройств и возможности, которые они открывают для разработчиков. Помимо исследований мобильного направления, в нашей R&D Lab есть топовые AR/VR-устройства, такие как: HTC Vive, Oculus Rift Virtual Reality Headset, Microsoft HoloLens, The Meta 2 AR Headset, Sony SmartEyeglass, Epson Moverio BT-200. В каждом из них есть свои достоинства и недостатки, исследуя которые, мы получаем новые навыки и наполняем наш «демо-пакет» небольшими AR/VR-приложениями, которые можно показать клиенту (ведь зачастую результаты коммерческих проектов находятся под NDA, что значительно уменьшает возможное количество наглядных примеров).

В ходе этого эксперимента мы убедились, что Vuforia SDK — это еще одна ступенька к выходу AR-технологий на масс-маркет. Распознавание 3D объектов позволяет избавиться от привычных уже визуальных маркеров и QR кодов и открывает интересные возможности для внедрения AR-технологий в бизнес. Обладая широким спектром возможностей и совсем небольшим количеством конкурентов, Vuforia SDK может быть применен при создании тренингов для обучения нового персонала, маркетинговых кампаний, подбора аксессуаров и многого другого.


Небольшое видео, где можно посмотреть, как работает наше приложение:

Заключение

Как гласит пословица, лучше один раз увидеть, чем сто раз услышать. С помощью таких пособий мы помогаем нашим пользователям учиться более простым и понятным способом. С точки зрения разработчика было очень интересно вникнуть в работу приложения для создания AR и увидеть особенности работы изнутри. Более того, слышать восторженные отзывы пользователей приложения — это отдельное огромное удовольствие.


Искусственный интеллект в медицине: тренды и возможности

$
0
0

[Об авторе: Наталия Сиромаха, директор по инжинирингу GlobalLogic. Имеет в своем портфолио широкий спектр проектов от healthcare до security в Украине, США, Канаде. Лидер инновационной лаборатории BrainMade в GlobalLogic. Занимается развитием бизнеса в харьковском офисе компании, где уже более 4 лет возглавляет медицинские проекты и управляет распределенным командами]

Эта статья подготовлена на основе доклада Наталии Сиромахи на Outsource People Kyiv 2017.

Индустрия здравоохранения — одна из самых быстрорастущих в мире. Ученые прогнозируют, что к 2030 году персонализированная медицина с использованием augmented artificial intelligence системы уже станет реальностью, а еще через 5 лет появятся первые больницы без докторов. О том, какие тренды формируют эту сферу сегодня, специфике работы с данными в медицине и о таймлайне использования AI в будущем, вы можете прочитать моей статье.

Тренды в мировой медицине

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

Один из ключевых трендов медицины — постоянный рост затрат на лечение пациентов. Этому есть несколько причин:

  • рост стоимости лекарств, оборудования;
  • увеличение стоимости медицинских услуг;
  • изменение количества и интенсивности используемых услуг (из-за того, что слишком поздно выявлено заболевание или неправильно определено лечение, необходимо больше визитов к врачу и больше дополнительных обследований).

Инвестиционные компании и компании медицинской индустрии заинтересованы в том, чтобы снижать стоимость лечения и услуг. Каким образом это осуществляется?

Во-первых, внедрение индивидуального подхода к лечению. Это возможность улучшить качество лечения, используя несколько методов:

  • отслеживать состояние пациента, собирать данные о нем;
  • делать удаленное обследование с помощью девайсов, которые передают состояние пациента;
  • возможность создать индивидуальный план лечения каждого пациента;
  • ранняя диагностика.

Во-вторых, более широкое внедрение generic лекарств. Ранняя диагностика позволяет использовать общедоступные, недорогие лекарства в протоколах лечения, а не специфичные и дорогостоящие. С другой стороны, фармацевтические компании проводят комплексные клинические исследования для вывода новых медикаментов на рынок. Процедура исследований многоэтапна, занимает несколько лет и требует значительных инвестиций. Таким образом, generic лекарства станут решением, которое поможет сократить издержки компаний на вывод новых узкоспециализированных лекарств на рынок.

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

Возможности и применение AI в медицине

Системы artificial intelligence уже сегодня проходят испытательные применения, а в некоторых западных странах даже успешно используются.

Согласно исследованию Anand Rao «A Strategist’s Guide to Artificial Intelligence», вспомогательные системы (assisted systems) станут коммерчески доступны и будут активно использоваться к 2020 году. Так, системы image classification помогают врачу проводить качественную диагностику с минимальными затратами времени. Сейчас классификацию медицинских изображений и описание снимков делают рентгенологи, УЗИ-специалисты и др. Анализ снимков уже может быть осуществлен с использованием искусственного интеллекта автоматически.

С помощью искусственного интеллекта определяются пациенты группы риска. Этим пациентам доктор уделяет внимание в первую очередь. Таким образом, значительно экономится время и минимизируется возможность ошибки докторов. Например, есть программы для выявления меланомы.

Регулярно человечество сталкивается с эпидемиями. Многие наслышаны про Эбола, малярию и другие вспышки заболеваний, которые передаются как насекомыми, так и через воду. Система искусственного интеллекта, позволяющая контролировать и предсказывать эпидемии, находится в статусе клинических исследований, но уже использовалась и работает в Африке.

Сбор информации происходит при помощи дронов. Они фактически вылавливают комаров, анализируют их ДНК и дают прогноз: где и когда будет следующая эпидемия, — после чего происходит обработка территории риска. Такие системы позволяют предотвратить неконтролируемые вспышки эпидемий.

Дальнейшее развитие искусственного интеллекта приведет к использованию augmented artificial intelligence систем. Эти системы открывают нам новые возможности. Например, с высокой скоростью классифицировать снимки МРТ без вмешательства человека. Также создать персонифицированное лекарство и эффективное лечение на основе конкретных данных пациента — анализов и реакции на химические вещества. По прогнозам, такая услуга будет доступна для массового использования к 2030 году.

К 2035 году ожидается появление больниц без докторов. Это пример автономного искусственного интеллекта, когда система сама принимает решения. Да, конечно, доктора будут все еще нужны, но для каких-то простых кейсов будут доступны вышеописанные возможности AI.

Специфика работы с данными в медицине

В медицинской сфере все данные защищены: информация о каждом пациенте секретна и защищается законом и директивами HIPAA, GDPR. Клиники, исследовательские институты и компании не имеют права их распространять, передавать третьим лицам. Соответственно, есть определенные сложности, с которыми мы сталкиваемся в работе с медицинскими гигантами.

C точки зрения HIPAA, GDPR и защиты персональных данных мы должны обеспечивать защиту от утечки информации наших клиентов из медицинской индустрии. Соблюдение требований этих протоколов — неотъемлемая часть наших медицинских проектов.

Для того, чтобы прорабатывать какие-то модели, не в рамках коммерческих проектов, мы используем публичные деперсонифицированные базы данных. Существуют системы и ассоциации, которые позволяют использовать эти данные. Например, ассоциация по лечению рака. Мы можем использовать их открытую базу данных с уже деперсонифицированной информацией для создания прототипов и моделей систем.

Кроме того, у нас в компании есть специалисты, которые отслеживают, как мы работаем с данными, обеспечивают их защиту. Также у нас налажен процесс деперсонификации данных. Есть отдельные специалисты по этому направлению, которые обрабатывают базы для дальнейшего создания систем искусственного интеллекта.

Примеры использования AI в проектах

Когда человек болен диабетом, у него достаточно большой риск ослепнуть. Это заболевание называется ретинопатия. У нас было 11 367 снимков ретины глаза человека. Основываясь на этих данных, мы создали систему, которая позволяет определять вероятность этого заболевания, стадию, а также диагностировать его на раннем этапе. На данный момент точность составляет 60%. Это не идеальный показатель, но он получен на базе публичных данных. Такая система — пример assisted system. Она помогает врачу классифицировать больных по риску заболевания, и он принимает окончательное решение.

Мы использовали Google TensorFlow. Система работает на основе Convolutional Neutral Network, OpenCV, языки — Python, JavaScript.

Следующая наша система — определение меланомы и классификация болезней кожи. Мы тоже использовали Google TensorFlow. Она помогает врачу принять решение о лечении пациента благодаря автоматической сортировке этих изображений без участия человека. Изначально мы использовали тестовые данные, на которых система училась принимать решения. Теперь, после загрузки снимка пациента, она выдает информацию и показатель вероятности возникновения заболевания.

Технологии, которые были использованы в этом случае: Convolutional Neutral Network, OpenCV и Pre-trained модель ResNet. Pre-trained модель позволила нам ускорить процесс обучения и выйти на показатель в 75-80%точности. Для этого в базе должно быть не меньше 10-15 тыс.изображений. Чем больше изображений — тем более правильна модель. Каждая модель отрабатывается и обучается в несколько циклов. Она выстраивается, потом загружается новый сет данных, ее обучают и корректируют.

Итоги

Развитие современной медицины невозможно представить без внедрения IT-технологий. Цифровая трансформация постепенно захватывает все индустрии мира, помогая решать проблемы, которые стоят на пути их развития. Текущие тенденции в сфере здравоохранения привели к увеличению спроса и, соответственно, инвестиций в развитие решений с использованием искусственного интеллекта и Data Science.

Персональные данные пациентов, которые необходимы для работы IT-компаний, являются конфиденциальной информацией и регулируются такими нормативно-правовыми актами, как HIPPA и GDPR. Соблюдая требования международных директив, IT-компании используют исключительно деперсонифицированные данные и процесс работы с ними строго контролируется.

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

Интенсивный английский с азов: что учить, как поставить цель и не сдаться

$
0
0

Между двумя сотрудниками с одинаковыми профессиональными знаниями работодатель отдаст предпочтение именно тому, у кого выше уровень владения английским. Требование к языку встречается практически в каждой вакансии. И складывается ощущение, что с каждым годом работодатель становится все строже, повышая планку. Поэтому не откладывайте изучение в долгий ящик. Начните прямо сейчас.

Мой 8-летнийопыт работы с клиентами разного возраста помог выработать четкую и эффективную схему изучения языка для разных целей, поэтому let’s get down to business.

В этой статье мы пройдемся по целеполаганию, найдем кратчайший путь к освоению самого необходимого материала, разберемся как, что и когда учить и где брать материал. Если вы уже не один год пытаетесь выучить английский, но застряли на уровне Pre-Intermediate, эта статья будет вам полезна.

Ставьте правильные цели

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

Очень важно понимать, что лени не существует. Существует недостаточно сильная мотивация или слишком размытая цель. Задача нашего мозга — предостерегать нас от ненужной траты энергии (выжить). А изучение языка — ресурсоемкий процесс. Чувствуете конфликт? Поэтому цели типа «для себя», «скорее всего понадобится», «все учат» — недостаточно сильная мотивация для того, чтоб мозг дал сигнал не лениться.

Как же сделать так, чтоб механизм самосохранения работал на нас:

— купить Х
— сменить работу
— заработать на Х долларов больше
— позволить себе путешествовать Х раз в год
Через 30 дней знать все профессиональные термины и иметь представление об основных грамматических конструкциях.
По каким конкретным измеримым причинам вы решили поменять род деятельности?Через 60 дней иметь полное представление о функционировании грамматики как единой системы.
Что знание английского поможет вам изменить в своей жизни?Через 90 дней читать литературу и уметь выделять грамматическую структуру каждого предложения.
Как только будет осознание того, что этот инструмент вам жизненно необходим для продвижения, появится вдохновение, решимость и уверенность.Через 120 дней выражать свои мысли так, чтобы меня можно было понять.

Так что главный совет: прежде чем приступить к обучению, четко сформулируйте цель, зачем вам это надо, как улучшится ваша жизнь со знанием английского. И уже после этого начните разбивать обучение на этапы, не забывая ставить себе дедлайны.

Что и как учить?

Профессиональная лексика по предметной области и грамматика

Начнем с лексики, которая необходима для чтения профессиональной литературы и восприятия учебных материалов (англоязычного контента больше, он свежий и вкусный, поэтому ориентируемся на него). Вопреки расхожему в среде аматоров мнению, General English — это огромный пласт, и прежде чем в него нырнуть, поплаваем на мели. Итак, за дело.

Где взять?
Флеш-карточки в интернете. Гуглим Glossary of (Java/PM/Sales/любая предметная область) Terms — из учебных пособий по международной сертификации, YouTube.

Грамматика в Youtube: Present Simple, Present Continuous, Past Simple, Present Perfect, Future Simple, Passive Voice, Gerund — для начала. Около 50% смысла передается грамматическими конструкциями, поэтому, даже зная необходимую лексику, можно попасть впросак и изменить смысл предложения, употребляя неподходящую грамматическую конструкцию.

Правило для изучения английских времен: учите случаи употребления. Например, Present Continuous — настоящее длящееся, все знают, что это «now». Как тогда понять фразу «You are always interrupting me»? Случай употребления из пособия «Grammarway»: использование Present Continuous с always, constantly, continually для действий, которые часто происходят, для выражения раздражения или злости.

Общий английский

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

Где взять?
Начинаем с глаголов: 330 самых употребляемых глаголов — для начала можете выбрать 100 понравившихся.
Сразу же себе помечаем такую информацию о глаголе:

100 самых употребляемых существительных.

Составляем пары из существительных и глаголов, доводя знания до автоматизма.

Чтение

Важно: читаем и разбираем интересные нам тексты.

  • LearnEnglish. British Council — здесь можно читать, слушать, смотреть по уровням.
  • Forbes, CNN — для тех, кто готов к хардкору, но хочет быстро набрать хороший лексический запас.

Годные словари:

  • WooordHunt — если нужно посмотреть выражение или словосочетание.
  • Multitrun.ru — разбивка слов и значений по сферам употребления.
  • Reverso Context — слово в контексте.
  • Macmillan Dictionary — лучший словарь (произношение, особенности употребления, примеры).

Аккуратно с контекстом. Слово «гладить» на английский переводится как iron и pet. Если вы iron любимого человека, то вы прогладите его утюгом :) Вопрос контекста заслуживает отдельной статьи.

Let’s talk!

Находим собеседника, с которым будем всю изученную лексику практиковать. Я бы советовала начинать разговорные сессии с получаса-часа по длительности через месяц-два интенсивного изучения языка. При условии, что мы начинали с нуля. Если же вы чувствуете себя на Pre-Intermediate, начинайте говорить прямо сейчас.

Вам знакомо чувство, что вы недавно сталкивались с этим словом, но вспомнить его значение быстро не можете? Ни в коем случае не ругайте себя за «бестолковость», а почитайте о механизме работы нашей памяти и кривой Эббингауза. До того, как слово хорошо запомнится, с ним придется столкнуться 6-10 раз.

Подготовка к интервью

Очень важный этап, который многие игнорируют и проваливают интервью. Готовиться к интервью нужно. Всегда. HR задают, как правило, типовые вопросы, на которые было бы хорошо иметь скрипт — приготовленный ответ по вашему CV, записанный и выученный. Это избавит вас от лишнего стресса и придаст уверенности.

Подведем итог

Поскольку английский — это инструмент, а не самоцель, нецелесообразно тратить на него годы, поэтому советую учить интенсивно и за небольшой промежуток времени добиваться значительно лучшего уровня, чем есть на старте. В цифрах это выглядит так: от 60 минут в день, 10 новых слов, режим повторения слов (см. кривую Эббингауза) 2 раза в день — утром и вечером.

В первую очередь сосредоточьтесь на выражениях, которые нужны для конкретно вашего рода деятельности. Не распыляйтесь, стараясь охватить сразу большое количество тем. Фокус — залог успеха.

Весь процесс изучения делим на три фазы: профессиональная лексика и основы грамматики, общий английский (лексика, чтение, разговорный) и грамматика, подготовка к интервью.

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

Ruby/Rails дайджест #12: обзор улучшений Ruby 2.5, ретроспектива RubyConf 2017

$
0
0

Всем привет! В новом Ruby/Rails дайджесте за ноябрь много информации о новой версии Ruby 2.5 и интересных методах, которые стали доступны вместе с её релизом. Обратите внимание на интервью со Scott Belaware, одним из создателей Eventide, от блога Arkency, а также на подборку их прочих статей. Кроме того, не может не радовать обзор RubyConf 2017 от блогера James Thompson, в котором он детально рассказывает о событиях каждого дня конференции.

Почитать

Performance Improvements in Ruby 2.5 — автор рассматривает улучшения производительности в Ruby 2.5.

Build Your Own Link Shortener App with Ruby & Sinatra — туториал о том, как построить приложение для сокращения ссылок на Ruby и Sinatra.

Atom Tricks, Plugins & Shortcuts for Ruby Developers — в статье собраны интересные приемы и расширения для Ruby devs, доступные в редакторе Atom.

Learn to Implement & Use Prefix Trees in Ruby — туториал о том, как правильно внедрять и применять структуру данных Prefix Trees для оптимизации поиска.

Preventing security issues in Rails — автор рассматривает возможные пути предупреждения проблем с безопасностью в Rails.

Use Capybara’s #all to Select From Multiple Elements — туториал об использовании команды #all в Capybara для выбора из нескольких элементов одновременно.

Why Aren’t We Using More Service Objects Already — автор рассуждает на тему использования паттерна Service Objects и подходов к его реализации.

Upgrading Kickstarter to Rails 5 — история обновления Kickstarter до версии Rails 5.

Ruby performance profiling: an unorthodox approach — автор рассказывает о необычном способе профилирования производительности Ruby приложений.

Interactors in Ruby — easy as cake, simple as pie — автор делится своим опытом использования паттерна Interactor. Пример того, как элегантно можно решить проблему толстых контроллеров и моделей.

How require loads a gem — в статье подробно рассказывается о принципе работы команды require.

Partition and conquer — рассказ о том, как разделить гигантскую таблицу, которая тормозит работу production приложения.

Useful RSpec trick for testing method with arguments — обзор полезных приемов в RSpec для тестирования методов с аргументами.

Ruby Versions Used in Commercial Projects in 2017 — обзор версий Ruby, которые использовались в коммерческих проектах в 2017 году.

Advisory Locks and How to Use Them — статья о том, как использовать Advisory Locks.

Karafka (Ruby + Kafka) framework 1.1.0 Release Notes — статья-обзор изменений в фреймворке Karafka 1.1.0.

5 Ruby on Rails Tips You Probably Don’t Know — в статье рассказывается про 5 интересных методов, которые автор нашел в процессе работы с RoR.

Embracing metrics as new tests — автор рассказывает о том, как можно интегрировать инструмент Prometheus в RoR приложение для мониторинга его работы.

First impressions of Ruby branch coverage with DeepCover — автор делится первыми впечатлениями от новой фичи в Ruby 2.5 — branch coverage в связке с гемом DeepCover.

Proxy Pattern — автор на примерах разбирает различные применения Proxy-паттерна.

Elixir vs Ruby — Which One is the Language for Your Next Project?— сравнение Elixir и Ruby. Для каждой задачи — свой язык.

RefineryCMS — a Ruby-based Alternative for WordPress — статья-обзор RefineryCMS, как альтернатива Wordpress.

How to Clear Out Your Controllers and Models with Waterfall Gem — туториал по «облагораживанию» контроллеров и модулей с помощью гема waterfall.

Chain of Responsibility Pattern — Ruby — автор детально рассказывает, как эффективно реализовывать паттерн Chain of Responsibility в Ruby. Примеры прилагаются.

Improving Ruby Performance with Rust — как переписать медленный Ruby-код с помощью Rust для увеличения производительности.

Session-only cookie corruption in Ruby web apps — в статье предлагается временное решение для проблемы cookie corruption в Rails.

How to receive and respond to text messages in Ruby with Hanami and Twilio — обзор фреймворка Hanami от команды Twilio, ну и конечно же, интеграция Twilio в Hanami.

Using ActiveStorage Today (prior to Rails 5.2 release) — туториал по использованию ActiveStorage в новой версии Rails 5.2.

Подборка полезных статей от BigBinaryза ноябрь:

Подборка статей от блога Arkencyв прошлом месяце:

Послушать

Подкасты Ruby Rogue о новостях мира Ruby/Ruby on Rails за ноябрь:

Новые выпуски пятого сезона подкастов от RWPod:

44 выпуск 05 сезона. Performance Improvements in Ruby 2.5, Testing Stripe with Rails and RSpec, Electron.NET и прочее

45 выпуск 05 сезона. How we switched from Sprockets to Webpack, CSS Code Smells, WebSocket Director, JSON5 и прочее

46 выпуск 05 сезона. Karafka 1.1.0, Firefox Quantum, Embracing metrics as new tests, Teletype и прочее

47 выпуск 05 сезона. Spend less on Google Translate, The Cost Of JavaScript, Sequel-pg_advisory_lock, React Chartkick и прочее

The Bike Shed:

131: Nouns For Verbs Sake — основная часть выпуска посвящена обсуждению паттерна Visitor.

133: A Very Special Bike Shed — ведущий подкаста говорит о том, как оптимизировать метод ActiveRecord с помощью языка Rust для Ruby.

Посмотреть

Ruby 3.0 with Yukihiro «Matz» Matsumoto — авторы программы Morning Commute встретились с самим создателем языка Ruby Yukihiro Matsumoto для того, чтобы узнать, что ожидать от новой версии Ruby 3.0.

Go for Rubyists — Kleber Correia — видео-туториал по использованию языка Go для рубистов.

Подборка платных скринкастов от Drifting Rubyв ноябре:

Episode #104 — Speeding Up Tests — туториал по ускорению автотестов с помощью гема parallel_tests

Episode #105 — Continuous Integration with Travis CI — подкаст о том, как непрерывная интеграция может помочь улучшить скорость написания кода, а также автоматизировать запуск тестов.

Episode #106 — Deploying to AWS Elastic Beanstalk | Preview — превью того, как ведущие скринкаста пробуют запустить приложение RoR на AWS Elastic Beanstalk.

Episode #107 — Additional Dependencies in Beanstalk | Preview — превью о дополнительных настройках, необходимых на приложении RoR для запуска на AWS Elastic Beanstalk.

Новая подборка скринкастов от Go Railsв этом месяце:

  • Two Factor Authentication With Devise — видеотуториал о том, как с помощью гема devise-two-factor можно добавить дополнительный уровень защиты для Rails приложения.
  • Rails Error Tracking with Errbit — туториал учит, как обнаруживать ошибки на Rails с помощью приложения Errbit и гема Airbrake.
  • A/B Split Testing in Rails | Preview — превью обзора A/B тестирования в Rails приложениях.

Релизы и библиотеки

RailsInstaller 3.4.0 For Windows Released — обзор релиза RailsInstaller 3.4.0 для Windows.

Rails 5.2.0 beta: Active Storage, Redis Cache Store, HTTP/2 Early Hints, CSP, Credentials — что ожидать от релиза Rails 5.2.

Книги

Rails 5 Test Prescriptions — в этом месяце встречайте релиз книги от Noel Rappin«Rails 5 Test Prescriptions». Публикация запланирована на следующий год, но предзаказ уже открыт.

События

Обзор RubyConf 2017 от James Thompson:


← Предыдущий выпуск: Ruby дайджест #11

AI & ML дайджест #6: умеет ли бизнес пользоваться AI, законодательство, перспективы профессии

$
0
0

Новый составитель ИИ дайджеста — Евгений Сидякин, founder & CEO Data Powers.

Главное, что нужно знать об авторе — R&D Engineer, In love with data science!

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

В каждом выпуске, кроме новостей и аналитики, буду давать ссылки на AI стартапы и программы для поддержки AI проектов, также буду писать о знаковых личностях из нашей сферы, которых рекомендую фоловить. А поскольку дайджест выходит в субботу — на десерт киношка, конечно же, тоже про data science и AI :)

Human mind about Artificial Intelligence

Начнем с самого «тяжеловесного» — искусственный интеллект добрался до правительства... или наоборот.

Сейчас правительства ломают головы, каким образом ввести в законодательную плоскость ICO, на очереди AI технологии. Подробнее с комментариями об этом можно почитать здесь — EU Guidelines on Using Machine Learning to Process Customer Dataи на страничке интернет-сообщества Artificial Intelligence and Machine Learning: Policy Paper. И пока Европейский союз разрабатывает рекомендации, в Комиссии ООН по праву международной торговли представили Law of AI. Так что всё серьёзно.

Конечно, интерес правительств к data science и в частности к Artificial Intelligence легко понять. Как говорится, Big Data — Big Money. Кстати, на эту тему проведено не одно исследование.

Посмотреть интересную статистику по доходам от AI вразрез регионов и сегментов рынка можно на ресурсе, где собрана неплохая база, но чтобы ею воспользоваться придется немножко заморочиться: Revenues from the artificial intelligence market worldwide, from 2016 to 2025, by region (in million U.S. dollars), Revenues from the artificial intelligence (AI) market from 2015 to 2025, by segment (in billion U.S. dollars)

Или можно посмотреть исследование Reshaping business with artificial intelligenceот Boston Consulting Group и MIT Sloan Management Review, где говорится, что ожидания бизнеса от AI — высотой до небес. Но результаты исследования показали большой разрыв между желаниями компаний и реальными возможностями. Почти 85% топ-менеджмента из более 3000 опрошенных верят в то, что с помощью AI их компании получат конкурентные преимущества. Но при этом лишь у 39% компаний есть соответствующая стратегия. Сейчас многие компании аккумулируют большие массивы данных, но они просто не понимают, как их использовать чтобы извлекать прибыль. Недавно в разговоре с представителем IBM Ukraine коснулись этой темы и он подтвердил, что для украинских компаний это более чем актуально: зачастую сотрудники компаний не могут правильно собрать данные, так что до этапа обработки даже не доходит.

И это еще одна интересная тема. По расчётам McKinsey Global Institute к 2018 году понадобится дополнительно 190 тысяч специалистов по данным. Данное направление профессий отмечается как одно из самых перспективных в мире. Число вакансийв этом направлении растёт по экспоненте, как и зарплаты ))

Дата-сайентисты — красавчики, Harvard Business Review сказал! Приятно субботним зимним вечером почитать о себе такое.

AI Startups

Стартапы — в целом очень благодатная тема, так что впору открывать отдельный Startup-дайджест. Но даже если сфокусироваться только на AI, то и тут, как говорится, the whole bunch of joy. Поэтому, конечно, интереснее всего писать про украинские стартапы и обсуждать наши достижения (в идеале).

В конце прошлого месяца в Киеве прошел Международный форум Innovation Market. Количество представленных стартапов, в том числе с использованием искусственного интеллекта, — такое, что изучать можно до следующего выпуска дайджеста.

Лично мне запомнились несколько проектов, представленных на стартап-аллее:

«КСК-БАРС» — аппарат, который выявляет заболевания на ранних стадиях, и SolarGaps — Solar Panel Window Blinds — смарт-жалюзи, которые автоматически отслеживают солнце и генерируют электричество от его энергии. Ребята молодцы — подняли раунд инвестиций от европейской программы «Горизонт 2020» в €50k +, ну и другие «медали» собрали.

Интересно, что там же, на батле вузов, участники решали кейсы от крупных компаний (хотя свой проект тоже можно было представить). Победитель получил 25k, но в грн.

Возможности и ивенты

Программа Google резиденция — в прошлом известная как Google Brain Residency Program — 12-месячнаяисследовательская программа, нацеленная на продвижение карьеры участников в области исследования машинного обучения.

Все резиденты будут получать заработную плату и бонусы. Если необходимо, Google также может предоставить грант на оплату проезда.

Дедлайн: 8 январь 2018

Место прохождения: Маунтин-Вью, штат Калифорния, США

Подробности на официальном сайте.

Follower this Fellow!

Magnus Hyttsten: LinkedIn, Twitter.

Ассоциативный ряд для этого парня: deep learning, machine learning, developer fanatic, Google.

На сентябрьской конференции по искусственному интеллекту делал доклад «Pushing the boundaries of ML using TensorFlow and Google Cloud».

С материалами других докладчиков можно ознакомиться в разделе Speaker slides & video. В этом году много внимания уделили теме использования AI в бизнесе и в медицине.

Можете попить кофейку в компании Магнуса: Chat with Magnus Hyttsten — Coffee with a Googler.

А если на первых выходных зимы на вас нападет бешеный энтузиазм, можете позаниматься с выпускником Стэнфорда и пройти парочку уроков от Stanford University class — CS20SI — 2016-2017 session.

Ай, киношка

Для начала легкий аперитив с субтитрами: Alternative Math. Short Film.

После разговора о применении data science в бизнесе и AI стартапах в качестве закуски предложу вам 10 Machine Learning based Products You MUST See.

И в качестве основного блюда — на выбор, меню как на борту беспилотного самолета:

The Imitation Game — для мясоедов.

Her — для любителей более легкой пищи, рыбное меню.

И самое кровожадное видео Black Mirror — для миролюбивых вегетарианцев, тем более, что подоспел новый сезон.

Желаю всем вдохновляющих выходных!


← Предыдущий выпуск: AI & ML дайджест #5

Лучшие IT-работодатели 2017

$
0
0

В этом году 15 080 IT-специалистов анонимно оценили 1 110 компаний. По результатам их голосования мы составили рейтинг лучших работодателей Украины. Представляем результаты опросапо состоянию на 4 декабря 2017 года.

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

Категория «800+ специалистов»

КомпанияОбщий баллПроф. ростУсловия трудаМенеджментЗарплаты и бонусыПризнание моего трудаКоммуникация с руководствомОтношения с коллегами
Intellias
95
222 анкеты
94
97
94
96
93
95
97
ELEKS
94
358
94
94
94
94
93
93
95
DataArt
93
155
92
95
91
94
91
92
97
4Sigma Software
93
228
94
95
93
90
89
93
95
5Infopulse
90
393
89
92
91
89
88
90
95

Украинская компания Intellias, которая только в ноябре перешагнула планку «800+ специалистов», стала лучшим работодателем среди крупнейших IT-компаний.

На второе место впервые пробилась ELEKS, а победитель прошлого года — DataArt — замкнул тройку лидеров.

В этом году в категорию «800+ специалистов» также перешла Sigma Software. В рейтинге компания заняла 4 место, уступив 0,2 балла DataArt.

Топ-5 крупнейших украинских IT-компаний — SoftServe, Ciklum, Luxoft, GlobalLogic, EPAM — расположились с 6 по 10 строку рейтинга соответственно.

Самыми активными в этом году были сотрудники EPAM (10-еместо рейтинга) — компанию оценили 715 специалистов.

Категория «200-800 специалистов»

КомпанияОбщий баллПроф. ростУсловия трудаМенеджментЗарплаты и бонусыПризнание моего трудаКоммуникация с руководствомОтношения с коллегами
Netpeak
98
58 анкет
98
98
99
96
97
98
99
Terrasoft
98
151
97
98
97
96
96
99
99
Brightgrove LTD.
97
122
97
98
97
97
96
98
98
4Perfectial
97
46
97
98
96
99
97
96
97
5SPD-Ukraine
96
63
96
98
95
99
92
94
97

Лидер — одесская компания Netpeak, которая уже занимала первую строку в 2015 году. На втором месте — Terrasoft. За последние 5 лет компания стабильно держится в пятерке лучших.

На третьем месте победитель 2013 года в категории «81-200 специалистов» —Brightgrove LTD.

Сотрудники WIX.uaдостаточно высоко оценивают компанию. По трем из семи шкал WIX.uaимеет наивысший балл, что для категории «200-800 специалистов»большая редкость. Но 20 анкет слишком мало для участия в рейтинге.

Как и в прошлом году, наибольшее количество оценок в этой категории оставили сотрудники Astound Commerce (179 анкет), но с 90 баллами компания спустилась с 10-йна 22-юпозицию.

Категория «81-200 специалистов»

КомпанияОбщий баллПроф. ростУсловия трудаМенеджментЗарплаты и бонусыПризнание моего трудаКоммуникация с руководствомОтношения с коллегами
Leobit
100
47 анкет
100
100
99
100
100
100
100
WebDreamLab
100
26
100
99
100
99
100
99
100
VertaMedia
99
61
99
99
99
99
98
98
100
4Sombra
99
44
99
99
98
98
98
99
100
5Trionika
98
20
96
100
98
98
97
100
100

1-еместо у аутсорсинговой компании из Львова — Leobit. Сотрудники поставили наивысший балл по 6 из 7 возможных шкал рейтинга.

На 2-мместе — WebDreamLab, компания отстает от лидера всего на восемь сотых балла.

Замыкает тройку лидеров одесская компания VertaMedia.

Прошлогодний лидер категории — Looksery — был переименован на Snap, и в этом году компания не сумела преодолеть необходимый барьер по количеству голосов для участия в рейтинге.

Компания Grammarly, которая в прошлых рейтингах была на высоких позициях, в этом году заняла лишь 10-еместо.

Наибольшее количество оценок получила Keepsolid (90 анкет) — с 94 баллами компания заняла 18-еместо.

Категория «21-80 специалистов»

КомпанияОбщий баллПроф. ростУсловия трудаМенеджментЗарплаты и бонусыПризнание моего трудаКоммуникация с руководствомОтношения с коллегами
Codemotion
100
41 анкета
100
100
100
100
100
100
100
Active Bridge, LLC
100
23
100
100
100
100
100
100
100
BotsCrew
100
21
100
100
100
100
100
100
100
4Adbless
100
16
100
100
100
100
100
100
100
5openGeeksLab
100
28
100
99
100
99
100
99
100

Первые четыре места разделили компании Codemotion, Active Bridge, LLC, BotsCrew, Adbless. Они набрали максимальное количество баллов — 100 по всем шкалам и в рейтинге отсортированы по количеству анкет.

Лидер рейтинга — Codemotion — в прошлом году занял 2-еместо. И второй год подряд становится лучшим IT-работодателем Киева (детальнее см. ниже).

Львовская компания Sombra, которая была победителем прошлого рейтинга, в этом году перешла в категорию «81-200 специалистов»,где заняла 4-еместо.

Наибольшее количество оценок в этой категории оставили сотрудники Do IT Programming Solutions (52 анкеты). Компания набрала 96 баллов и оказалась на 36-мместе.

Лидеры по городам

Киев:

КомпанияОбщий баллПроф. ростУсловия трудаМенеджментЗарплаты и бонусыПризнание моего трудаКоммуникация с руководствомОтношения с коллегами
1Codemotion
100
41
анкета
100
100
100
100
100
100
100
2Trionika
98
20
96
100
98
98
97
100
100
3Competera
98
21
98
100
96
94
98
99
99
4Terrasoft
98
151
97
98
97
96
96
99
99
5ЛУН
97
43
96
100
97
91
96
98
99

Харьков:

КомпанияОбщий баллПроф. ростУсловия трудаМенеджментЗарплаты и бонусыПризнание моего трудаКоммуникация с руководствомОтношения с коллегами
1Jelvix
98
40 анкет
99
99
97
98
97
98
100
2Brightgrove LTD.
98
105
97
99
98
98
97
99
99
3MWDN
98
20
98
98
98
98
98
98
98
4Ascendix Technologies
97
39
97
98
98
98
97
98
97
5X1 Group
97
24
94
98
94
98
97
99
100

Львов:

КомпанияОбщий баллПроф. ростУсловия трудаМенеджментЗарплаты и бонусыПризнание моего трудаКоммуникация с руководствомОтношения с коллегами
1WebDreamLab
100
25 анкет
100
100
100
99
100
100
100
2Leobit
100
47
100
100
99
100
100
100
100
3Ralabs
100
21
100
100
100
99
99
99
100
4Sombra
99
28
99
99
99
99
98
100
100
5Perfectial
97
45
97
98
96
99
97
96
97

Днепр:

КомпанияОбщий баллПроф. ростУсловия трудаМенеджментЗарплаты и бонусыПризнание моего трудаКоммуникация с руководствомОтношения с коллегами
1Tubik Studio
99
24 анкеты
98
99
100
97
99
99
100
2M2E Pro
97
23
98
99
97
93
96
98
99
3LANARS
95
20
95
93
93
97
96
98
96
4Ardas
95
22
95
94
98
92
91
97
98
5PFSOFT
95
33
95
97
94
91
91
97
97

Одесса:

КомпанияОбщий баллПроф. ростУсловия трудаМенеджментЗарплаты и бонусыПризнание моего трудаКоммуникация с руководствомОтношения с коллегами
1VertaMedia
99
53 анкеты
99
100
98
99
98
98
100
2Netpeak
97
36
97
97
99
94
95
97
99
3Autodoc
96
33
92
99
93
96
96
96
97
4Do IT
Programming Solutions
96
52
97
96
94
92
96
96
98
5SOLAR Digital
95
28
95
94
96
89
96
98
100

Винница:

КомпанияОбщий баллПроф. ростУсловия трудаМенеджментЗарплаты и бонусыПризнание моего трудаКоммуникация с руководствомОтношения с коллегами
1LetyShops
94
36 анкет
93
98
91
96
92
94
96
2Exadel Inc.
92
25
85
97
88
93
92
94
96
3Astound Commerce
88
20
89
92
83
89
87
88
91
4EPAM
88
32
89
86
87
89
85
89
92
5Delphi Software
88
66
84
90
89
87
82
87
94

Запорожье:

КомпанияОбщий баллПроф. ростУсловия трудаМенеджментЗарплаты и бонусыПризнание моего трудаКоммуникация с руководствомОтношения с коллегами
1openGeeksLab
100
28 анкет
100
99
100
99
100
99
100
2Computools
97
29
98
96
94
97
97
95
100
3S-PRO
95
34
94
96
93
96
96
95
96
4Light IT
94
34
94
96
91
93
93
96
96
5UDTech
92
22
90
98
92
87
89
92
93

Ивано-Франковск:

КомпанияОбщий баллПроф. ростУсловия трудаМенеджментЗарплаты и бонусыПризнание моего трудаКоммуникация с руководствомОтношения с коллегами
1ELEKS
97
37 анкет
96
97
98
99
96
95
97
2Ukietech
94
26
95
95
94
90
92
97
99
3COAX Software
94
25
95
98
87
94
93
93
99
4SoftServe
82
66
81
77
85
76
80
85
88

Лучшие из лучших

Победители по каждой из шкал оценивания:

800+200–80081–20021-80
Профессиональный ростIntelliasNetpeakLeobitCodemotion
Условия трудаIntelliasNetpeakLeobitCodemotion
МенеджментIntelliasNetpeakWebDreamLabCodemotion
Зарплаты и бонусыIntelliasPerfectialLeobitCodemotion
Признание моего трудаIntelliasPerfectialWebDreamLabCodemotion
Коммуникации с руководствомIntelliasTerrasoftLeobitCodemotion
Отношения с коллегамиIntelliasTerrasoftLeobitCodemotion

Итого

Intellias — лучший работодатель категории «от 800 специалистов».
Netpeak — лучший работодатель категории «200-800 специалистов» (и лучший работодатель Днепра).
Leobit — лучший работодатель категории «81-200 специалистов».
Codemotion — лучший работодатель категории «до 21-80 специалистов» (и лучший работодатель Киева).


Codemotion — лучший работодатель Киева (и лучший работодатель категории «до 21-80 специалистов»).
Jelvix — лучший работодатель Харькова.
WebDreamLab — лучший работодатель Львова.
Tubik Studio — лучший работодатель Днепра.
VertaMedia — лучший работодатель Одессы.
LetyShops — лучший работодатель Винницы.
openGeeksLab — лучший работодатель Запорожья.
ELEKS — лучший работодатель Ивано-Франковска.

Поздравляем победителей и еще раз спасибо 15 тысячам специалистов, которые сделали этот рейтинг своими оценками.

Путь стажера: Provectus

$
0
0

[Путь стажера — постоянная рубрика, в которой начинающие IT-специалисты делятся своим опытом стажировок как в иностранных, так и в украинских компаниях. Если вы хотите рассказать свою историю, пишите на vlada@dou.ua]

Всем привет! Меня зовут Лена, мне 31 год, я живу в Одессе. Год назад я решила кардинально изменить свою карьеру, и сегодня я — выпускница стажировки «Formula-1» от компании Provectus по направлению Front-end. Если вы боитесь сделать свои первые шаги в IT из-за возраста, пола или образования, то моя история как раз для вас!

Много лет мой карьерный путь не был связан с программированием. Я работала в маркетинге и как маркетолог иногда принимала участие в создании сайтов: рисовала мокапы, формулировала задачи для дизайнеров и верстальщиков. Да-да, я была тем самым человеком, который просил «поиграть со шрифтами» :) Мне всегда хотелось разобраться подробнее в процессе разработки, понять магию, которая происходит в UI, и попробовать создать что-то самостоятельно.

Пробы верстки

Все началось с верстки писем для email-рассылки. Я захотела отойти от почтовых сервисов и создать универсальный шаблон, который бы корректно отображался во всех почтовых клиентах. Каждый, кто когда-либо сталкивался с версткой писем, знает, насколько это нетривиальная задача. Особенно, когда c нее начинается твое знакомство с HTML/CSS. Первые удачно сверстанные письма вдохновили меня на дальнейшие подвиги.

Я решила не идти на курсы. В сети достаточно ресурсов со всей необходимой информацией, а уровень английского позволял мне без труда проходить видеоуроки на Coursera, Udemy, Udacity, а также читать оригинальную документацию к технологиям. На тот момент у меня уже было много знакомых среди разработчиков, так что мне быстро помогли определиться с планом обучения и необходимыми ресурсами. Верстка легко поддавалась пониманию, а вот первые шаги в JavaScript дались непросто. Мне посчастливилось быть женой программиста, который взял на себя нелегкую задачу объяснить основы программирования гуманитарию. Обсуждения JavaScript вечером на кухне иногда перерастали в горячие споры, но, как сказал товарищ Бендер, «лед тронулся». Благодаря терпению и профессионализму ребят, которые мне помогали, я сумела преодолеть сложные моменты и дальше продолжить обучение самостоятельно.

Об условиях стажировки

Спустя восемь месяцев учебы мне попалось объявление на DOU об открытом наборе на стажировку в Provectus. Было заявлено много направлений, в том числе и Front-end. Также был довольно подробно расписан формат стажировки. В отличие от некоторых других компаний, Provectus не гарантирует трудоустройство. По окончании четырех месяцев стажеры получают сертификат, рекомендации от менторов, портфолио в виде выполненного проекта, а также попадают в кадровый резерв компании. Кроме того, стажировка не оплачивается и является дистанционной, под чутким руководством менторов и с периодическими встречами в офисе.

Сначала меня такие условия насторожили, но, немного поразмыслив, я пришла к выводу, что на самом деле Provectus предлагает именно то, что необходимо начинающему специалисту — опыт на проекте в условиях, максимально приближенных к реальности, и менторство со стороны более опытного специалиста. Позже я узнала, что наша стажировка является частью внутреннего процесса обучения сотрудников управлению проектами, и нам предстоит совместными усилиями за 4 месяца создать новый продукт. На мой взгляд, это просто отличная инициатива компании как для сотрудников, желающих прокачать свои навыки в project-менеджменте, так и для начинающих разработчиков и тестировщиков.

Этапы отбора

Для участия в конкурсе необходимо было заполнить анкету, добавить резюме и выполнить небольшое тестовое задание. Требований к стажерам было всего два: знать английский на уровне не ниже Intermediate и быть студентом курсов или вуза по направлению стажировки. Позже выяснилось, что второе требование было необязательным, а главное — это знания. Но для подстраховки я вписала в анкету все онлайн-курсы, которые проходила, а также свой небольшой волонтерский преподавательский опыт HTML/CSS для детей в IT2School.

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

Сначала мы поговорили обо мне и моей карьере. Затем, как это часто бывает на собеседованиях, меня попросили рассказать о моих хобби на английском, после чего мы перешли к технической части. Вопросы были в основном стандартные, каких очень много в сети — по основам HTML/CSS/JS. Поэтому перед собеседованием на стажировку лучше составить чек-лист, освежить в памяти теорию и потренироваться решать «задачки с подвохом». Всю информацию можно найти на w3schools.com, learn.javascript.ru, developer.mozilla.orgи других ресурсах.

Куратор направления Front-end (впоследствии — мой ментор) был настроен дружелюбно, давал возможность подумать над ответами и поразмышлять вслух, решая задачи. Так что собеседование прошло скорее на позитивной ноте. Финальным аккордом был вопрос, с какими фреймворками я знакома. На тот момент я только планировала приступить к изучению Angular 4, поэтому ответила, что пока ни с какими. На что Тарас, куратор, обрадовал меня последним заданием — написать небольшое приложение на ReactJS. Сначала на выполнение задания было отведено 5 дней, которых мне хватило, чтобы сделать основной функционал. Затем дедлайн отодвинули еще на 5 дней, что дало мне возможность доделать все до конца. Надо ли говорить, насколько драйвовыми для меня были эти десять дней?

Наша команда почти в полном составе. Все старались быть серьезными, но не у всех это получилось :)

Старт стажировки

О том, что меня взяли, мне сообщила рекрутер компании. Также меня добавили в чат, где всем стажерам была назначена первая встреча. В ту субботу возле офиса Provectus собралось 39 стажеров, и никто толком не знал, над чем мы будем работать. Вводная лекция все расставила по местам. Нас разделили на 4 проекта, закрепив за каждым стажером ментора (человека, проводившего собеседование). На той же встрече мы обсудили предстоящую работу внутри нашего проекта.

Я попала в небольшую команду, в которой из стажеров, кроме меня, был еще один Front-End Developer, один Back-End Developer и два QA. У некоторых из нас уже был опыт работы в IT-компаниях на разных должностях, но назначенную роль каждому предстояло выполнять впервые. Наша задача — за четыре месяца «с нуля» написать веб-приложение для рекрутеров и технических специалистов, которые проводят собеседования. Мы изучили прототип, обсудили документацию к проекту и флоу разработки. Работать предстояло по методологии Scrum с двухнедельными спринтами. Мы решили не проводить ежедневные статус-митинги, однако договорились поддерживать регулярную связь в Slack и каждый день отписываться о состоянии тасок. Встречи в офисе предполагались раз в месяц, но мы могли собираться чаще, если возникала необходимость.

Процесс разработки

Приятным организационным моментом для меня было отсутствие фиксированного рабочего дня или количества рабочих часов в неделю. Главным требованием было выполнять свои задачи. В процессе каждый выработал для себя удобный график и выдерживал его в течение всех четырех месяцев. Я уделяла стажировке 4-6часов в день по будням, так как считаю, что в остальные часы производительность сильно снижается, а также несколько часов по выходным. Минусом такого подхода было то, что не всегда можно застать нужного тебе человека онлайн. Например, если на выходных у тебя возник вопрос к ментору, а он куда-то уехал, то нужно ждать до понедельника и пока заниматься чем-то другим.

Вначале было сложно. У нас не было теоретической части или другого подготовительного этапа — с первого же спринта мы начали «пилить таски». Поверхностное знакомство с React, конечно, оставляло еще много вопросов. Кроме того, необходимо было быстро разобраться в ES6, как взаимодействовать с бэкендом через REST API, подключить к проекту Redux и начать пользоваться Git. Сложнее всего было сделать первый компонент. Первый месяц помощь ментора была нужна буквально на каждом шагу, поэтому мы часто созванивались вечером и обсуждали нюансы разработки. Чтобы не терять время на дизайн и адаптивную верстку, мы подобрали подходящий Bootstrap Template и использовали его, дополняя внешними модулями из библиотеки React-Bootstrap и npm-компонентами.

Ретроспектива за пиццей

Мне очень повезло с командой. Мы быстро нашли общий язык и наладили неформальное общение. Нас объединяла общая цель — сделать продукт максимально качественным, уложиться в срок и получить как можно больше знаний и опыта на проекте. Были и разногласия: каждый стремился заняться интересной задачей, а не делать то, что уже умеет. Но мы научились улаживать их мирным путем и приходить к компромиссу. Думаю, именно благодаря сплоченности, которая особенно проявилась в последнем спринте, мы свели к минимуму недостатки дистанционной работы и успели выполнить весь запланированный объем задач.

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

Это пока MVP, но есть еще много идей, как можно улучшить приложение, чем его дополнить. Немного жаль расставаться с проектом и ребятами. Однозначно могу сказать, что планирую и дальше работать с ReactJS. Стажировка показала мне, как, используя этот фреймворк, можно быстро написать полноценное веб-приложение с не самым простым функционалом.

Рассказываем о том, как назначить и провести собеседование с помощью нашего приложения.

Что дает стажировка

Несмотря на то, что у Provectus пока нет открытых вакансий для джуниоров, стажировка, безусловно, была полезным опытом. И если мои аргументы вас не убедили, то вот еще несколько причин, почему стоит пройти путь стажера.

  1. Вы прокачиваете резюме и налаживаете связи.
    Посмотрите на ваш профайл в LinkedIn. Как много в нем рекомендаций, лайков ваших релевантных скиллов, сколько рекрутеров в друзьях? Есть большая разница между специалистом без опыта вообще и специалистом, у которого есть запись в резюме о прохождении стажировки с рекомендацией от ментора. К тому же, вы становитесь частью нового комьюнити, что дает вам возможность и дальше обмениваться знаниями.
  2. Вы приобретаете бесценный опыт работы в команде.
    Чем бы вы ни занимались раньше, в разработке ПО есть своя специфика, методологии и окружение. Знать все это в теории от знакомого-программиста или из книг — мало для понимания того, как это работает на самом деле. Стажировка не может полностью отобразить реальную картину, но условия очень похожи.
  3. Вы учитесь учиться.
    Возможно, в других компаниях процесс работы со стажерами налажен иначе, но у нас основной упор был сделан на самообучение. Если что-то не понятно, ментор помогает разобраться. Но в основном вы добываете информацию самостоятельно. Причем делать это надо очень быстро, так как сроки ограничены, и вы не должны задерживать команду. Как человек, который до этого учился сам, могу сказать, что такой подход в разы ускоряет процесс обучения, а также готовит к реальной жизни, где вам часто придется сталкиваться с новыми технологиями и сразу начинать их применять.
  4. Вы можете ошибаться.
    К стажерам не такие высокие требования. Вы можете задавать глупые вопросы, пробовать, признаваться, что чего-то не понимаете или вообще впервые об этом слышите. В конце концов, именно на стажировке вы можете определиться с тем, хотите ли дальше посвятить себя этому занятию.
  5. Big brother is watching you!
    За вами наблюдают, вас обсуждают, и даже когда вы спите, ментор читает ваш код :) Самое время проявить себя. Компании заинтересованы в активных и толковых сотрудниках, которые хотят развиваться.

Сердечки с логотипом нашего проекта Interviewer — подарок от доброго Product Owner.

Смена карьеры — это всегда трудный и рискованный шаг. Вам нужно выйти из зоны комфорта, отказаться от стабильного заработка и начать все сначала. Но если вы настроены решительно, то этот шаг все же придется сделать. После стажировки я почувствовала уверенность в своих силах: обновила резюме и страницу на LinkedIn и начала изучать вакансии. Конечно, есть еще много технологий, с которыми я бы хотела познакомиться или разобраться в них получше, но уже сейчас я могу смело позиционировать себя как Junior Front-end Developer с опытом работы c ReactJS.

Компании предлагают разные условия стажировки — оплачиваемые или нет, с фиксированным или свободным графиком — так что мониторьте рынок, изучайте предложения и подавайте заявки. Как минимум вы оцените свои силы и поймете, сколько вам еще предстоит учиться до вашей первой работы в IT.

Илья Хамушкин — о развитии программиста в стартапе и жизни в Европе и США

$
0
0

Программист, стартап-евангелист и многодетный отец Илья Хамушкинза шесть лет успел пожить в Эстонии и Польше, а недавно переехал в Кремниевую долину. В интервью он поделился своими наблюдениями о жизни в разных странах и сложностях работы в компании на ранней стадии развития.

— Илья, ты женат и у тебя четверо детей, но большая семья не мешает тебе быть мобильным и легким на подъем. Как удается сохранять такую динамику?

Мотивирует, прежде всего, личное развитие: человек, который познакомился больше чем с одной культурой, расширяет собственное мировоззрение, становится ментально богаче. На меня повлияло то, что я вырос в семье военного, и в детстве мы часто переезжали. Одни из самых ярких детских впечатлений связаны с жизнью в Монголии, где моя семья провела несколько лет. Там все было необычно: люди, запахи, еда. В память также навсегда врезались поездки по Транссибирской магистрали мимо Байкала, сквозь тайгу и горы.

Мы с Анной (моей женой) об этом много рассуждали, прежде чем решились на перемены. Хотелось, чтоб и у наших детей было много впечатлений, которые недоступны тем, кто сидит на одном месте. Да и для Анны и меня тоже важно не останавливаться в своем развитии и изучении мира. Я думаю, что в определенном возрасте человеку нужно прилагать усилия, чтобы оставаться открытым миру и не потерять гибкость мышления.

— С чего началась твоя эмиграция?

Шесть лет назад мы с женой задумались о том, что хотим получить опыт жизни за пределами Украины. Тогда я был программистом со специализацией на веб-интерфейсах и юзабилити, но мне всегда было интересно предпринимательство. Я руководил небольшой командой, оказывающей услуги по веб-разработке. Когда работа через ФОП стала ограничивать, мне пришлось изучать вопрос открытия компании в Европе. Цель стояла простая — зарегистрировать юридическое лицо, чтобы упростить взаимодействие с иностранными клиентами и попробовать, как работает европейская система предпринимательства.

Я был наслышан про легкость регистрации бизнеса в Эстонии. Информации на эту тему было предостаточно, так как государство активно рекламирует свои преимущества для предпринимателей, привлекая бизнес под свою юрисдикцию. Первая поездка в Таллин оставила противоречивые чувства: дело было в ноябре, стояла типичная балтийская пасмурная погода, но контрастом к ней был Таллин, который активно строился и модернизировался. Для открытия компании мне потребовалось два визита: я встретился с юристом, мы за полчаса все обсудили и подписали бумаги, а второй раз я пришел в банк для открытия счета. Подробно об этом я рассказывал на DOU.

Хотя изначально вопрос переезда не был первостепенным, он поднялся в приоритетах после первой поездки в Эстонию. Эта страна смогла заинтересовать и вызвать здоровое любопытство как вырвавшаяся из «совка» примерно в то же время, что и Украина, но шагнувшая значительно дальше в реформации. Кроме того, нам были любопытны скандинавская культура и образ жизни. Но поскольку Скандинавия довольно дорогая, а я был всего лишь мелким предпринимателем, то Эстония для старта показалась отличным вариантом, и в 2011 году мы переехали.

На протяжении года я продолжал работать со своей командой разработчиков, которые жили в Украине, получил вид на жительство, познакомился с множеством интересных людей в Таллине. В 2012-мменя пригласили работать в местный стартап Planet OS. Я рассчитывал, что Эстония будет кратковременной историей в моей жизни, но этот эксперимент затянулся на 4 года. В старом блогеможно почитать мои размышления на тему эмиграции того времени.

Таллин. Фото Ильи

— Расскажи про Planet OS, в чем миссия компании и какова твоя роль в ней?

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

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

Нам очень повезло с инвестором в Долине. Мы получили огромную поддержку в поиске клиентов и расширении нашей сети контактов, что в итоге привело к нашему первому крупному проекту в сфере возобновляемой энергии — контракту с компанией Innogy (часть группы RWE), которая владеет многочисленным энергетическим производством по всей Европе. Также мы стали фокусироваться на компаниях, работающих в сфере страхования, потому что из-за изменения климата стихийные бедствия и даже менее драматичные погодные риски становятся все более значимыми.

В офисе Planet OS в Таллине

Я пришел в компанию как Frontend Developer с целью постепенно переключиться на Customer Development. В любом коммерческом проекте клиенты и их проблемы стоят на первом месте, интерфейсы же — способы их решения. Поэтому у меня всегда была большая тяга взаимодействовать с людьми, с пользователями. Это желание частично реализовалось, когда я стал техническим евангелистом проекта.

Мы построили двусторонний процесс продаж. С одной стороны, через менеджмент корпораций, которым мы предлагаем комплексные решения. С другой стороны, через инженеров компаний, которым мы помогаем решить их небольшие проблемы с помощью наших публичных API. Менеджеры по продажам могут использовать инсайты, полученные в процессе технического евангелизма, в переговорах с менеджментом, который, в свою очередь, уже может знать о Planet OS от своих инженеров.

Так как наша команда все это время оставалась небольшой (в разное время 5-8разработчиков плюс контракторы, менеджмент, продажи), каждый исполнял одновременно несколько ролей. Я, например, общался с клиентами, принимал участие в бизнес-обсуждениях, писал код и занимался некоторыми компонентами инфраструктуры.

Фаундеры компании были из Эстонии, но главный офис с первых дней инкорпорации находился в Кремниевой долине, в Саннивейл, в то время как инженерный офис базировался в Таллине. Когда я жил в Таллине, у меня была возможность периодически приезжать в наш американский офис.

Команда Planet OS

— Как сотрудник стартапа получил ли ты долю в проекте?

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

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

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

— Какие впечатления остались у тебя от жизни в Эстонии, общения с эстонцами?

Эстония значительно отличается от других Балтийских стран, Литвы и Латвии. Хотя у них много общего, прежде всего, история и то, как они развивались после распада Советского Союза, но скорость и динамика этого движения были разными. Эстонцы шагнули дальше всех, возможно, потому что у них было очень сильное желание построить государство скандинавского типа. Им удалось сформулировать свою национальную идею, что помогло создать платформу для реформ.

Кроме того, Эстония смогла вырастить новое поколение, которое стало воплощать эти изменения в жизнь. Это хороший пример, как усилия, помноженные на талант, дают мощное ускорение обществу и государству. Ставка на прозрачность, IT, электронные сервисы стала хорошим пиаром, которому нужно было соответствовать. И эстонцы приложили очень много усилий, чтобы реализовать разрекламированное. Что касается уровня жизни, то можно посмотреть статистику, согласно которой Эстония также опережает Латвию и Литву. В Эстонии, кстати, живет много иностранцев, которых привлекает легкость ведения бизнеса, демократичность, открытость, технологичность. Это не только люди из Восточной Европы, которые хотят немного улучшить свою жизнь, но и экспаты из Британии, Германии, Испании, Италии.

Таллин. Фото Ильи

Несмотря на то, что Таллин — небольшой, тихий город, в котором живет всего полмиллиона человек (треть Эстонии), в нем есть ощущение городской динамики. Я не могу назвать его скучным. У Таллина есть определенное настроение, там комфортный ритм жизни. Это однозначно город с собственным характером, очень артистичный, сумевший сделать восточноевропейский колорит своей изюминкой. При отторжении эстонцами всего советского, они сумели трансформировать его следы в нечто аутентично-привлекательное. В городе очень классная кофейная культура и культура еды в целом. Благодаря тому, что в Таллин приезжает много туристов, это не только дает хороший заработок, но и способствует культурному обмену, и там не чувствуешь себя в мононациональном обществе.

Лучшее время посетить Эстонию — это белые ночи летом. В памяти надолго остаются моменты, когда вечер незаметно перетекает в утро, и за вином в хорошей компании можно не заметить, как прошла ночь. Многие жалуются на климат, и он действительно сложный, хотя лично мне, например, было довольно просто адаптироваться. Я перешел на специальную спортивную одежду, которую обычно носят любители походов в горы. Она дает уверенность, что тебя ничто не застанет врасплох. При этом в Таллине нет сильных морозов (из-за моря). Но зимой очень короткий световой день и высокая влажность делает климат для многих не очень комфортным. Первые два года мы не замечали, как новые погодные условия повлияли на организм. На третью зиму всей семьей начали принимать пищевые добавки, чтобы компенсировать недостаток витаминов. Многие стараются зимой хотя бы несколько недель провести в южных странах. У нас получилось только на четвертый год жизни в Эстонии уехать на три месяца в Испанию.

Таллин. Фото Ильи

В общении с эстонцами очень помогало общее советское прошлое и отношение к нему. Всегда было о чем пошутить и рассказать свою версию советских «страшилок». Я не могу экстраполировать свой опыт на всех эстонцев, но у своих коллег я многому научился. Например, очень простому принципу проведения митингов — minimum bullshit, maximum productivity (меньше политики — больше решений и ответственности за их принятие). Команда стремилась сосредотачиваться на главном и не распыляться по мелочам. На мой взгляд, эстонский менталитет немного похож на немецкий в том, что касается внимания к деталям, требовательности к качеству, четкости рабочих процессов.

По поводу качества, мне кажется, это часть национального ДНК: невозможно демонстрировать что-то, что не доведено до совершенства, что плохо выглядит. Иногда в стартапе это имеет негативные последствия. Когда решение не до конца провалидировано, а ты долго над ним работаешь, может оказаться, что эти усилия потрачены не самым эффективным образом, потому что в итоге решение было малозначительным для клиента.

Я жалею, что так и не выучил эстонский. Внутренний язык в команде всегда был английский, на курсы у меня всегда не хватало времени, а без вводного курса, «на слух», эстонский язык выучить очень сложно. Если я приеду еще раз в Эстонию на длительное время, то обязательно восполню это упущение.

Хотелось бы еще поделиться интересным наблюдением о международном неформальном комьюнити «Клуб друзей Эстонии». В этой среде можно найти предпринимателей, спортсменов, деятелей культуры и искусства, политики. При этом большая часть из них, не будучи эстонцами по национальности, болеют за эту страну и ее граждан. «Друзья Эстонии» поддерживают имидж страны и помогают эстонским экспатам реализовать себя за рубежом. Это люди с большой сетью контактов, они могут представить тебя нужному человеку или дать рекомендацию. Это очень эффективный нетворкинг, благодаря которому Эстония интегрирована в мировое сообщество. При этом нет какого-то узконационального, показного патриотизма. Все четко по делу.

Визит президента Эстонии в офис Planet OS

— Почему, несмотря на комфортную жизнь в Таллине, вы решили переехать?

У ребенка начались проблемы со здоровьем: из-за постоянной влажности у него были хронические отиты, требовались операции. Мы решили, что нужно временно перебраться в страну с сухим климатом. Временно, потому что я изначально хотел переехать в Кремниевую долину, так как у компании был там офис, а я хотел работать с клиентами. Но из-за финансовых сложностей у проекта не было возможности платить мне американскую зарплату, и этот переезд постоянно откладывался, хотя визовый вопрос был решен быстро (H1B).

Мы с женой решили пожить в Польше, в городе Вроцлав. Это было удобно с логистической точки зрения, так как город расположен недалеко и от Таллина, и от тех городов Западной Европы, где находятся офисы наших клиентов. Вроцлав мы выбрали, потому что это студенческий город и он более интернациональный, чем другие польские города. В Таллине мы привыкли регулярно пользоваться общественным транспортом, который бесплатный для всех жителей города. Благодаря его удобству и пунктуальности оказалось, что машина для передвижений по городу нам не нужна. Из-за сложностей с передвижением в большом городе, мы не стали рассматривать Варшаву как вариант, хотя, как и положено столице, Варшава является наиболее интернациональным городом Польши.

Вроцлав. Фото Ильи

У меня сложилось ощущение, что с поляками немного легче в общении, чем с эстонцами, потому что они быстрее идут на контакт. На самом деле все северные европейцы создают впечатление интровертов, и, чтобы построить с ними доверительные, дружеские отношения, требуется больше времени. Так как в Польше все было достаточно предсказуемо и понятно, мы решили там не «закрепляться», а продолжать искать более радикальный опыт. Преимуществом Вроцлава была оптимизация жизни: школа рядом, домашний офис, оставалось больше свободного времени на семью и увлечения.

Параллельно с работой мы с женой запустили небольшой проект. Еще в Таллине я подсел на кофе третьей волны, начал глубоко интересоваться этой темой. И во время переезда во Вроцлав возникла идея организовать логистику для небольших европейских кофеен, чтобы они могли покупать друг у друга свежеобжаренный кофе. Это был очень интересный эксперимент, который не стал успешным коммерчески, но помог хорошо разобраться во всех тонкостях кофейной индустрии. Мы базировались во Вроцлаве в течение двух лет и этой весной стали искать новые варианты, куда двигаться дальше и где развиваться. Для мягкого переезда семьей есть короткое время в году — летние каникулы, поэтому мы торопились с решением. Из вариантов были Амстердам и Берлин, но ситуация в компании изменилась.

Во Вроцлаве

— Летом 2017 года Planet OS стала частью портфолио американской компании Intertrust. Что предшествовало этому и была ли изначально у основателей стартапа цель его продать?

Такой цели не было. Мне кажется, цель любого стартапа — стать успешными. Когда компания стала успешной, тогда уже можно ставить новые цели, продавать, выходить на биржу или оставаться частной. История Planet OS полна драмы и сложностей, о чем можно написать отдельную статью. Но в этом нет уникальности — каждый выживший стартап проходит через shit-storm и не один раз. Как говорит про работу в стартапе наш CEO, Райнер Стернфелд: «Готовься, что будешь работать, как собака под дождем :-)» Часто утром не знаешь, чем придется закончить день. По этой причине некоторые эпизоды из сериала Silicon Valley казались мне не такими уж и смешными.

Продажа нашей компании была связана с ростом и расширением клиентской базы. Нашими клиентами были крупные корпорации, у которых всегда требований больше, чем может удовлетворить стартап с небольшой командой. Чтобы улучшить нашу позицию на рынке, нам нужна была интеграция с уже существующими решениями в сфере безопасности и защиты данных. И в этой области на каждую отдельную проблему можно создать отдельный стартап, настолько масштабны задачи, которые нужно решать. Так как наш основной инвестор, компания Intertrust, имела целый спектр решений в этой нише, объединить наши продукты в одно портфолио было естественным шагом. Эта сделка акселирировала обе компании, и я надеюсь, что в скором будущем будут видны первые результаты нашего сотрудничества.

Эта сделка также отразилась и на моем личном статусе — у меня появилась возможность переехать с семьей в Калифорнию. Сейчас моя роль в компании называется Solutions Architect.

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

Если для кого-то социальная защита — основной приоритет, то ему в США делать нечего, сюда едут с другими целями. Просто нужно ко всему подходить осознанно и хорошо подготовиться к реалиям страны, в которую переезжаешь. Мне повезло, потому что наш CEO, Райнер, перебрался с семьей в Долину несколько лет назад, и я из первых рук получил много информации и полезных советов, которые помогли обустроиться и сделать нашу релокацию безболезненной. Конечно же, нужно обязательно упомянуть, что при переезде в США нужно смотреть не только на зарплату, но и на предлагаемые работодателем страховки. Они, как правило, выгоднее тех, которые вам могут предложить индивидуально.

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

Может быть, я перевез семью в Штаты не в самый удачный момент, потому что говорят, что «золотое» время было при Обаме, но пока что сильного влияния политики на повседневную жизнь я не ощутил. Сейчас же в американском обществе чувствуется сильное напряжение, которое существенно нагнетается СМИ. Несколько попыток посмотреть местное ТВ привели к легкому шоку — события и комментарии были очень преувеличены и полны драматизма.

Нужно добавить, что калифорнийцы умеют эффективно справляться с полученным стрессом, и мне это импонирует. Мы в семье практикуем принцип work hard, play hard и стараемся выбираться куда-то или заниматься любимыми делами. С этой точки зрения, мне кажется, здесь у нас будет больше возможностей. Правда, нужно купить автомобиль, иначе многого не увидишь, ведь большая часть достопримечательностей — это дикая природа.

Трое моих детей в октябре пошли в местные школы. Во Вроцлаве они учились в интернациональной школе, где обучение было на английском, поэтому языковых сложностей они не испытывают. Это было одной из причин, почему мы стремились в США: хотелось, чтобы дети свободно и без акцента говорили на английском и впитали местную культуру свободы, конкуренции и упорной работы. И я думаю, что опыт жизни в капиталистическом обществе тоже очень полезен.

С семьей в Пало-Альто

— Ты проработал в стартапе почти 6 лет. Есть ли у тебя предубеждение против в больших корпораций? Рассматриваешь ли для себя возможность когда-нибудь принять предложение от какой-то большой компании здесь, в Долине?

У меня с годами изменилось отношение к этому вопросу. Раньше я был более радикально настроен в отношении крупных компаний, но сейчас понимаю, что не так важна вывеска, под которой ты работаешь, сколько люди и продукт, который ты создаешь. Внутри любой корпорации есть много проектов, и на некоторых царит вполне себе атмосфера стартапа. В конце концов, все определяет команда, в которую попадешь, и твоя роль в ней. Intertrust — тоже не маленькая компания, хотя это не Google или Microsoft. Так что теперь я не исключаю для себя возможности работать в большой корпорации. В принципе, я ожидаю, что Intertrust будет расти, а вместе с ростом компании будут появляться возможности и для личного роста.

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

Стартапы очень плохо сказываются на здоровье, после такой стрессовой работы нужно периодически уходить в саббатикал (отпуск продолжительностью от нескольких месяцев до года — ред.). Поэтому я не готов стартовать свой проект ради самого процесса. Я считаю, что вполне можно оказывать влияние, реализовывая чужую идею: если ты применяешь свои способности, раскрываешь свой характер, и у тебя в компании есть возможности для роста. Я разделяю такой подход, что делать нужно не то, что ты любишь, как об этом часто говорят, а то, что у тебя лучше всего получается. Но это не означает, что надо отказываться от того, к чему у тебя есть страсть. Потому что для работы, на которую ты подписался, нужен драйв, а для драйва необходима эмоциональная подпитка, которую нужно откуда-то черпать.

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

Корпоративная жизнь еще немного легче в том плане, что она больше способствует поддержанию баланса между личным и рабочем временем. Я не так давно читал заметку в Inc., что при современном образе жизни из пяти опций — сон, работа, семья, спорт и друзья — можно активировать только три. У меня, наверно, так и получается, всегда чем-то приходится жертвовать. Мы с женой любим детей и сознательно решили иметь большую семью, понимая, что придется уступить каким-то личным амбициям. Это история про компромисс. Я думаю, что все интересное в жизни связано с принятием сложных решений и поиском компромиссов. Если человек не хочет принимать трудных решений, рассчитывая на то, что все будет как-то решаться само собой, он проживет скучную жизнь.


DOU Проектор: KPI Events - все мероприятия в одной ленте

$
0
0

В рубрике DOU Проекторвсе желающие могут презентовать свой продукт (как стартап, так и ламповый pet-проект). Если вам есть о чем рассказать — приглашаем поучаствовать. Если нет — возможно, серия вдохновит на создание собственного made in Ukraine продукта. Вопросы и заявки на участие присылайте на editors@dou.ua.

Добрый день, меня зовут Евгений Козак. Я выпускник и сотрудник КПИ, а также CEO IT-сообщества в Киевском политехническом институте — KPIhub. Занимаюсь разными низовыми инициативами в КПИ, в частности в области IT. Примерно год назад я писал об истории создания одного из наших студенческих проектов — виртуального тура по кампусу КПИ. Сейчас хочу рассказать о ресурсе календаря событий — KPI Events.

Идея

Студенты — одна из самых активных категорий людей, и они являются движущей силой в инициативе и проведении мероприятий в разных сферах (наука, спорт, отдых и т. д.). Каждый день проходит множество открытых интересных лекций, конференций, стажировок, встреч и много-много всего.

Очень сложно иногда отследить интересные для себя события без единого ресурса, где бы такие мероприятия были собраны и классифицированы. Как показала практика, лучшие вузы мира создали сами для себя подобные ресурсы (автономные системы событий), например, MIT, Гарвард.

Идея реализовать такой pet-проект появилась и у нас. Не с первого раза, но у нас получилось собрать команду и запустить продукт, интегрировать его с другими сервисами и отпустить в плаванье.

Реализация

Я начал с написания ТЗ, которое мы утвердили с администрацией КПИ, так как это официальный ресурс университета и размещен в его домене. Такого online-ресурса в КПИ не было, потому нам легко и быстро дали «зеленый» свет. Идею поддержали на уровне ректората.

Мы собрали команду из 4-хчеловек: PM проекта — это я, главный программист — Алексей, два аналитика и тестировщика — Воваи Макар). Развернули менеджмент в Trello, поставили дедлайны и начали работу.

Всей технической частью занимался Лёша. Первым делом надо было определиться со стеком технологий, который лучше всего подходил для проекта. На тот момент Леша неплохо знал Java EE и игрался с Python. В итоге для реализации проекта, по его мнению, больше подошел Python вместе с его веб-фреймворком Django.

Этот фреймворк позволял в короткие сроки сделать готовый прототип, а также легко масштабировать приложение. Лёша взялся проектировать задуманное нашей командой KPIhub. Для БД выбрали MySql, ее возможностей вполне хватало для такого простого CRUD приложения. Так как этот проект нацелен на студентов, которые частенько сидят в интернете со смартфонов, нам нужен был адаптивный сайт. И тут было решено использовать для адаптивной верстки CSS Framework Bootstrap.

Основные возможности нашего сервиса: предлагать события, сортировать их по дате и категориям, добавлять события в свою персональную ленту и просматривать события от выбранной организации.

Для реализации всего этого было недостаточно простого functional based views в Django, и мы использовали class based views. Это позволило внедрить полезные фичи ООП. Все данные категорий, событий и организаций надо как-то распределить в нашей БД. Для этого спроектировали такую структуру для события:

Командой мы решили, что выкладывать события будут организации, которые предварительно должны были пройти верификацию у модераторов KPI Events. Представители организации получают доступ к админке кабинета их организации на сайте и выкладывают события там от имени своей организации.

Чтобы любой пользователь мог легко разобраться с админпанелью, мы написали собственный максимально простой веб-интерфейс для администрирования организации, который тоже адаптирован под мобильные устройства.

Пример интерфейса для организации KPI Events:

Командой мы решили, что до релиза у юзера должна быть возможность добавлять события к себе в Google календарь, и дайджест событий на день должен выкладываться на наш Telegram каналавтоматически. Для реализации фичи с Google календарем пришлось разобраться с Google Calendar API, и уже через день эта фича была готова.

С телеграмом тоже все просто: создаем Telegram Bot, устанавливаем либу для Telegram Bot API и пишем скрипт, который достает все события на текущий день и отправляет на наш канал. Осталось только вызывать этот скрипт каждый день в определенное время. Берем cron и прописываем, в какое время запускать наш скрипт, и все готово. Можно было прописать настройки прямо на сервере через crontab, но лучше пусть эти настройки хранятся в самом проекте. Для этого берем библиотеку django-crontab и записываем все у себя:

Также немало времени было уделено фронтенду, а именно грамотному распределению кнопок, иконок и фильтров. С логотипом нам помогла наша знакомая Настя.

Результат

Мы получили удобную площадкус простым интерфейсом для размещения новостей («предложкой») и их фильтрацией по категориям. Каждый может создать свою ленту событий, чтобы не пропустить ивент или подписаться на конкретную организацию. Матрица доступа позволяет создавать организации, которые модерируют свои мероприятия. Также в пару кликов легко добавить интересное мероприятие в свой Google календарь.

Создан канал в Telegram, куда в автоматическом режиме генерируются дайджесты событий. Благодаря большому интересу комьюнити КПИ на нас начали активно подписываться и репостить в другие большие каналы. Чуть больше, чем за 2 недели на нашем канале уже 500+ подписчиков, и он входит в ТОП-80 каналов Украины. Также было несколько тематических заметок на официальных ресурсах университета. Мы стараемся дальше придумывать интересные фичи и автоматизировать работу ресурса.

Проект будет интересен не только студентам университета, но и всем жителям Киева, так как в КПИ проходит много мероприятий с открытым доступом для всех. В свою очередь абитуриенты не пропустят дни открытых дверей или просто посмотрят, что и когда проходит в университете, и смогут посетить мероприятие.

В перспективе можем рассматривать внедрение такого продукта в других университетах и сферах.

Гід IT-спеціальностями УКУ

$
0
0

Український католицький університет готує ІТ-фахівців на трьох програмах: бакалаврській із комп’ютерних наук, бакалаврській з IT та бізнес-аналітики і магістерській Data Science. Розглянемо особливості навчання на кожній із них.

Бакалаврська програма з комп’ютерних наук (CS@UCU)

Місія програмидекларована як підготовка ІТ-фахівців, які створюють нові не лише продукти та послуги, а й сенси. Програма в першу чергу орієнтована на технічну складову і передбачає три спеціалізації: програмна інженерія, штучний інтелект та людино-машинна взаємодія. Студенти здобувають знання з комп’ютерних наук та інформаційних технологій, що ґрунтуються на математичних дисциплінах із врахуванням найновішого світового досвіду ІТ-освіти. Предмети частково викладають англійською, студенти також поглиблено вивчають іноземні мови. Курси читають запрошені західні лектори та українські — з міжнародним досвідом роботи. Акцент — на практично орієнтоване навчання (обов’язковими є літні практики та стажування в IT-компаніях) та розвиток етичних, бізнес-орієнтованих, комунікаційних навичок.

Випускники програми мають можливість продовжити навчання на магістерській програмі УКУ та закордонних вишів, заснувати власну справу у середовищі Львівської бізнес-школи УКУ або працювати в компаніях, які є партнерами програми: SoftServe, Eleks, Sigma Software, N-iX, V.I.Tech та інших.

Навчальні дисципліни програми поділені на блоки: професійний та гуманітарний. Окрім того, діє літня англомовна школа. У професійному блоці студенти вивчають дискретну математику, математичний аналіз, алгоритми і структури даних, лінійну алгебру, об’єктно-орієнтоване програмування, операційні системи, організацію баз даних, архітектуру комп’ютерних систем, теорію ймовірностей і математичну статистику, теорію прийняття рішень, web-технології та web-дизайн тощо. У переліку гуманітарних дисциплін — англійська мова, історія європейської цивілізації, соціальне підприємництво та ін.

Очікується, що після першого року навчання студент знатиме принципи написання коду мовою Python, основні поняття дискретної математики, дискретні структури даних, основи комбінаторики та теорії графів, зможе розгортати невеликі офісні мережі та знатиме англійську на рівні B2.

Після другого курсу — дізнається, як і навіщо писати код в об’єктно-орієнтованому стилі, як розробляти високоефективні додатки на Java/C++, освоїть принципи побудови операційних систем, реляційних і нереляційних баз даних, знатиме, як написати бізнес-план та реалізувати власний проект.

З третього року навчання розпочинається поділ на спеціалізації. Окремий проектно-орієнтований курс для третьокурсників розробили фахівці львівських ІТ-компаній. У його рамках вивчається повний цикл розробки програмного забезпечення (бізнес-аналіз, проектування, управління проектом, командна робота, тестування). Також студенти проходять практику в компаніях-партнерах програми.

Випускники бакалаврату можуть працювати програмістами, фахівцями з машинного навчання, техрайтерами, проектними менеджерами, системними адміністраторами, UX-спеціалістами, тестувальниками.

Навчальна програма в УКУ є продуманою, цікавою для студента і дуже насиченою. Побудована таким чином, що вже на третьому курсі навчання можна знайти part-time оплачувану роботу. А після другого курсу кожен студент проходить практику в ІТ-компанії за цікавим йому напрямом в рамках одного з предметів.

Під час першого року навчання програма дає можливість пройти співбесіду у HR львівських ІТ-компаній. Крім цього, є багато клубів, які збираються протягом року, а саме: клуб штучного інтелекту, веб-розробки, алгоритмічного програмування, робототехніки, розробки ігор, кібербезпеки та інші. Тішить те, що більшість предметів є прикладними, тобто дають практичні навики, а викладачі показують, де можуть бути використані отримані знання у реальному світі.

До слова, навіть на суто математичних курсах, таких як статистика, дискретна математика, лінійна алгебра, маємо завдання, які потребують програмування. Викладачі стараються зробити навчання цікавим і корисним для студентів, і в більшості випадків їм це вдається. А коли ні, то студенти дають свій фідбек про те, що варто покращити, і питання одразу вирішується. Така комунікація ведеться постійно. Будь-які проблеми стосовно навчального процесу залагоджуються по мірі їх виявлення. Студенти беруть у цьому активну участь.

Програмування вивчається систематично, на третьому курсі воно складає 95% домашніх завдань. Вивчаємо різні мови програмування. Обов’язковими, які використовуються на курсах, є JavaScript, Python, Java, C++, C, R. Але паралельно можна вивчати й інші. Викладачі до цього заохочують.

Зокрема, проходять різні літні та зимові школи під час канікул, де можна отримати знання у спеціалізованих галузях. Найбільше мені подобається мільйон можливостей для саморозвитку, які пропонує університет. Кількість відкритих лекцій, семінарів, творчих заходів, конференцій та фестивалів вражає. До прикладу, як мінімум раз на тиждень у нас проводяться ІТ-зустрічі з людьми з індустрії, на яких вони діляться досвідом. Нас вже відвідали працівники Facebook, Google, Grammarly, Twitter, Ring Labs, Eleks, SoftServe та багатьох інших всесвітньо відомих компаній.

(Марія, 3 курс)

Традиційними є зустрічі студентів з менторами — представниками IT-індустрії

Дуже подобається те, що програма різноманітна. З 3 курсу можна вибирати собі напрямок, в якому хочеш рухатися, але й тепер є можливість вчити предмети, які цікавлять більше, глибше, ніж потрібно для здачі. Безпосередньо корисними для мене є всі предмети.

Група порівняно мала, тому є можливість усім спілкуватися з викладачами. На день є максимум 3 пари, і з них майже третина — це консультації, де можна питати все, що цікавить чи незрозуміло. Наскільки я знаю, багато викладачів самі прийшли до нас, і тепер дуже задоволені. Більше того, майже половина молодші за 30, тому комунікувати дуже легко :)

Практика в компанії чи на своєму проекті є обов’язковою після 2 курсу (за неї зараховуються кредити). Якщо студенту вже ніяк не вдається щось підібрати, університет домовляється, але такого ще не бувало.

(Адріян, 2 курс)

***

Програма, звичайно, не ідеальна, є деякі недоліки, але все одно плюсів набагато більше. Вона створена так, щоб кожний студент зміг спробувати себе у різних ролях (від верстальника до дата-саєнтіста) і потім вже сам обрати, по якій спеціальності йти далі.

Із найкорисніших предметів саме на 3 курсі можу виділити штучний інтелект, життєвий цикл програмного забезпечення та, можливо, веб. Викладачі ставляться до всіх студентів однаково. Буває, що дехто не задовольняє потреби студентів, тоді їх можуть замінити на інших. Іноді трапляються зайві предмети (такі як християнство чи історія), але, можливо, вони просто для загального розвитку.

Навчання дуже інтенсивне. Проводимо в університеті більше часу, ніж вдома, вчимося по 7 днів на тиждень. Студенти постійно допомагають один одному. Найяскравіші враження я отримав під час другого року навчання в УКУ. Мабуть, це був найкращий рік в моєму житті. Саме в УКУ я зустрів людей, які стали мені, як сім’я, ми з ними робили усе разом, вчилися по ночах у друга вдома, відпочивали, їздили разом кудись. Усе разом.

Оскільки програма нас робить, якщо так можна сказати, «універсальними програмістами», то вважаю, що більшість наших студентів не будуть мати проблем із пошуком роботи. Після 2 курсу практика є обов’язковою. Нам шукають компанії, які готові взяти нас на стажування на різні позиції на декілька тижнів, і в разі успішного стажування можна залишитися у них на роботі. Цього року такими компаніями були SoftServe, Eleks, Kindgeek, N-IX та інші.

Ми були першим набором, таким собі експериментом. Щороку програма якось змінюється. Тепер у нас на 1 курсі вивчають Python та C, далі на 2 курсі — Java та C++, на 3 курсі ми вивчаємо вже застосування пайтону у штучному інтелекті та JavaScript на вебі. Також на 2 курсі була можливість пройти разом з магістрами курс по Scala замість курсу «Архітектура комп’ютерних систем», і декілька наших студентів вирішили його пройти.

Коли я вступив в університет, зовсім не вмів програмувати. Перший рік був дуже важким. Коли ж перейшли на 2 курс, зрозуміли, що на першому було ще досить легко в порівнянні. Уже тепер, на 3 курсі, дійсно бачу, що ми постійно вчимось чогось нового і вдосконалюємо себе в дуже різних сферах. Приємно згадувати все те болісне навчання, яке ми пройшли, і бути впевненим, що це було не даремно.

(Орест, 3 курс)

Студенти-учасники гри «Що? Де? Коли?»

Теорія та практика знаходяться у правильному балансі. Багато інформації відводиться на самостійне опрацювання, що є відмінним від навчання у школі. На першому курсі ми вивчаємо шість предметів, і я вважаю, що кожен з них є необхідним для формування мене як повноцінної особистості. На мою думку, досить важливим є той факт, що УКУ турбується не лише про професійні навички студента, але й про його гідне становлення у суспільстві. Маю на увазі те, що паралельно з гарною базою програмування та математики нас навчають нестандартних шляхів до вирішення проблем, що допоможе не лише в професійному, але і в повсякденному житті.

Викладачі до своєї професії ставляться відповідально. Подають матеріал досить цікаво, не «сухо». Більшість лекцій реально цікаво слухати. До учнів всі викладачі без виключення мають приязне ставлення. Не допускають фамільярності, тримають певну дистанцію «викладач — студент», але водночас відкриті до пояснення матеріалу навіть поза навчальним часом. Надзвичайною перевагою викладацького складу нашої програми, як на мене, є викладачі англійської. У тих груп, що знають іноземну мову на достатньому рівні, пари проводять native speakers, що є надзвичайно крутим досвідом! Це допомагає не просто вивчати якісь банальні правила, слова та інше, але й тренувати свої навички спілкування з іноземцями, що є надзвичайно корисною можливістю для майбутніх програмістів.

Вчитися доводиться реально багато. Ситуація, коли пари закінчуються о 15:00, а студент їде додому о 22:00 — це реальність нашої програми. На мою думку, це дуже круто. Ми постійно спілкуємось, робимо якісь проекти, відвідуємо багато зустрічей та заходів, вивчаємо купу нового матеріалу. Такий напружений формат сподобається не кожному, але для мене це можливість здійснити свої мрії та побудувати успішне майбутнє.

Ціную програму за можливості, які вона надає. Постійні зустрічі з представниками різних провідних IT-компаній не лише України, але й світу. Також завдяки цій програмі у мене з’явилася велика кількість друзів-однодумців, з якими проводжу частину свого вільного часу для вирішення певних питань навчання або обговорення ідей нових проектів.

Зі спілкування з моїми старшими колегами можу зробити висновок, що УКУ турбується про гідне працевлаштування. І це не лише слова, але реальність. Наразі всі студенти третього курсу, які хотіли влаштуватись на роботу, працюють. І не будь-де, а в компаніях, що турбуються про них в плані становлення як професіоналів своєї справи.

Для мене програма «Computer Science» є не просто місцем навчання. Вона стала частиною мого життя разом із викладачами та студентами, які на ній викладають/навчаються. Маю надію, що мені вдасться не проґавити отриманий шанс та втілити в реальність всі можливості, що подарував мені Український католицький університет.

(Євген, 1 курс)

День відкритих дверей в УКУ

Вчитися складно, але цікаво. Завдання бувають доволі неординарними і різноманітними. Нам намагаються дати базові знання з усіх ІТ-дисциплін, розраховуючи на те, що ми багато чого попробуємо і таким чином знайдемо галузь, в якій нам найцікавіше буде працювати. Профільні предмети, (ООП, БД і тому подібне) зрозуміло, що є корисними. Також кожного семестру в нас є як мінімум один предмет із гуманітарного блоку, тобто щось на розвиток soft skills, критичного мислення, здатності знаходити ефективні рішення до проблем, проводити захопливі презентації.... Курси для загального розвитку, які «розбавляють» математику/програмування, дозволяють переключити мозок і задіяти інші типи мислення. Крім того, кожного семестру ми маємо право вибрати один загальноуніверситетський курс (це так і називається — вибірковий курс), який може взагалі ніяк не стосуватися комп’ютерних наук. Зараз я, наприклад, відвідую курс креативного письма.

Багато з викладачів самі працюють в індустрії. Викладання для них не є необхідністю, тому вони не бояться експериментувати, багато спілкуються з нами, відкриті до критики і компромісів. Звісно, це деколи виливається у відсутність чіткого плану предмету чи системи оцінювання.

Дуже багато командної роботи. З кожного предмету є підсумковий проект. В цьому плані усе дуже гнучко. Наприклад, один великий проект може йти зразу на декілька курсів чи це може бути проект, над яким ти вже працював торік. Основне — в кінці семестру представити результати роботи. Також дуже добре забезпечення різними компонентами hardware: мікроконтролерами, датчиками.

Половина предметів викладається англійською, і більшість навчальних матеріалів — також англійською. Процес роботи над нашими проектами намагаються максимально уподібнити до того, як це виглядає у компаніях. Керівництво програми розраховує на те, що якесь зі стажувань має перерости у постійну роботу.

Найяскравіші враження — ночі командної роботи перед дедлайнами чи здачею проектів, коли виходиш з університету далеко за північ :) Тоді така просто унікальна атмосфера утворюється. А ще запам’яталося представлення мого курсового проекту, доповідь у парі в форматі TED-talk, змагання з алгоритмічного програмування, перший спалений мікроконтролер :)

Навчальний процес спрямований на те, щоб дати можливість розкрити свої здібності і займатися тим, до чого тягне. У цьому плані важливо те, що нам надають колосальну підтримку у всіх починаннях і втіленнях ідей. Програма створює хороше середовище: натхненні, вмотивовані люди, які спонукають тебе постійно розвиватися у всіх напрямках. Мені лише деколи не вистачає академічності в програмі (тобто чітких систем оцінювання, академічних типів самостійної роботи).

(Дзвінка, 3 курс)

Остап Коркуна, програміст у Facebook, на зустрічі зі студентами УКУ

Бакалаврська програма з IT та бізнес-аналітики

Програмає новою, перший набір на неї відбувся в 2017 році. Програма спрямована на застосування прикладних інформаційних технологій до потреб сучасного бізнесу, зокрема щодо аналітики бізнес-процесів та їх автоматизації. Курс розробляли на факультеті прикладних наук УКУ разом із Львівською бізнес-школою та представниками ІТ-індустрії.

За визначенням декана факультету прикладних наук УКУ Ярослава Притули, «ІТ та бізнес-аналітика» — це програма на перетині технологій та бізнес-практик. Міждисциплінарна програма базується на комп’ютерних науках, але поєднує в собі системний аналіз та організацію управління бізнес-процесами. Випускники програми «ІТ та бізнес-аналітика» зможуть однаково добре розуміти мову інженерів і мову бізнесу.

Старт програми «IT та бізнес-аналітика»

Упродовж перших двох років навчання студенти мають схожу навчальну програму з бакалаврами комп’ютерних наук: перетинаються 80% курсів. Затим, здобувши знання з математики та програмування, студенти можуть вибрати ближчий собі напрямок.

Першокурсники вивчають дискретну математику, математичний аналіз, основи програмування, економічний аналіз. З 2 курсу вивчається об’єктно-орієнтоване програмування, теорія ймовірностей та математична статистика, лінійна алгебра, організація баз даних, алгоритми та структури даних, економетрика, основи фінансів.

У переліку навчальних дисциплін 3 курсу — життєвий цикл програмного забезпечення, основи штучного інтелекту, машинне навчання, основи захисту інформації, менеджмент інформаційних систем, операційний менеджмент, аналітика бізнес-рішень в умовах невизначеності.

За останній рік бакалаврату студенти вивчають такі дисципліни, як аналіз для бізнес-аналітики, візуалізація даних, транспортна аналітика та логістика, маркетингова аналітика, big data в інформаційних системах підприємств, управління ризиками, блокчейн-технології, цифрова трансформація в бізнесі, та пишуть дипломні роботи.

Після закінчення навчання студенти можуть працювати як в ІТ-аутсорсингу, продуктових компаніях, так і в бізнес-консалтингу, обіймаючи посади бізнес-аналітика, аналітика даних, програміста тощо. Особливість програми в тому, що випускники можуть знайти себе як інженери і як бізнесмени.

IT-зустріч з Оленою Козловою, співзасновницею та операційною директоркою PLVision

Я вибрала саме УКУ передусім через цінності, оточення. А далі вже з можливих програм обрала бізнес-аналітику через затребуваність на ринку праці і просто любов до математики. Бачила, як розвивалися комп’ютерні науки і просто повірила, що IT&ВА теж буде крутою програмою.

Наразі я дуже задоволена навчанням. Вчимо основи, на базі яких вже в наступні роки будемо вчити те, що справді важливе для роботи. Вивчення кожного предмету має сенс, все є продуманим. Гуманітарний блок спрямований на розвиток soft skills. Програма модифікується відповідно до потреб індустрії. Викладачі є професіоналами, які самі мають досвід роботи в індустрії, постійно розвиваються, абсолютно завжди готові допомогти, навіть поза виділеним для цього часом. Постійно застосовуємо вивчене на практиці, робимо проекти. Важливою особливістю є додаткові клуби, де можемо вчити те, що нас цікавить, наприклад розробка ігор, робототехніка. У цьому завжди підтримують, надають потрібну допомогу. Кожного тижня у нас є зустрічі з представниками різних ІТ-компаній.

Особисто мені вчитися дуже важко через швидкий темп, насиченість програми. Але завжди можу знайти допомогу у викладачів і одногрупників. Навчання забирає практично весь час, але воно того вартує. Найбільше зусиль потребує програмування — воно вимагає багато практики. Викладачі будуть до останнього з тобою сидіти, вони віддаються справі на всі сто.

(Ярина)

***

Програма нова, тому ми певною мірою є її випробувальниками. Мені подобається, що протягом навчання в УКУ ми маємо змогу отримати як hard, так і soft skills. Наприклад, у нас є курс з критичного мислення та креативного вирішення проблем. Щодо розвитку як особистості, то в університеті діють різні клуби та студентські організації, які дають можливість відкрити себе по-новому. Мені дуже подобається в УКУ. Відчуваю, що я у правильному місці, у правильний час!

(Дарія)

***

Я навчаюся лише кілька місяців, проте вже можу з упевненістю сказати, що мої враження позитивні. При вступі я переглядала карту курсів і зрозуміла, що переважна частина предметів мені цікаві і потрібні. У першому семестрі в нас лише 6 курсів, тому є можливість приділити увагу кожному з них. Є базові предмети: математичний аналіз, дискретна математика, основи програмування, англійська мова. Є також предмети для загального розвитку: історія та критичне мислення.

Одна з найсильніших сторін УКУ — це викладачі. Вони заохочують ставити питання, відкриті до пропозицій студентів. Англійську у багатьох викладають носії мови. Нас заохочують робити проекти, надають усі необхідні консультації, можуть порекомендувати, до кого ще звернутися. Особливістю навчання є також ІТ-зустрічі. Щосереди ми маємо лекцію від когось із представників індустрії, де можемо спілкуватися, ставити питання. Також маємо декілька клубів (кібербезпека, штучний інтелект і т. д.), менторами яких є реальні практики, люди, що знають, як це працює.

Серед моїх найяскравіших вражень можу зазначити орієнтаційну сесію — спеціальний тиждень на початку року, де є можливість краще познайомитися з університетом, людьми не лише зі своєї спеціальності, але і з інших. Адже найкращі ідеї народжуються на перетинах.

Причин обрати цю програму було декілька: окрім того, що мене цікавить в цілому цей напрямок, подобається, що УКУ абсолютно не толерантний до плагіату, корупції та списування. У школі, де оцінка вважалася важливішою за знання чи ідеї, списування було ніби чимось нормальним, але мені це абсолютно не підходить. Я хотіла б, щоб нас оцінювали за те, що ми дійсно знаємо і можемо, що, безперечно, і знайшла.

І головне — це люди. Серед моїх одногрупників багато людей, що були олімпіадниками, писали у МАН, мали до того свої проекти. Це неймовірно надихає, в такому середовищі прагнеш до розвитку.

(Женя)

Зустріч з Євгеном Романом, канадським економістом та бізнесменом

Магістерська програма комп’ютерних наук (Data Science)

Програмадає знання та навички в галузі програмування та аналітики даних. Від вступників вимагається диплом бакалавра, який необов’язково повинен бути з комп’ютерних наук чи інших інженерних спеціальностей. Проте важливим є досвід абітурієнта у сфері комп’ютерних наук та прикладної математики, а іспит включає в себе питання з вищої математики, лінійної алгебри, теорії ймовірностей, дискретної математики, об’єктно-орієнтованого програмування, базових структур даних та реляційних баз даних.

Навчання триває впродовж трьох семестрів. Студенти здобувають знання з таких предметів, як візуалізація даних, computer vision, machine learning, deep learning, reinforcement learning, архітектура даних, паралельні та розподілені обчислення, функціональне програмування, дизайн-мислення, штучний інтелект, створення інновацій та ін.

Магістри володіють такими компетенціями: об’єктно-орієнтоване проектування, алгоритмічне мислення та поглиблене знання алгоритмів і структур даних, програмування розподілених систем, оптимізація програмного коду, знання сучасних розподілених систем баз даних, знання побудови ІТ-бізнесу та стартапів. У сфері наук про дані випускники опановують знання алгоритмів і підходів машинного навчання, методів статистичного виведення та ймовірнісного аналізу; принципів збору даних, попередньої обробки та візуалізації даних, сучасних методів глибокого навчання.

Випускники-магістри можуть працювати інженерами програмного забезпечення, фахівцями з аналітики даних, бізнес-аналітиками.

Джефрі Рікер та Пол Лаймон із Ricker Lyman Robotic розповідали магістрам про принципи лідерства

В Україні це єдина сучасна програма з data science. Усі викладачі — або найкращі спеціалісти нашої країни, або викладачі закордонних університетів. Теоретичні курси інтегровані з практичними, тобто основи лінійної алгебри та статистики потім розгортаються в machine learning та deep learning. Програмування як навичка має бути у всіх студентів за умовами вступу до програми. Як мінімум треба знати Python або R. Бажано ще мати досвід з Java, бо деякі курси на Java. На курсі функціонального програмування ми вивчили Scala, але це не був курс зі Scala. Це був курс ФП зі скалою для прикладу.

Я вже 6 років працював розробником програмного забезпечення, але мені не вистачало теоретичної підготовки, щоб зайнятися більш наукоємною сферою data science. Ця програма мені підійшла ідеально, тому що я отримав все, що мені необхідно для старту нової кар’єри. Декілька позицій в навчальному плані викликали питання, але за сильного бажання можна було домовитися пройти еквівалентний курс онлайн або в бізнес-школі.

Всі викладачі ставляться до студентів дуже уважно, з повагою, бо група зібралася сильна, мотивована, нікого не треба було «тягнути» чи заставляти працювати. Викладачі — або спеціалісти та експерти з професійним досвідом, або досвічені науковці, тому кожен шукав можливість дати нам максимальну кількість знань і навичок за обмежений час.

Оскільки університет інтегрований з науковою та професійною спільнотою Львова та України, то більшість студентів з моєї групи знайшли роботу в компаніях наших викладачів. Багато відомих українських ІТ-компаній надають стипендії для оплати навчання і одразу пропонують роботу своїм стипендіатам. Деякі студенти завдяки контактам з УКУ змогли знайти наукових керівників за кордоном і вже готують наукові публікації. Тому в сенсі соціального ліфта і працевлаштування — все дуже добре.

Серед хороших вражень — і те, як разом із найсильнішими студентами ми зібрали команду УКУпнік і брали участь у різних міжнародних студентських змаганнях з аналізу даних. Всюди мали призові місця. Рік тому їздили в Торонто у фінал, цієї осені — до Парижа. Це було круто, я раніше не мав успіху в змаганнях чи олімпіадах, а тут знайшов своє місце :)

Загалом усі курси передбачають багато самостійної роботи, і це дозволяє самому вигадувати собі цікаві завдання. Програма розкриває здібності до самостійного навчання, такий собі boot camp для охочих навчитися вчитися. Саме в УКУ я вперше відчув університет як спільноту розумних, вмотивованих, здібних людей, котрі приходять на заняття не заради диплома, а заради знань, як це має бути в справжній академії. Мені не завжди вистачало дисципліни і сміливості самому собі ставити справжні важкі цілі, я більше плив за течією, виконував роботу і отримував зарплату. В УКУ я навчився систематично працювати над собою, рухатися від однієї глобальної задачі до наступної. І це дарує фантастичні можливості для розвитку.

Я б лише хотів мати більше свободи в навчальному плані, мати можливість скласти список предметів самостійно, без жорсткої структури. Бо загалом програма хороша, але я б склав пріоритети по-іншому, якби мав можливість.

(Анатолій)

Команда магістрів в Торонто — переможці Queen’s International Innovation Challenge data science competition 2017

Программа хорошая, сейчас в Украине точно ничего подобного и близко нет. Много практических заданий из реальной жизни, хотя пока что некоторые предметы были на недостаточно высоком уровне. Из полезных предметов — «Intro to deep learning», «Distributed and parallel algorithms», «Parallel functional programming». Остальные предметы были полезными отчасти, или я в них уже разбирался на достаточно высоком уровне и мне от них не было особой пользы.

Почти все преподаватели работают в индустрии, из-за этого появляется как много плюсов (компетентность, интересные прикладные задачи), так и наоборот: недостаточно времени на подготовку, мало опыта в преподавании. Но в целом все достаточно общительны и готовы подсказать.

По сравнению с классическими вузами — очень мало непрофильных предметов, и то некоторые из них были очень крутыми, как «Медиакоммуникации» или «Law in IT». Отчасти обрывистое обучение из-за формата три дня в две недели. Но такие условия созданы, чтобы люди могли и учиться, и работать. Поэтому в данной ситуации — это хороший вариант.

Отношение к студентам — как к клиентам. Мы платим достаточно большие деньги за образование ($6300), поэтому к нам прислушиваются, постоянно напоминают про какие-то дедлайны, снимают на видео и т. д. Также важную роль занимают ценности университета, и ты не можешь позволить вести себя недобросовестно, как этим занимались на бакалаврате в Киеве.

У нас возраст группы от 22 до 35 лет. Это не классический вуз, сюда идут не столько за работой, сколько за повышением своих скиллов и определенного общения. У нас почти все к третьему семестру нашли работу дата саинтистом, либо плотно связанную с этим направлением.

Магистерка помогает больше раскрыть какие-то непрофильные свои стороны, добавить общения и посмотреть на это с другой стороны. Программа нравится из-за ее уникальности и из-за отношения университета к тебе, как клиенту. Она объединяет как правильные ценности, так и заботу о тебе.

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

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

(Виталий)

AI&BigData Conference 2017

Викладачі дуже натхненні. Часом приїздять із-за кордону, часом є онлайн-лекції. Круто те, що іспитів нема, набираємо бали впродовж семестру. На деяких предметах бали можна заробити лише проектами, зокрема командними. З одного з предметів, до прикладу, завдання, яке потім визначатиме оцінку з курсу, полягає в тому, що треба командою взяти участь у міжнародних змаганнях, підготувати відповідний проект. Програма є дуже релевантною до того, що планую робити після випуску.

(Тетяна)

Резюме

Напрям підготовкиПрограма
Програмісти, фахівці з машинного навчання, техрайтери, проектні менеджери, системні адміністратори, UX-спеціалісти, тестувальники.Бакалаврська програма з комп’ютерних наук (CS@UCU)
Бізнес-аналітики, аналітики даних, програмісти.Бакалаврська програма з IT та бізнес-аналітики
Інженери програмного забезпечення, фахівці з аналітики даних, бізнес-аналітики, фахівці з машинного навчання.Магістерська програма комп’ютерних наук (Data Science)

Обзор ІТ-рынка труда: Чернигов

$
0
0

[В серии «Обзор IT-рынка труда»мы рассказываем об IT-индустрии в разных городах Украины]

В ІТ-индустрии Чернигова занято 1000-1500 специалистов.В городе работает более 30 ІТ-компаний, около трети из них — продуктовые.

В октябре 2017 года 8 компаний города основали Черниговский IT-кластер. Цель объединения: способствовать благоприятной обстановке для развития IT-индустрии города, а также повышать уровень образования в Черниговских и областных учебных заведениях.

Средние зарплаты программистов в Чернигове:

  • Junior — $440;
  • Middle — $1400;
  • Senior — $2500.

Тутможно посмотреть более детальную статистику зарплат по языкам программирования и другим ІТ-специальностям.

Компании

Большинство крупных черниговских ІТ-компанийзанимаются аутсорсингом, но продуктовые фирмы также широко представлены на рынке города. Среди крупнейших работодателей города:

PortaOne

Канадская продуктовая компания
100+ специалистов в Чернигове, 200+ в Украине

Компания специализируется на разработке программных продуктов в области телекоммуникаций, в частности VoIP, для мобильных операторов и провайдеров IP-телефонии. Решениями PortaOne пользуются почти 400 операторов связи, ISP и других компаний в 70 странах мира.

Более 2/3 сотрудников компании — это инженеры поддержки.

Возможности для начинающих специалистов:компания проводит бесплатные курсы в своей VoIP-лабораториипри ЧНТУ по направлениям: Linux & Networking Administration, Portaswitch Application Engineering и Perl. Продолжительность всех курсов вместе — полгода. Те, кто показали лучшие результаты, имеют возможность пройти собеседование для трудоустройства в компании.

Soft Industry Alliance

Украинская аутсорсинговая компания
80+ специалистов в Чернигове, 100 в Украине

Компания занимается веб-разработкой, созданием мобильных приложений, разработками в сфере VR/AR, тестированием ПО, технической поддержкой 24/7, интернет-маркетингом для клиентов из США, Европы и Австралии.

Основные технологии: C++, Java, .Net, PHP, HTML/CSS, JS, iOS, Android, 3D.

Возможности для начинающих специалистов:компания периодически организовывает SI Dev Cup — турнир по программированию среди студентов на базе ЧНТУ. По результатам турнира отбирают кандидатов и предлагают стажировку в компании. Лучшие стажеры получают трудоустройство.

SendPulse

Украинская продуктовая компания
70+ специалистов в Чернигове

Компания разрабатывает и поддерживает сервис SendPulse — платформу для email-рассылок, SMS, push-уведомлений и транзакционных писем с фокусом на автоматическое увеличение открываемости рассылок. ИИ-система анализирует данные о миллиардах подписчиков и предсказывает оптимальные время и канал отправки следующих сообщений.

Основные технологии: PHP, JavaScript, Angular, MySQL, MongoDB, Redis, RabbitMQ, Laravel, Zend Framework, Doctrine2.

Возможности для начинающих специалистов:берут на работу студентов как технических, так и нетехнических специальностей.

Astound Commerce

Американская аутсорсинговая компания
49 специалистов в Чернигове, 497 в Украине

Компания реализовывает решения электронной коммерции для таких ведущих мировых брендов, как Adidas, L’Oréal, Under Armour, Jimmy Choo, Lacoste, Versace.

Решения разрабатываются на платформах Salesforce Commerce Cloud, SAP Hybris, Magento, IBM WebSphere Commerce, NetSuite, Kibo, Mobify.

Возможности для начинающих специалистов: Astound постоянно организовывает программы по различным направлениям с возможностью последующего трудоустройства. Больше информации — на сайте IQ.Lab.

Speroteck

Украинская аутсорсинговая компания
40+ специалистов в Чернигове, 90+ в Украине

Компания ориентирована на веб-разработку, создает сайты для интернет-магазинов. Работает с платформой Magento. Помимо разработки, обеспечивает поддержку 24/7.

Имеет награды Magento Bronze Partner, Magento Certified Developers Plus, Certified Magento Associate Level, Google Partner и PayPal Partner.

Acropolium

Чешская аутсорсинговая компания
40+ специалистов в Чернигове

Компания специализируется на веб-разработке, консалтинге и аудите. Разрабатывает B2B и B2C решения для стартапов, интранет-проектов, проектов в сфере медицины и здравоохранения, а также медиа.

Основные технологии: PHP, JavaScript, .Net, Node.JS, Angular.JS, React.JS/Native, Backbone.JS, Express.JS, Laravel и Zen, Intranet Solutions.

Andersen

Белорусская аутсорсинговая компания
30+ специалистов в Чернигове, 100+ в Украине

Компания создает специализированные группы для крупных ИТ-проектов для клиентов из США, Европы и России. Экспертные сферы: здравоохранение, мультимедиа, e-Commerce, корпоративные системы, финтех. Среди клиентов компании — Amazon, Samsung, Marvel, Mercedes-Benz.

Основные технологии: Java, .Net, PHP, JavaScript, iOS, Android.

JBS

Украинская продуктовая компания
30 специалистов в Чернигове, 50 в Украине

JBS LLC разрабатывает и внедряет программные бизнес-решения. Основные индустрии, в которых работают команды: телеком, транспорт, логистика, платежные системы и интернет-коммерция.

В числе партнеров JBS — компания Hewlett Packard.


Также в Чернигове есть офисы таких аутсорсинговых компаний:

  • Infopulse — черниговские команды работают на норвежском проекте по разработке веб-платформы сервисов страхования и на шведском проекте по разработке системы сбора данных. Основные технологии: Java и .NET.
  • MstarProject — разрабатывают сайты и ПО в области онлайн-бизнеса автозапчастей, автокаталогов и автоматизации автобизнеса.
  • NGSoft — создают сайты для e-Commerce, мобильные и веб-приложения. Экспертные сферы: финансы, медиа, развлечения, розничная торговля.
  • Prosper Digital Agency — разрабатывают проекты разного уровня сложности. В приоритете — веб-сервисы и интернет-магазины, а также мобильные и социальные игры и приложения.
  • PulsarFour — проектируют, разрабатывают и поддерживают корпоративные решения электронной коммерции для торговых марок США и Европы, используя технологии и платформы Magento, Salesforce Commerce Cloud.
  • Softengi — проводят анализ, разработку, тестирование, внедрение ПО для заказчиков из Украины, Швейцарии, Германии, США, Гаити и Австралии. Основные технологии: .Net, Java, PHP, 3D-графика, iOS и Android.
  • Transparen — создают сайты, а также оказывают услуги поддержки и колл-центра для клиентов из США, Мексики и Европы.
  • Valtech — в Чернигове специализируются на платформе Salesforce. Один-два раза в год проводят 2-недельнуюшколу SalesForce Commerce Cloud School. После завершения школы большинство студентов становятся сотрудниками компании.

Стартап- и продуктовый сегмент представлен компаниями:

  • AtomPark Software — разрабатывают сервисы для для e-Commerce и маркетинга. Наиболее известный продукт — ePochta, который включает в себя линейку ПО для email-маркетинга, сервис смс-рассылок ePochta SMS, сервис аренды STMP серверов, а также сервис email-рассылки.
  • Litéra — разрабатывают продукты, которые оптимизируют рабочий процесс и помогают компаниям создавать, контролировать и взаимодействовать с документами.
  • Max Project — разрабатывают медицинскую информационную систему для внедрения в Украине медреформы и введения e-Health, а также систему полноценного онлайн-обучения для языковых школ. Кроме этого, создают сайты для госорганов, местного самоуправления и бизнеса. Берут на стажировки студентов ЧГТУ.
  • RealView-UA — разрабатывают программное обеспечение дизайна кухонь и ванных.
  • Rolling Games — занимаются разработкой собственных игр (NatGeo Color WILDи другие). Помимо этого, делают и аутсорс-проекты для заказчиков.
  • Snovio — разрабатывают сервис сорсинга и лидогенерации за счёт крауд-коллектинга данных. Расширение для Chrome позволяет найти ценные контакты для бизнеса: лид включает в себя полное имя, имейл, должность и локацию.
  • WebProduction — разрабатывает CRM-систему OneBox (ERP, BOX), движок для интернет-магазинов OneBox e-Commerce, собственный сервис-провайдер Amazino. На основе этих продуктов создают интернет-магазины и разрабатывают CRM-системы для клиентов.
  • Wyde Voice — разрабатывают инновационные аудио- и видеоконференц-системы (WebRTC, VoIP, PSTN). Основной продукт: FreeConferenceCall.

За вакансиями в городе можно следить здесь.

Сообщества и события

Chernihiv.IT Cluster — объединение, организаторами которого выступили компании Acropolium, Astound, JBS, Litera, RollingGames, SendPulse, Speroteck, Valtech и Wyde Voice. Число участников динамично меняется: в кластере готовы принять каждого, разделяющего цели и ценности сообщества.

iHUB Chernihiv — коворкинг, на базе которого проходят различные IT-мероприятия: лекции, встречи с экспертами, хакатоны.

HR community Chernihiv — клуб HR-специалистов города. Организаторы Chernihiv HRConf и Chernihiv Business Conf, конференций про людей и управление.

Chernihiv Business Conf 2017

Web Tech Fun — конференция для тех, кто интересуется веб-технологиями: Front-end, JavaScript, Rest testing, оптимизация сервер-сайда. Организатор — компания Valtech.

За IT-событиями в городе можно следить здесь.

Образование

IT-специалистов в Чернигове готовят в трех вузах:

Корпусы ЧНТУ

Крупнейшие ІТ-школы:

  • Beetroot Academy (Back-end, Front-end, веб-дизайн, WordPress + WooCommerce);
  • КА «Шаг» (разработка ПО, компьютерная графика и дизайн, сетевые технологии и системное администрирование).

Перспективы Чернигова как IT-региона

Юлия Пивень, Head of HR в JBS, директор Chernihiv IT Cluster:

Каждый город Украины уникален по-своему: наш родной древний Чернигов напоминает алмаз, готовый к огранке.

Мы выделяем три составляющие конкурентного портрета Чернигова как города, где строится IT:
— Богатство выбора технологий.На рынке представлены фактически все технологии программирования.
— Продуктовое направление.Если в крупных городах говорят о необходимости перехода к продукту, то в Чернигове мы работаем с маркетинговой составляющей и глубоким пониманием, для кого мы создаем продукт.
— Качество жизни. Жизнь в экологически чистом городе, с множеством парков, рекой, артезианской водой из кранов — это мечта тех, у кого главная цель — жить долго и счастливо.

И еще одна составляющая — инновации. Это феномен черниговских спикеров на IT-конференциях. Уже третий год наши спикеры говорят о своих продуктах, о методологиях и подходах как в Украине, так и за рубежом.

Дмитрий Горин, Product Manager в SendPulse:

На IT-рынке Чернигова представлено много небольших компаний, все чаще это стартапы или продуктовые разработки. Совсем недавно в городе был основан Черниговский IT-кластер. Цели объединения — способствовать благоприятной обстановке для развития IT-индустрии и повышать уровень образования в черниговских и областных учебных заведениях.

Из преимуществ нашего региона можно выделить близость к Киеву. Работодатели имеют возможность платить меньшую зарплату по сравнению с большими городами, а также сделать офис под себя, задействовав меньше ресурсов чем, к примеру, в столице. Живя в регионе, IT-специалисты могут иметь хороший уровень дохода.

Из недостатков: на локальном рынке присутствует небольшое количество специалистов, мало больших игроков заходит в регион. К тому же, ввиду близости столицы квалифицированные кадры не задерживаются в регионах.

Мы видим такие перспективы:

  • увеличение активности развития локального IT- рынка;
  • появление новых компаний;
  • больше офисов в небольших городах вместо одного крупного в Киеве/Львове/Днепре.

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

Тарас Набок, Partner Development Manager JBS:

Чернигов — самый экологически чистый город Украины по исследованиям журнала «Фокус» в 2008 году. Он удобен для жизни: небольшой, есть реки и парки для активного отдыха, офисные центры и коворкинги для работы, а также ряд торгово-развлекательных предприятий.

Цены на жилье, услуги и средний уровень зарплат по рынку труда делает регион привлекательным для развития IT-бизнеса по сравнению с Киевом и городами-миллионниками Украины. При этом Чернигов расположен всего в 135 км от столицы и в двух часах езды на авто от аэропорта Борисполь.

Тем не менее значительная часть молодежи из Чернигова уезжает. Мэр Чернигова и его команда стараются изменить это. За последний год городская власть значительно улучшила внешний вид Чернигова: отремонтированы дороги, переходы, остановки общественного транспорта и парки.

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

Максим Цирулин, Founder & CEO в Max Project:

Чернигов — один из самых древних и живописных городов Украины. Более 1300-летняяистория, просторные зеленые улицы, большое количество рек, озер, парков, мест отдыха, исторических достопримечательностей, компактное расположение, близость к Киеву (менее 1,5 часа на транспорте) делает его одним из лучших городов для жизни и работы.

В последние годы город бурно развивается: преображаются улицы, строятся парки, фонтаны, появились целые улицы с кафе и ресторанами, развлекательные и торговые центры, кинотеатры, развивается велосипедная инфраструктура и яхт-клубы. В то же время тут доступные цены на жилье и питание, в несколько раз ниже столичных.

В последние время в городе начали проводить всеукраинские и международные IT-конференции, семинары, обучения. Появились коворкинг-центры. Есть ЧНТУ, а также ряд других учебных государственных и частных заведений, которые готовят кадры для IT-сферы.

Работают крупные продуктовые и аутсорсинговые международные и украинские IT-компании, их число постоянно растет. В связи с этим ощущается недостаток высококвалифицированных кадров уровня Senior Developer, при достаточном количестве Junior.

По моим подсчетам, в IT-сфере Чернигова задействовано 2500-3000 человек,включая фрилансеров.

Александр Котляр, HR-менеджер Soft Industry Alliance:

Чернигов — привлекательный регион для работодателей IT-индустрии: уже более 20 лет ЧНТУ обучает и выпускает студентов-программистов. За последние годы вуз расширил количество и перечень релевантных специальностей.

Несмотря на постоянное пополнение рынка труда выпускниками, их востребованность остается существенной и общий уровень спроса на кадры аналогичен общей ситуации в Украине. С другой стороны, географическое расположение города способствует оттоку кадров в столицу. От Киева Чернигов отличается спокойным укладом жизни, экологичностью и отсутствием пробок на дорогах.

Благодаря большему кругу работодателей — продуктовых и аутсорсинговых компаний — можно строить карьеру в пределах города. Привлекательность региона подтверждает рост числа офисов IT-компаний в нашем городе.

IT-благодійність 2017: огляд ініціатив, до яких можна долучитися

$
0
0

Напередодні свят ми зібрали благодійні акції від фондів та компаній, до яких можуть приєднатися усі охочі.

IT-Mykolay (Київ)

IT Mиколай Київ разом із Благодійним фондом імені Св. Луки (Войно-Ясенецкого)продовжують збір коштів для придбання електротрепану — інструмента для нейрохіроругічних операцій в «Охматдиті». Модель NSK Primado 2, виробник — Японія. Вартість — 12 000 євро.

До акції вже приєдналися: Grammarly, Lohika Kyiv, CocoaHeads, Dev Challenge, Infopulse, IT-HR Club, Sensorama Lab, Mandarinki Express, Arvi Lab, RubyGarage, Intetics.

Зібрано коштів станом на 3 грудня — 210 362 гривень — трохи більше половини суми.

Як допомогти:

  • переказати гроші на рахунки Благодійного фонду Cв. Луки;
  • кнопочка Donate;
  • провести благочинну акцію в себе в офісі;
  • підтримати сторінку у Фейсбуці;
  • розказати друзям та знайомим.

Контакти: Катерина Шевцова, Анна Коваль, itmykolai.kyiv@gmail.com.

IT-Mykolay (Львів)

Цьогорічна акція присвячена збору коштів для купівлі відеогастроскопа РENTAX вартістю 1 109 375,00 гривень (35 500 євро). Це обладнання, необхідне для Західноукраїнського спеціалізованого дитячого медичного центру. Пристрій допомагає виявляти внутрішні кровотечі, які можуть виникати у дітей внаслідок інтенсивної хіміотерапії та променевої терапії.

Акцію підтримали: ABTO, Ciklum Lviv, Conscencia, Cypress, DataArt, Eleks, EPAM, Ericsson, Vector Software, Gameloft, GlobalLogic, Infopulse, Innocode, Intellias, Keel Solution, KindGeek, Levi9, Limelight Networks, Lohika, Lviv IT!, CoreValue, N-iX, Nravo, Perfectial, QUBstudio, Silego Technology, Skelia, Solid Brain, Symphony Solutions, TEAM International, Vakoms, Very Good Group, VITech, Vidscale.

Як допомогти:

  • перевести благодійну пожертву на рахунок БФ «Крила надії»;
  • поставити благодійну скриньку в офісі компанії, організувати промоакцію;
  • взяти участь у флешмобах #ITMykolaypocketchallenge — «Твоя зарплата за 1 день — на обладнання для дитячої лікарні» та #благодійна_банка — конкурс на найкреативнішу благодійну скриньку;
  • розказати друзям та знайомим.

Контакти:itmykolai@gmail.com.

Благодійний забіг «Infopulse 4k» у рамках «Йоля», новорічного півмарафону (Вишгород)

Компанія Infopulse виступає партнером новорічного півмарафону «Йоль»та ініціює в рамках заходу спеціальний благодійний забіг — «Infopulse 4k». Зібрані кошти будуть передані у фонд «Життєлюб», який допомагає людям похилого віку.

Забіг відбудеться 24 грудня, початок о 12:00. Дистанція — 4.2 км.

Як допомогти: усі охочі можуть взяти участь у забігу. Вартість — 400 грн.

Контакти: реєстрація за посиланнямбуде відкрита до 15 грудня, деталі — на сайті.

Благодійний фонд «Кожен Може»

Фонд допомагає дітям, які постраждали від воєнних дій в Україні.

«Ліки Дітям»: допомога маленьким підопічним фонду, що мають тяжкі захворювання та постраждали від війни. До проекту підключилася Sigma Software Group. З 4 по 8 грудня компанія проводить благодійний Тиждень відкритих технологій, в якому беруть участь більше ніж 300 ІТ-спеціалістів. Всі зібрані кошти будуть пожертвувані на лікування важкохворих діток, підопічних фонду.

«Діти. Радість. Розвиток»: освітні проекти та заходи для соціально-психологічної підтримки дітей, постраждалих в конфлікті на сході України (діти з числа ВПО, з родин поранених та загиблих в АТО). Проекти розвитку підтримують співробітники DataArt: допомога pro-bono, організація фандрайзингових заходів, благодійні пожертви.

Як допомогти:

  • переказати гроші на рахункиблагодійного фонду «Кожен Може»;
  • кнопка Donate;
  • провести благочинну акцію в себе в офісі на підтримку дітей;
  • підтримати сторінку фонду на Фейсбук;
  • розказати друзям та знайомим.

Контакти фонду:everybodycan.ua@gmail.com.

Акція «Дарунки на здоров’я» від фонду «Таблеточки»

«Таблеточки» — благодійний фонд, яких захищає інтереси дітей з онкозахворюваннями в Україні. Підтримують такі компанії: Persha Studia, Magento, Kantar Retail Virtual Reality, Genesis, Caspio.

«Дарунки на здоров’я» — це акція із закупівлі ліків для підопічних фонду — онкохворих дітей. Саме ліків не вистачає дітям після свят у січні та лютому, коли увага до благодійності традиційно стихає. Зробити пожертвуванняможуть усі охочі.

Компанія Caspio допомагає зібрати до 19 грудня кошти для 4-річногохлопчика з Івано-Франківської області — Дениса Семчука. Діагноз — анемія Даймонда-Блекфана. Денису потрібна операція з пересадки кісткового мозку.

Як допомогти:

  • разова/постійна допомога;
  • донорство;
  • волонтерство;
  • корпоративне співробітництво.

Контакти:cайт фонду, сторінка на Фейсбук.

Акція «Миколай про тебе не забуде»

«Миколай про тебе не забуде» — благочинна акція від Академії української молоді. Мета — зібрати та роздати подарунки (солодощі, іграшки, книжки, фарби, олівці, зошити, засоби гігієни) для тих дітей, які могли би залишитися без батьківської уваги. Акція започаткована у Львові в 2001 році та проводиться щорічно по всій території України напередодні дня Св. Миколая.

IT Компанії-партнери: Consensia, Eleks, ElifTech, GSApps, Innocode, Intellias, Perfectial, Relevant Software, RocketRoute, Romexsoft, SoftServe, Symphony Solution, Virtido.

Як допомогти:

  • принести іграшки, солодощі, канцелярське приладдя, дитячі книжки, засоби гігієни на Фабрику Святого Миколая (в приміщенні Львівського палацу мистецтв за адресою вул. Коперника, 17) з 10.00 до 19.00 — з 11 до 14 грудня;
  • розмістити коробку для збору подарунків у своєму офісі;
  • стати водієм-помічником Св. Миколая та допомогти з перевезенням волонтерів та подарунків увечері 18 грудня 2017 р. від Фабрики Св. Миколая до домівок дітей;
  • в рамках акції «Книги для Святого Миколая» залишити книги-подарунки з власної бібліотеки у доброму стані або ж ті, які ви придбали у книгарні для дітей (0-12 р.)спеціально, за такими адресами у м. Львів до 14 грудня:
    • Книгарня «Є» — пр. Свободи 7;
    • Видавництво «Свічадо», вул. Винниченка 22;
    • Книгарня Старого Лева, пл. Ринок 12;
    • вул. Стрийська, 106 в приміщенні складу-магазину;
    • вул. Героїв УПА, 16 в Магазин «Книги-канцтовари» Львів;
    • Бібліотека Львівського Інституту Менеджменту, вул. Ліська 16;
    • Fest Lokal, вул. Старознесенська 24.
  • приєднатись до акції у вашому місті.

Контакти: сайт акції, email: info@mykolaj.com.ua, група в Facebook, сторінка в Instagram.

Ініціатива Edvantis (Львів)

За участі Жовківської соціальної служби компанія Edvantisорганізовує збір допомоги для дітей-сиріт, діток з малозабезпечених та неповних сімей. Збирають іграшки, цукерки, дитячі книжки, одяг, взуття тощо (розраховані на дітей різного віку — від немовлят до підлітків).

Як допомогти: до 12 грудня включно передати кошти або подарунки для дітей.

Контакти: media@edvantis.com.

Благодійний проект «Прості мрії»

Мета проекту від фонду «Наш Мир» — допомогти одужати хворим дітям із малозабезпечених сімей. Зібрані кошти підуть на лікування хвороб дітей, закупівлю слухових апаратів, медикаментів, складні ендоваскулярні операції на серці. Також фонд підтримує два дитячі будинки в Київській області.

Освітній проект IT Education Academy влаштовує соціальні корпоративи з дітьми. ITEAHub організовує акцію до дня Святого Миколая, збираючи кошти для дитячих будинків Львова.

Як допомогти:

  • разова/постійна допомога;
  • донорство;
  • волонтерство;
  • корпоративне співробітництво.

Контакти: сайт фонду.

Благодійний фонд «Помагаєм» (Дніпро)

Різдвяні зустрічі

Компанія LANARSцього року фінансово підтримує 9-йфестиваль прийомних сімей та дитячих будинків сімейного типу «Різдвяні зустрічі», який відбудеться у Дніпрі 13 січня 2018 року. Фестиваль щороку збирає сім’ї, що виховують дітей-сиріт та дітей, позбавлених батьківського піклування, з усієї Дніпропетровської області.

Як допомогти:фінансово та організаційно підтримати проведення фестивалю. Можна перерахувати кошти на сайтіабо звернутись у фонд «Помагаєм»за детальною інформацією.

Макулатура

Благодійно-екологічна ініціатива «Збережи дерево — врятуй дитину», в рамках якої жителі міста і компанії збирають макулатуру, щоб виручені кошти направити на благодійність. Уже долучилися Archer Software, студія веб-дизайну «Білий парус», Sitecore, IT Dnipro Community.

Як допомогти:почати збирати макулатуру вдома, в школі, в офісі, потім подзвонити в фонд «Помагаєм»і домовити про вивіз. Якщо компанія знаходиться не в Дніпрі — можна самостійно організувати збір макулатури, знайти переробника і отримані кошти перерахуватина благодійність.

Доктор Клоун

Волонтерський проект «Доктор Клоун»працює в Дніпрі з 2012 року. Волонтери в образі клоуна відвідують дитячі лікарні, щоб подарувати радість хворим дітям і допомогти їм одужати. Зараз в проекті 20 волонтерів, які 1 −2 рази на тиждень відвідують лікарні і проводять там з дітьми близько 3 годин. Компанія Archer Software надає фінансову підтримку проекту.

Як допомогти:записатись у Школу клоунів, підтримати проект фінансово. Всі зібрані кошти йдуть на закупівлю повітряних кульок, клоунських костюмів та реквізиту.

Адресна допомога хворим дітям

Тисячі дітей в Україні потребують вартісного лікування, не отримуючи його безкоштовно від держави, але їх родини не можуть оплатити лікування самотужки.

Як допомогти:зайти на сайт фонду «Помагаєм», обрати історію дитини, якій потрібна допомога, і зробити онлайн-платіж. Долучилися компанії LANARS та Archer Software.

Студія «Робіавтоматік» та інноваційна технічна майстерня в м. Павлоград

В студії технічної творчості «Робіавтоматік», яка працює на базі Національного гірничого університету, займаються діти віком 12-17 років.Під керівництвом викладачів та студентів університету діти вчаться основам робототехніки.

На базі молодіжної організації «Позитивний Павлоград» в м. Павлоград Дніпропетровської області планується відкрити інноваційну технічну майстерню для дітей та молоді. Фонд «Помагаєм» збирає кошти на придбання 3D принтера для майстерні. Долучилася компанія DAXX.

Як допомогти:фінансово підтримати проектна сайті фонду «Помагаєм», провести заняття або мотиваційну лекцію у Дніпрі чи Павлограді. Для цього необхідно зв’язатися з координатором проекту.

Проект «Добрий новий рік» (Харків)

Благодійний фонд «Будущность и надежда»уже вп’яте реалізує новорічний проект «Добрий новий рік». Кожен охочий може виконати новорічне бажання конкретної дитини з дитбудинку, інтернату, лікарні, школи.

Як допомогти:вибрати подарунок зі списку на сторінці фонду у Фейсбук, записати своє ім’я і контакти напроти обраної позиції. Привезти подарунок в офіс фонду за адресою вул. Плеханівська, 126, оф. 237 (пн-пт, 9-17)або представник фонду забере подарунок (заздалегідь узгодити місце та час зустрічі). Також можна віддати подарунок дитині особисто.

Контакти: стрінка на Фейсбук, представник фонду — Татяна Гринєва, 067 405 85 52.

Дар Різдва (Черкаси)

Вже третій рік поспіль церква «Дім Євангелія» в місті Черкаси проводить благодійний проект «Дар Різдва». Учасники збирають подарунки для дітей з малозабезпечених і неповних сімей, сиріт, дітей воїнів АТО та дітей з багатодітних родин. На Різдво, 6 та 7 січня, разом із командою волонтерів відвідують ці сім’ї, співають різдвяних пісень та вручають зібрані подарунки.

Підтримує компанія Brighter.

Як допомогти:

Кожен учасник акції має змогу власноруч зібрати один або декілька подарунків для дітей. Організатори надають спеціальні подарункові коробочки та списки речей, з яких повинен складатися подарунок.

  • Якщо ви у Черкасах — отримайте спеціальну коробочку та зберіть подарунок за списком. Отримати коробочку та залишити заповнену можна у будь який день з 8:00 до 20:00 за адресою м. Черкаси, вул. Іллєнка 60 (церква «Дім Євангелія»).
  • Якщо у вас немає змоги власноруч зібрати подарунок, але ви все одно хочете долучитися — зв’яжіться з організаторами. Вони закуповують додаткову партію подарунків на пожертви від добродіїв та компаній.

Контакти: 067 900 80 85 (Віталій), andriets.vitalii@gmail.com.

Благодійна ІТ-школа «Розумне майбутнє»

Мета благодійної школи «Розумне майбутнє» — дати можливість отримати гідний особистісний розвиток та якісну ІТ-освіту дітям й підліткам соціально незахищених верств населення (діти-сироти, діти з обмеженими можливостями, діти багатодітних родин, діти військових, що загинули або отримали поранення несумісні з роботою).

Діти від 8 до 13 років вчаться протягом навчального року. В програму входять хмарні технології та Інтернет, основи адміністрування заліза і софта, основи програмування і web-розробки, розробка комп’ютерних ігор, робототехніка. Окрім технічного, в програмі навчання також є особистісний та когнітивний напрямки: розвиток уваги, пам’яті та нестандартного мислення, соціальних та комунікативних навичок, навчання навичкам публічного виступу, емоційний інтелект.

Діти від 14 до 17 років отримують ІТ-спеціалізацію. Спочатку вони проходять курс з основ програмування, потім обирають напрямок, в якому хочуть поглиблювати свої знання. На вибір надається декілька мов програмування (Java, PHP, Python), Front-end або тестування ПЗ.

На сьогодні навчання пройшли вже 180 дітей, зараз вчаться ще 50 дітей, але заявок більш ніж 400. Благодійна школа буде вдячна за будь-яку допомогу.

Як допомогти:

  • фінансова підтримка (оплата роботи викладача та частково оренди);
  • ресурсна підтримка (комп’ютери/ноутбуки та приміщення для навчання);
  • екскурсії для дітей;
  • менторська підтримка фахівців;
  • стажування для старших учнів (від 1 тижня і вище);
  • спікери для проведення одноразових майстер-класів, мотиваційних тренінгів;
  • можливість зробити розсилку по компанії (збір коштів серед співробітників і визначення охочих приєднатися в якості ментора або спікера).

Контакти:(050) 356-16-66,smartfuture.itcourses@gmail.com.

Акція «Святий Миколай — дітям з інтернатів» (Львів, Івано-Франківськ)

Мальтійська служба допомоги Львова та Івано-Франківська проводить 21-ублагодійну акцію «Святий Миколай — дітям з інтернатів».

До акції приєдналися GlobalLogic, N-IX, Limelight Networks Ukraine, Perfectial, Remit, EPAM.

Як допомогти:

  • спакувати подарунок дитині відповідно до її листа;
  • придбати для вихованців інтернатів та сиротинців речі, які завжди є необхідними: засоби гігієни, канцелярське та спортивне приладдя, білизну, шапки, рукавиці, ігри та книги;
  • якщо у вас бракує часу на закупи, долучитися до справи можна і фінансово, здійснивши пожертву у скарбничку Мальтійської служби або у відділенні будь-якого банку на розрахунковий рахунок (Р/р 260042360005, АБ «Укргазбанк», МФО 320478, Код ЄДРПОУ 19323705).

Контакти: сайт служби у Львові, (032) 275-12-00,malteser@malteser.lviv.ua; сайт служби в Івано-Франківську.

Благодійний React Kyiv December Meetup

React Kyiv December Meetup відбудеться 19 грудня — у день Св. Миколая. Вхід на захід платний: ви можете заплатити, скільки бажаєте, але не менше 100 грн. Усі гроші передадуть у фонд HappyPawдля допомоги безпритульним тваринам.

Деталі:на сайті.

Акція «Подаруй малюкові перший Новий рік!» від Luxoft

У грудні Luxoft проводить благодійну акцію «Подаруй малюкові перший Новий рік!». Компанія збирає 225 000 грн для закупівлі медикаменту Peyona (кофеїну цитрат), щоб у січні передати його в лікарню «Охматдит». Препарат необхідний для підтримки та стимулювання дихання, розвитку легень у дітей, що народилися передчасно. Кожного року препарат допомагає продовжити життя 600 немовлятам. Кожного дня для лікування однієї дитини необхідно в середньому дві ампули ліків (вартість однієї — приблизно 900 грн).

Бокси для збору коштів розміщені в офісах компанії в Києві, Дніпрі, Одесі, на рецепціях та на перших поверхах при входах у будівлі.

Як допомогти:усі охочі можуть зробити свій фінансовий внесок (бокси в офісах компанії). Лікарня грошей не приймає, лише ліки.

Контакти в лікарні:Олена Бакаєва, elenabakaieva@gmail.com, (044) 236-01-92.

Фонд «Я майбутнє України»

Благодійний фонд «Я майбутнє України» опікується сиротами та дітьми, позбавленими батьківського піклування.

Центр доброти для матері та дитини «Мрія Марти» — кризовий центр для одиноких мам з дітьми безхатченками. Матері отримують медичну, соціальну, матеріальну, психологічну, юридичну підтримку.

ЛакіБукс — проект видання та поширення безкоштовної науково-популярної літератури для підлітків.

Проекти фонду підтримує компанія Lucky Labs.

Як допомогти:обрати проект та перерахувати кошти на сайті фонду.

Контакти: сайт фонду.


Екщо вашої акції немає в статті, напишіть на alyona@dou.ua. Ми її додамо.

Science is the new black, або фізика і Computer Vision

$
0
0

Привіт! Мене звати Олександр, я — Head of Science в компанії Abto Software, PhD, маю досвід викладання. За освітою я — фізик-теоретик і це, безперечно, накладає певний відбиток на все, з чим я маю справу.

Упродовж останніх 15 років я працюю в R&D-командах, а це означає, що кожен новий проект — terra incognita, дослідити яку можна лише безперервно експериментуючи. Ви ніколи не знаєте напевно, де шукати рішення і чи існує воно взагалі.

Третій закон Кларка стверджує, що кожна достатньо розвинута технологія не відрізняється від магії. Я би додав, що розвинута технологія насправді мало чим відрізняється від мистецтва. Адже коли ми говоримо про технологію як про мистецтво, то маємо на увазі два аспекти — красиві результати (про що власне й говорив Кларк!) і красиві рішення, коли розв’язок часткової проблеми народжується з цілісного уявлення про Всесвіт та людські знання.

У цій статті я розповім, як теорія еволюції, спеціальна теорія відносності і теорія графів були корисними у Computer Vision проектах.

Отже, чим Чарльз Дарвін, Альберт Айнштайн та Леонард Ойлер можуть допомогти в обробці зображень і відео?

Дарвін, або Як теорія еволюції допомагає зрозуміти багатовимірні дані

Перша історія про те, як ми намагалися зрозуміти багатовимірні дані за допомогою теорії еволюції.

Отож, уявіть собі, що нам потрібно створити програму для вимірювання розмірів людського тіла на основі короткого відеозапису за участі цієї людини. Перше, що спадає на думку в такому випадку, — це йти і вимірювати реальних людей, а далі тренувати модель, використовуючи якийсь з Machine Learning-підходів.

Звучить начебто просто, але проблема полягає в тому, що наша модель може стати «занадто тренованою» до певних нетипових даних, як наприклад, у випадку з Тіріоном Ланністером чи Грегором Кліганом.

Ось таблиця з вимірами тіл групи людей. У першому рядку — мої особисті дані, а поруч з таблицею — силует мого тіла. Далі у таблиці маємо виміри інших людей — їхній зріст, окружність шиї, грудей, талії тощо. Неозброєним оком складно виявити серед цих даних випадки з нетиповими пропорціями тіла.

Далі один зі способів, як це можна зробити:

Те, що ви бачите, називається star-діаграми. Їх часто використовують для швидкої візуальної оцінки даних. Кожен із параметрів, зазначених у таблиці, — це радіальна лінія, спиця в star-діаграмі. Чисельне значення відповідає довжині спиці.

Завдяки такій візуалізації ми вже бачимо, що в наборі даних є нетипові елементи. Деякі зірки значно відрізняються за розмірами і загальною формою. Це дещо полегшує нам розуміння даних, чи не так?

Однак така візуалізція має свої недоліки:

  • По-перше, важко відстежувати особливості, тим паче — різного масштабу. Всі спиці виглядають однаково, тому важко порівняти, наприклад, висоту людини з окружністю шиї. Нормалізація даних звичайно допомагає, але повністю проблеми не вирішує.
  • По-друге, складно описати форми по суті. Особливо коли параметрів (променів зірки) є більше п’яти.

Чи можемо ми використовувати щось більш знайоме нам, більш значуще, ніж просто спиці на star-діаграмі?

На щастя, еволюція забезпечила нас неймовірно потужним візуальним аналізатором, який точно налаштований виділяти і розпізнавати особливості людських облич.

Американський математик Герман Чернов (Herman Chernoff) застосував цей факт для розробки відомої системи візуалізації багатовимірних даних, де дані були зіставлені з рисами обличчя.

Наприклад, так:

Зріст відповідає розміру обличчя, окружність шиї — формі лоба і так далі.

Спробуймо тепер замість зірок намалювати обличчя!

Відповідно до візуалізації облич Чернова, наші дані виглядатимуть ось так:

Які бачимо переваги?

  • По-перше, легко визначити нетипові дані (зверніть, наприклад, увагу на обличчя, що знаходиться по центру).
  • По-друге, легко визначити спільні риси та формування кластерів за розміром або формою обличчя. Легше порівнювати та обговорювати дані.

На цю ідею можна подивитися під іншим кутом. Суб’єктивно, все красиве часто є в якомусь сенсі оптимальним. Але чи є оптимальне красивим, хоча б іноді?

Наприклад, ми хочемо порівняти декілька алгоритмів, які виконують мінімізацію якоїсь цільової функції. Є відомі метрики порівняння, але чи можна результат побачити у прямому сенсі цього слова?

Ідея така: давайте порівнювати ці алгоритми на тестовій задачі наближення людського обличчя за допомогою геометричних примітивів, таких як лінії, прямокутники тощо. Переможцем, як правило, є алгоритм, який малює більш красиве обличчя.

На малюнках нижче показано результат запуску генетичного алгоритму оптимізації з різними початковими параметрами (конкретніше, мінявся параметр EliteCount, що відповідає за частку популяції, яка переходить в наступне покоління). Значення цільової функції в обох випадках однакове! Тим не менш, верхня картинка (EliteCount=50) виглядає гірше за нижню (EliteCount=5). І справді, як свідчать експерименти, другий варіант збігається до кращого значення цільової функції.

Ми точно не розуміємо, чому і як це працює на біологічному рівні, але це працює. Як підказує теорія Дарвіна, в результаті мільйонів років еволюції людський мозок придбав надзвичайну здатність обробляти риси людських облич, оскільки це було необхідним для виживання в суспільстві.

Це підводить нас до висновку, що ми можемо візуалізувати та розуміти багатовимірні дані. Для цього просто треба знайти правильну візуалізацію, бажано таку, що підтримується «програмним» та «апаратним» забезпеченням вашого мозку.

Айнштайн, або Як спеціальна теорія відносності допомагає рахувати об’єкти

Ще один приклад того, як знання з інших галузей допомагають у задачах Computer Vision. Мені як фізику цей приклад особливо подобається, і зараз ви зрозумієте чому.

Ось експеримент з підрахунком об’єктів.

Уявіть, будь ласка, стрічку конвеєра в пекарні: булочки рухаються ременем конвеєра, і ми повинні порахувати їх з певною точністю. Наше рішення, звичайно, буде засноване на Computer Vision. Для початку ставимо камеру і знімаємо на відео булочки, які перетинають певну, заздалегідь визначену лінію. Далі намагаємося відстежувати булочки та підраховувати, скільки разів їхні траєкторії перетинають лінію підрахунку.

І цей метод працює. Здебільшого. В чому тоді недосконалість?

  • Цей метод чутливий до точного відстеження об’єктів (це непроста задача — спробуйте точно ідентифікувати кожну булочку на конвеєрі);
  • Як наслідок, обчислювальна складність рішення є високою.

Окрім того, нам дуже хочеться, щоб рішення було універсальним. Але різні типи об’єктів вимагають різних алгоритмів обробки, що робить проект дорогим.

І тут нам приходять на допомогу ідеї спеціальної теорії відносності Айнштайна: замість покадрового представлення (обробка відео проводиться послідовно кадр за кадром), спробуємо використати представлення просторово-часового куба.

Ось монтаж послідовних кадрів, які повинні бути оброблені:

Традиційний підхід, де кожний кадр аналізується індивідуально, вимагає ідентифікації та відстеження кожного об’єкту, що є дуже обтяжливою задачею і знижує точність підрахунку.

З іншого боку, ми можемо підрахувати ці об’єкти на стороні гіперкуба після того, як розрізали його вздовж лінії підрахунку. Це дозволяє нам переходити від підрахунку в 3D (як це було з традиційним підходом) до підрахунку в 2D, що значно спрощує завдання та підвищує точність. З обчислювальної точки зору, це також означає, що для кожного кадру ми повинні обробляти лише один рядок пікселів замість всього зображення. А це зменшує обчислювальні затрати на 3 порядки!

Як бачите, нам не потрібно відстежувати кожну булочку. Замість послідовності багатьох кадрів, тепер ми маємо лише одне довге зображення з усіма булочками одночасно.

Ті з вас, хто бачив фільм «Прибуття» або читали новелу Теда Чана, що лягла в основу фільму, можуть простежити подібність цього представлення та холістичного способу, через який прибульці-гептаподи сприймали наш світ.

Звичайно, ми все одно повинні порахувати булочки, але тепер це просто.

Наскільки універсальний такий підхід? Що ще можна порахувати, використовуючи його? Насправді — все, що рухаєтьсяі перетинає якусь лінію: людей, автомобілі, велосипеди тощо.

Ось як алгоритм може бути застосовано до підрахунку транспортних засобів, які перетинають перехрестя.

Все, що нам потрібно — це визначити лінію підрахунку (червона лінія на малюнку). Вона навіть не повинна бути паралельною до країв кадру.

Зліва показано результат роботи алгоритму, що нагадує булочки на конвеєрі. І навіть найскладніший фон не є проблемою: його можна оцінити, а потім видалити, просто усереднивши відповідні пікселі за часом (центральний малюнок). Ви також можете побачити, як менші об’єкти, такі як люди чи собаки, можуть бути відфільтровані за розміром (тому ми залишили на самому правому малюнку тільки автомобілі).

Також зауважте, що (майже в дусі спеціальної теорії відносності) довжина об’єктів точно не відповідає їх фізичній довжині. Вона стискається для швидких об’єктів.

Тепер ми можемо легко порахувати машини.

Ще раз — цей підхід досить універсальний. Він забирає дуже мало часу, коштів і може використовуватися для підрахунку всього, що рухається. Вам просто потрібно думати про відео не як про послідовність кадрів, що розгортається у часі, а як про гіперкуб, де 2D-кадри поскладані один над одним.

Технологія і мистецтво тісно переплітаються — саме цей підхід був використаний нью-йоркським художником Джеєм Марком Джонсоном для створення картини танцівниці.

Ойлер, або Як теорія графів допомагає в сегментації зображень

Сегментація — це процес розділення зображення на певним чином схожі частини: вони можуть мати однаковий колір або спільну межу. Сегментація є основною частиною комп’ютерного бачення. Згадайте, як у попередньому прикладі ми сегментуємо перерізи гіперкубів для підрахунку булочок або автомобілів.

Існує велика кількість різних методів сегментації зображення. І проблема з ними полягає в тому, що найшвидші з них неточні, тоді як найбільш точні — дуже повільні. Ми, звичайно, хочемо отримати і точність, і швидкість. І для цього нам знову буде потрібно дивитися на зображення з іншої точки зору: але тепер замість представлення зображення як матриці пікселів, ми розглядатимемо його як граф.

Коротко про те, що таке граф. Граф — це структура, побудована з ряду об’єктів. Зазвичай вони називаються вершинами або вузлами, а зв’язки між вузлами — дугами або ребрами.

Ось для прикладу графічне зображення 4-вимірногогіперкуба, тессеракта.

Повернімося знову до матриці пікселів і будемо розглядати кожен піксель як вузол графа, з’єднаний з сусідами по краях. Для цілей сегментації ми розглядаємо простий поділ на передній план і фон. Кожен піксель може належати або до переднього плану, або до фону — з певною ймовірністю. З іншого боку, ми можемо розглянути геометричну відстань від кожного пікселя до його сусідів.

Ці два спостереження дозволяють нам працювати з малюнком як з графом і переформулювати завдання сегментації в термінах теорії графів.

Виявляється, що ця проблема добре відома і має ефективне рішення — теорема про максимальний потік у графі. Тепер сегментація зображення — це розрізування певним чином відповідного графа так, як це схематично показано на малюнку.

Ще один експеримент, який демонструє силу графової сегментації зображення. Цього разу ми попрацюємо з відео.

Ось кадр із відео, де зображено серфінгістку на хвилях. І нам треба відділити її від заднього фону.

Ви можете побачити, як вода і піна у фоновому режимі повністю видаляютьсяна кожному кадрі.

Зверніть увагу, що тінь серфера стає частиною переднього плану. При необхідності тінь також можна видалити, але це вже тема іншої розмови.

Про що говорять нам всі ці історії? У першу чергу, вони про те, що іноді для розв’язання непідйомної проблеми потрібно зробити крок назад і поглянути на неї з перспектив інших сфер. Ви ніколи не знаєте, чи найкраще рішення не сховане на іншому боці вашої книжкової полиці.

Світ єдиний. Це тільки в школі вивчення ділиться на предмети. Цілісно дивіться навкруги, пробуйте шукати відповіді у сусідніх дисциплінах. І нехай ваші рішення будуть не лише ефективними, але й красивими!

Viewing all 8590 articles
Browse latest View live