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

Сравнение стеков Java EE и Spring: возможности и ограничения

$
0
0

Практически на каждой конференции, где я выступаю по связанным с Java вопросам, находится собеседник (точнее всегда много), для которого Java = Spring, без вариантов. Попытки рассказать людям, что в мире есть множество других технологий, вызывают неподдельное удивление в их глазах.

У меня же на фирме вследствие определенных ограничений (мы работаем на внутренний рынок и поэтому вынуждены держать рейты невозможно низко для аутсорса) мы стараемся оптимизировать расходы клиентов на разработку. И разработка на стеке Java EE оказалась существенно дешевле разработки на стеке Spring при некоторых ограничениях.

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

Начнем с истории вопроса

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

Итак, сначала было слово... А, нет, сначала была Java. И был Java Community Process (JCP), процедура в соответствии с которой и происходят все правки и выходят новые версии самой Java и связанные с ней спецификации. Например — Java EE и ее составные части.

И надо сказать, JCP — еще та неповоротливая и забюрократизированная система. Да еще и построенная на демократических принципах: индивидуально в JCP может войти любой и бесплатно. Фирмами — за денежку. И голосовать по поводу всех важных и не очень решений, связанных с Java. Короче — такая международная Верховная Рада. Только про Java. Ну вы поняли.

Тут я должен сделать еще одно отступление (люблю их!) и напомнить, что Java — первопроходец в массе разных направлений. Поэтому сейчас, конечно, приятно ругать JCP за кучу принятых ошибочных решений. Проблема в том, что на тот момент просто не было опыта таких решений, и кто-то же должен был быть первым. Примером такого плохого решения как раз можно считать спецификации EJB 1.0 и 1.1, о которых в Wikipedia сказано мрачно: «The EJB specification was originally developed in 1997 by IBM and later adopted by Sun Microsystems (EJB 1.0 and 1.1) in 1999». Короче, ребята из JCP вообще не знали, как делать большие Enterprise проекты (и никто на тот момент как следует не знал!). Но вот ребята из IBM (между прочим — один из исполнительного комитета JCP) пришли и сказали: «Мы знаем, как это делать». И в непередаваемом IBM стиле наваяли спецификацию. Два года, потраченные на адаптацию этого решения намекают, что документация была еще та.

В итоге у Java EE появился ключевой его элемент — EJB. Я как сертифицированный специалист по этим первым EJB могу точно сказать: это было чудовищно сложно и криво. Однако у EJB были свои преимущества: автоматическая, прямо из коробки, масштабируемость путем поддержки кластеров серверов приложений, опять же из коробки поддержка авторизации и самое главное — это был стандарт!

Итогом появления первых EJB стали две вещи. Во-первых, страшный хайп в java-мире: «Вот сейчас мы завоюем мир. У нас есть мощные EJB!» Честно-честно, в те годы в мире Java было полно хайпа. Вообще хочу заметить, что если быть в IT больше 10 лет (а лучше 20), то можно увидеть, что хайпы повторяются с определенной цикличностью. Например, современный хайп по Front-end — уже третий. И я точно знаю, чем он закончится (спойлер — возвратом к ультратонкому клиенту). Если интересно, чтобы я рассказал об этом в отдельной статье — напишите здесь в комментариях.

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

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

Но как говорят, свято место пусто не бывает, и программистам все равно нужны были фреймворки для облегчения работы. И они, естественно, пришли. Были их сотни, большинство так и сгинуло, но несколько фреймворков выжило. И парочка из них определила все дальнейшее развитие Java. Я имею в виду Hibernate и Spring DI aka IoC.

История Hibernate не менее драматична, чем история со Spring, но ее я расскажу как-нибудь в другой раз, если вам будет интересно.

А сейчас разговор про Spring. Итак, Spring был маленькой, красивой и приятной в обращении библиотекой. Да, еще не было никаких аннотаций (их добавили позже — уже в Java 5), все конфигурирование заключалось в правке XML файла. Но он был один! Он имел простую и понятную структуру а-ля web.xml! И по сравнению с ужасом конфигурационных файлов Java EE того времени был просто лапочкой. О чем там говорить, все, включая меня, были в диком восторге от Spring. Прошло совсем немного времени, и наличие Spring на проекте стало просто обязательным.

Надо сказать, что JCP не стали ревновать выскочек к успеху и самоотверженно начали впиливать поддержку Spring IoC в стек Java EE. И всё чудесно вертелось. Все, кто хотели (скажем честно — вообще все), использовали Spring IoC в своих проектах, не обращая внимания на то, на чем проект написан.

Но время шло, и жизнь не стояла на месте. Компания Pivotal, разработчик Spring, решила захватить мир, в смысле... Ну да, захватить мир, а что — так нельзя было? И начала клепать новые проекты со словом Spring в названии, чтобы покрыть все возможные и невозможные потребности Java разработчиков. Постепенно то, что раньше называлось Spring, сначала стало одним из проектов, а потом и вовсе слепилось с несколькими другими проектами в то, что сейчас называется Spring Core. А список всех остальных проектов (который раньше висел на сайте в виде красивой инфографики) спрятали от посторонних лиц. И правильно. Если все эти проекты вынести на инфографику, то придется использовать 6-йшрифт, и то картинка будет во всю стену. Постепенно следить за всем этим адом из зависимостей стало уж совсем сложно и появилась необходимость в отдельной библиотеке, которая должна сама все загружать и запускать. Ага, привет, Spring Boot.

Что же случилось с забытой всеми J2EE? Ее переименовали в красивую Java EE, убрав пугающую новичков двойку. Все это время JCP работал над одним — добиться максимального упрощения всего, что только можно. В итоге в современном EJB для описания бина достаточно указать одну аннотацию над классом. Все, у вас уже есть доступ ко всей мощи EJB.

И что? Обрадованные Java разработчики повыкидывали ставший монстром Spring и вернулись к Java EE, который стал таким простеньким? А фиг там. Мыши плакали, кололись, но продолжали жрать кактус.

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

Но вступление, кажется, затянулось. Поехали ближе к теме, рассмотрим оба стека технологий в реальном использовании. Я уже говорил, что за последний год управлял несколькими проектами на Spring стеке и одним на Java EE стеке. Так что есть с чем сравнить.

Стек Java EE

Для начала вот вам картинка с простейшим Java EE приложением.

Как видите, ничего сложного вообще. Запрос обрабатывается JSF страницей, а затем — бином. Управление дальше уходит на бизнес-логику в EJB, которая работает с базой данных через JPA. Пока все просто и понятно. Самое приятное во всей этой картине, что если нагрузка на это приложение увеличится на несколько порядков, то его схема не изменится вообще никак. Приложение надо будет установить просто на кластер из нескольких мощных нод, и все будет работать в кластерном окружении без малейших правок. Если мощности все равно будет не хватать, то достаточно добавить еще нод в кластер — хватит.

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

Но это мы изучали самое простое Java EE приложение. Посмотрим на что-то более мощное.

Вот так выглядит Java EE с точки зрения его документации. Опять же — скажем, не Rocket Science. Однако все необходимо есть, более того — есть из коробки в любом Enterprise Application Server. Причем все это работает из коробки вместе и на распределенном (кластерном) окружении так же.

Пока просто запомним это и двинемся вперед.

Стек Spring

Простое приложение на Spring стеке не сильно-то и отличается от Java EE.

Картинка отличается от предыдущей по большому счету только большей детализацией. Так что среднее приложение на Spring стеке от приложения Java EE не отличается практически никак.

Единственное отличие, которое сразу стоит озвучить, — это то, что приложение на Java EE может работать в общем случае только в рамках Enterprise Application Server’a (напоминаю, что Tomcat им не является), а приложение на Spring стеке может работать на чем угодно (на том же Tomcat) и даже вообще без сервера (так как запустит его внутри себя самостоятельно). Это делает Spring стек идеальным для реализации элементов микросервисной архитектуры, но за счет отказа от поддержки всех возможностей серверов приложений. В общем случае кластерное приложение — это не про Spring, и вопросы масштабирования для Spring приложения должны решаться отдельно. В большинстве случаев — существенно затратнее.

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

Если присмотреться, то все выглядит весьма похоже на предыдущую картинку :) Да так оно на самом деле и есть. У всех выживших на сегодняшний момент стеков (двух) есть практически идентичное представление о том, как надо писать Enterprise приложения.

Каждый стек считает, что объекты предметной области должны быть тупыми Value Object, а сама логика бизнес-слоя должна храниться отдельно от них (в сервисах у Spring и в EJB у Java EE). А это, как вы понимаете, — разделение данных и поведение — ни разу не соответствует ООП. Это самый что ни на есть обычный процедурный код со всеми своими проблемами. Как минимум мы не можем использовать ни единого шаблона проектирования. Как будто и не было всех этих лет развития Computer Science.

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

Попарное сравнение стеков

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

Итак, поехали.

Spring DI (Dependency Injection) vs CDI (Context Dependency Injection)

Даже из названия понятно, что ядра в обоих стеках совершенно идентичны по характеристикам. Так и есть. Фактически в Java EE стеке изначально и использовался спринговый DI. Но после того как его включили прямо в Core, использовать его отдельно стало невозможно. Пришлось делать свой DI с аннотациями и программистками.

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

Spring Beans vs EJB (Enterprise Java Beans)

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

Spring Service Locator vs JNDI

Тут тоже ситуация аналогичная. Служба, помогающая найти в том же JVM сервис, и служба, которая может работать на распределенной системе и находить соответствие между чем угодно. Включая привязку к LDAP компании... Формально, предназначены они для одного и того же, однако согласитесь — разница на лицо.

@Async vs JMS

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

Spring MVC vs Java Server Faces (JSF)

Проблема этого сравнения в том, что SpringMVC в качестве темплейтного движка обычно используется Thymeleaf или в более современном варианте — какой-либо Front-end движок (React, Angular & etc). В то время, как JSF — полноценное GUI решение с поддержкой AJAX из коробки и даже SPA приложений с помощью дополнительных библиотек, включая такие гиперудобные и красивые, как PrimeFaces и IceFaces.

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

Первый проект решили стартовать на стеке Spring. ТЗ было достаточно простое, куча бизнес-логики, но интерфейс достаточно простой и особых проблем вызывать не должен был. И надо сказать, поначалу все шло отлично — MVP мы нарисовали с опережением графика месяца на полтора. Заказчик сказал: «Вау, ребята, вы — молодцы. Делаем теперь основной проект. Мы же можем задействовать MVP?» Мы его заверили, что ни строчки кода не пропадет. Он сказал: «Отлично, давайте начнем с того, что добавим во все формочки AJAX». Все-таки сейчас 2017 год, перегрузка страниц для заполнения формы — как-то не очень.

И тут оказалось, что нативной поддержки AJAX в Spring MVC + Thymeleaf просто нет. Надо каждую операцию писать руками. А у нас практически каждый элемент требует AJAX поведения, причем в разных ситуациях — разного. И писать эту тонну JavaScript мои джаверы вообще не горят желанием. Ну что же. Скрепя сердце были вынуждены выкинуть весь написанный интерфейс и переделать все приложение на Angular (для чего взять еще и Front-end разработчика). И заняло это переписывание где-то больше месяца. Вот и считайте, в какие деньги вышло заказчику наше решение использовать стек Spring.

Второй проект был практически идентичен первому, но в нем заказчик изначально просил учесть серьезные нагрузки в будущем — надо мол будет обрабатывать миллионы обращений. Все обдумав, я решил делать проект на стеке Java EE. Думаю, сложнее морду рисовать, зато в будущем будет легкость масштабирования. И что бы вы думали? Мои разработчики нарисовали примерно аналогичное по объему MVP еще быстрее, но при этом сразу из коробки с поддержкой AJAX. Продолжают работать только джаверы, фронтендер им не нужен. Да, конечно, рано или поздно надо будет сделать красивый дизайн, но дизайнер парт-тайм — это не фронтендер фулл-тайм по деньгам.

Spring Data vs JPA

Это единственный пункт, в котором Spring кроет как бык овцу стек Java EE. Spring Data — прекрасна, великолепна, быстра и удобна. Снимаю шляпу. Очень жаль, что аналога в Java EE стеке нет...

Spring Security vs JAAS

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

Отличия фреймворков вы понимаете и сами. JAAS, естественно, поддерживает распределенность.

Spring Boot vs Enterprise Server

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

Напоминаю, что аналогом Spring Boot для стека Java EE является просто любой Enterprise server. Там уже есть все нужные фреймворки нужных и консистентных версий, уже настроенные для работы друг с другом.

Выводы

  • Не надо пытаться все приложения делать на каком-то одном стеке — они предназначены немного для разных вещей. Но надо четко понимать, для чего каждый из стеков подходит лучше. Проще говоря, Java EE — для легко масштабируемого монолитного приложения, Spring — для совсем маленьких приложений с GUI на Front-end или для микросервисной архитектуры.
  • Не надо забывать и о том, AJAX — это сейчас очень важно. Если вы планируете делать серьезное приложение на SpringMVC + Thymeleaf — готовьтесь серьезно терять во времени разработки. Писать AJAX руками — это больно. Так что либо React/Angular (модно, красиво, молодежно!) либо по старинке JSF + PrimeFaces. Не настолько прекрасно, но тоже весьма ничего. И без Front-ender. Заметим, что именно для приложений бек-офиса (всяких админок и т. п.) PrimeFaces и их аналоги предлагают запредельное количество готовых бизнес-компонентов, типа календарей, колор-пикеров, часовых поясов и всякого такого. Скорость разработки вы существенно повысите
  • Ваши программисты могут и не знать стека Java EE. Как показала моя практика — учатся они ему очень быстро.
  • И последнее. Я думаю, маятник, который когда-то вынес Spring на вершину, может пойти обратно к Java EE и скинуть Spring вниз. Я бы не исключал такой возможности.

Как и зачем дизайнеру любить Enterprise UX

$
0
0

Большая часть моего опыта в дизайне связана с проектированием и дизайном высоконагруженных энтерпрайз и финансовых систем. Эта область из года в год все стремительнее набирает обороты, но словосочетание enterprise software все так же не вызывает у UX-специалистов особого трепета. Часто работа с корпоративными приложениями воспринимается не иначе как слишком затяжной и консервативный процесс не только для дизайнеров. С точки зрения разработки — специалистов отталкивает рутинное взаимодействие с legacy code и порой абсурдными уровнями сложности, с точки зрения дизайна — слишком жесткие ограничения для дизайн-процесса или же вовсе его отсутствие.

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

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

Что же такое Enterprise UX

Enterprise UX заключается в построении пользовательского опыта для приложений, призванных автоматизировать различные бизнес-процессы внутри огромных корпораций. На первый взгляд, может показаться, что эти системы разрабатываются для того, чтобы решать проблемы бизнеса, а не их пользователей, что идет вразрез с Human Centered Design. Много раз я сталкивалась с мнением, что пользовательские нужды в такого рода проектах трактуются далеко не первым приоритетом, а бизнес-нужды — поразительно скучны. Многих дизайнеров отпугивает мысль о том, что невозможно построить органичный дизайн-процесс, поскольку в подобных продуктах проектирование и дизайн слишком долго покрывались возможностями распределенных девелопмент-команд. Для них скорость закрытия задач часто может быть важнее удобства взаимодействия, а необходимость дизайна в целом не воспринимается всерьез.

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

По моим наблюдениям, ситуация с каждым годом улучшается: индустрия меняется, а необходимость целостного подхода к юзабилити уже не становится предметом дискуссий и споров, а является скорее общепризнанным фактом. Большие корпорации все чаще понимают, что только инвестируя в UX, они смогут отрегулировать внутренние трудности, сократить траты на девелопмент, поддержку и обучение сотрудников. А вместе с этим повысить уровень лояльности и эффективности сотрудников, стать компанией at the cutting edge и создать серьезное конкурентное преимущество.

Наиболее релевантный пример — мое сотрудничество с компанией N, мировым лидером в своем сегменте, которая в течение последних десятилетий улучшала свои внутренние процессы и качество предоставляемых услуг и, асимптотически двигаясь в этом направлении, приблизилась к возможному максимуму. Желая не только оставаться лидером, но и оставить своих ближайших конкурентов далеко позади, компания с общей численностью штата более 100 000 сотрудников по всему миру приняла решение воссоздать свой основной рабочий инструмент и полностью его переработать с точки зрения UX. Вместе с повышением эффективности своих сотрудников и качества обслуживания клиентов, наша команда получила шанс принять участие в пересмотре бизнес-процессов внутри компании.

Enterprise UX как самое интересное испытание в карьере

Проекты в этом домене отличаются повышенной сложностью во всем: начиная с фазы Discovery и Research, заканчивая построением полноценной информационной архитектуры и логики с сотнями use cases и десятками пользовательских групп. Это по-настоящему большой плюс, поскольку этот уровень интеллектуального вовлечения постоянно держит в фокусе, стимулирует двигаться и никогда не прекращать процесс изучения нового.

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

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

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

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

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

Бизнес-цели.На самом раннем этапе важно глубоко разобраться не только в требованиях бизнеса, а и серьезно проанализировать дата-модели и бизнес-процессы, которые являются основой для приложения. По сравнению со многими другими приложениями, корпоративные продукты часто несут в себе большие объемы взаимосвязанных данных, которые требуют обстоятельного анализа, близкого взаимодействия c product owners/business analytics и что очень важно — доверительными отношениями с основными стейкхолдерами. С другой стороны, можно воспринимать ситуацию проще, однако так информационную архитектуру на должном уровне перестроить вряд ли удастся, из чего в дальнейшем будут вытекать самые непредсказуемые и неприятные проблемы.

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

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

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

Выводы

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

Разумеется, Enterprise UX не может нравится и подходить всем без исключения, поскольку это точно не станет праздным творением в перерывах между командировками. Работа в этом домене, по моим наблюдениям, ощутимо меняется. В энтерпрайзе начинается эпоха «Good enough is no longer enough», и, возможно, это та самая возможность работать над созданием чего-то по-настоящему глобального.

Enterprise UX нельзя назвать самым популярным сегментом для дизайнеров, особенно учитывая, что практически вся разработка энтерпрайз-систем на нашем локальном рынке происходит на аутсорсе. Этот домен — очень требовательный интеллектуально, со значительным воздействием на огромные масштабы людей и денег. Чтобы органично существовать в рамках таких проектов или продуктов, вам необходимо будет потратить много сил, выносливости и терпения, выработать по-настоящему зрелый подход к решению задач и быть способным превращать окаменелые памятники программной разработки конца 90-х —начала 2000-хгодов в действительно изящные и удобные решения. Или же вовсе начать нечто грандиозное с нуля.

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

iOS дайджест #22: аналитика на Swift, design tools, разбор уязвимости с пустым паролем для Root пользователя

$
0
0

В выпуске: сравнение юникодных String и NSString, Xcode unit tests with ⌘+S, как устроены процессы в Яндексе, подборка хаков из твиттера.

Статьи

Key difference between Dictionary and NSDictionary
Интересная особенность, как сравниваются юникодные String и NSString и какие из-за этого могут быть баги.

Why <blank> Gets You Root
Разбор недавней уязвимости с пустым паролем для рута.

Coordinator and FlowController
Очередной лонгрид про координаторы. Кто еще не использовал — самое время.

Swift Analytics
Краткий разбор подходов к аналике от Chris Eidhof. Советую ознакомиться со всеми подходами, описанными в начале.

Hacks

Пост в Twitter Rick Ballard
Xcode Build System работает над тем, чтобы улучшить компиляцию свифта, вот только с документацией у них не очень получается.

Stop Xcode from constantly rebuilding your project because of @IBDesignable
Наверное, каждый, кто пытался сделать IBDesignable view, сталкивался с тем, что Xcode начинает бесконечно билдить проект. Оказывается, это можно отключить.

Optimizing Swift build times
Советы, как оптимизировать скорость компиляции свифта. Ключи -Xfrontend -warn-long-function-bodiesи -Xfrontend -warn-long-expression-type-checkingуже просто must-have для свифтовых проектов.

A Quick Tip For String Performance
Интересный хак, как улучшить производительность при работе со строками на 18%.

Best iOS hacks from Twitter: November Edition
Набор хаков из твиттера. Коротко и по делу.

Changing Xcode Header Comment
В Xcode 9 теперь легко можно поменять заголовок файла, который генерируется по умолчанию.

Tools

Hyperion-iOS
Очень интересный тул, с помощью которого можно измерить расстояние между объектами, посмотреть их размеры, атрибуты текста прям в приложении. Такой себе встроенный Zeplin.

stylesync
Еще один инструмент, который помогает при работе с дизайном. Генерирует Swift файлы со стилями, цветами и прочим из Sketch.

Getting Started with Fastlane.swift
Fastlane переходит на Swift. Пока в бете, но скоро можно будет писать конфигурации на Swift и не гуглить «как же это сделать на Ruby».

Xcode unit tests with ⌘+S
Сохраняешь файл и сразу прогоняются все тесты, которые с ним связаны. Магия да и только.

Видео

Конец года выдался очень насыщенным на iOS митапы и организаторы оперативно выкладывают видео, за что им отдельная благодарность.

Avito iOS Winter Edition
Data-driven подход, как прокачать lldb, что такое Mach-O и dSYM, и архитектуры, куда же без них.

Яндекс изнутри: глазами iOS-разработчика
Яндекс рассказали про структуры команд, о том, как у них устроены процессы, код ревью, взаимодействие между командами, шаринг знаний. Немного рассказали про подходы, примененные при разработке Алисы (голосовой помощник). И в конце уже полюбившийся на русскоязычных конференциях формат панельной дискуссии.

CocoaHeads Санкт-Петербург
Проблемы AutoLayout, библиотеки для работы с layout, как разрабатывали CocoaHeads приложение и также небольшая панельная дискуссия.

CocoaHeads Москва
Адаптация под iPhone X, блокчейн, Copy on Write в Swift, а также занимательный нетехнический доклад про сомнения и заблуждения в карьере программиста. И опять же панельная дискуссия.

Moscow Meetup CocoaHeads
Особенности работы с GPU, распределенная сборка IPA и уже излюбленный рассказ от ребят из Яндекса про оптимизацию запуска iOS приложений.

From iOS to Vapor developer
Интересное сравнение того, как привычные вещи для iOS разработчика сделать на бекенде с применением Vapor. Must-have для тех, кто боится, но хочет начать писать бекенд на Swift.

CocoaHeads Ukraine
Буквально неделю назад прошла последняя сходка в этом году. Если вы вдруг пропустили, то в твиттереможно почитать ключевые моменты. Также отдельного внимания заслуживают видео с прошлых сходок, особенно Александра Корина, Дмитрия Вороны и Джона Санделла.


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

Android дайджест #29: TensorFlow Lite, Design Patterns, React Native

$
0
0

А также: Bitcoin Wallet, закрытие Project Tango, стоимость разработки мобильного приложения, доклады с KotlinKonf, работа с Flutter, новые требования Google Play Store, Model-View-Intent Architecture, история изменений Android SDK и еще много интересного!

Новости и аналитика

Официальный запуск Android 8.1 Oreo и Android Oreo (Go edition).

Google Play Store вводит новые требованияк приложениям. Усиление верификации APK, 64-битныеверсии, использование последнего API level.

Google is shutting down Project Tango. Цели проекта достигнуты, развитие дополненной реальности продолжится в проекте ARCore для массового рынка.

Сколько стоитмобильное приложение в 2017 году.

Announcing TensorFlow Lite: кросс-платформенное машинное обучение на мобильных устройствах.

Безопасность данных и приложений

 Encrypting Large Dataот Yakiv Mospan.

Diving into Android Oreo security changes.

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

Kotlin

Видео всех докладов с KotlinConf. Структурированы и прокомментированы.

Kotlin’s ‘Nothing’ Type.

Kotlin Design Patterns.

Почитать/посмотреть/попробовать

Почему Flutterне использует OEM виджеты.

MVP & Lifecycles & Dispatchers Oh My!Очередной бинго-набор паттернов от Mike Nakhimovich.

«Ok, Google —  How do you run Deep Learning Inference on Android Using TensorFlow?».

The Art of Android DevOps.

React Native: Is It Worth It?Кросс-платформенность не бывает бесплатной.

RecyclerView Pro Tips. Четыре простых совета под правильным соусом.

Quick Boot & the Top Features in the Android Emulator.

Migrating Crashlytics to the Firebase Console.

Best practices for Deeplinking in Android.

The Contract of the Model-View-Intent Architecture.

Creating Clean Architecture Multi-Project MVP App. Полный код на гитхаб с самыми трендовыми фреймворками сезона прилагается.

Полезные инструменты и библиотеки

Bitcoin Wallet: Open-source app for your Android device.

Daggraph: Dagger dependency graph generator.

AndroidSDKPoster: Wall poster with detailed changelog of Android SDK versions 14-27, broken down into 30 categories.

SimpleRatingBar: виджет для рейтинга, настраиваемый для ваших нужд.


Какие темы/материалы/ивенты стоит добавить в дайджест — пишите в комментариях, твиттер @sergiizhukили воспользуйтесь специальной формой.


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

Как я работаю: Антон Багаев, разработчик Hryvna Today, Smartdelivery, Rada Invaders

$
0
0

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

Антон Багаев — web-программист в компании PDFfiller. Помимо основной работы, Антон с несколькими единомышленниками разрабатывает собственные проекты в команде Don’tgiveafish. В их числе сайт про курс валют Гривня Тудей, открытая база данных отделений служб доставки Smartdelivery, ремейк игры Space Invaders Rada Invaders. Сейчас в разработке — сервис Kukurudzaдля поиска сеансов в ближайших кинотеатрах.

Также Антон пишет технические статьи для сайта Envato Tuts+. Его идеология — создавать продукты, которые автоматизируют процессы и тем самым экономят время и деньги пользователей.

Возраст и опыт: 27 лет, 8 лет работает в IT.
Модель смартфона: iPhone SE.
Модель ноутбука: MacBook Pro 13.
Суперспособности:находить потенциал и мотивацию у коллег даже там, где ничего не увидел Супермен.

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

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

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

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

Ноутбук для разработки и телефон для всего остального. В смартфоне — списки текущих задач, напоминалки, календари. Даже если мы с друзьями идём в кино, я создаю встречу в Google-календаре и рассылаю всем приглашения. Это помогает ничего не упустить.

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

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

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

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

Из инструментов активно использую разные напоминалки (стандартные от Apple, Google-календарь, Productive), Trello, Slack или Telegram. Для пет-проектов список текущих задач веду там, где лежит код, — обычно это GitLab или GitHub. Кроме этого, веду списки дел в Evernote. Также записываю там идеи проектов, конспекты прочитанных книг, разные свои мысли и наблюдения — например, как по моему мнению должна выглядеть идеальная компания.

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

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

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

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

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

Каждые 15 минут. Но, мне кажется, это слишком часто. Хочу ограничить до раз в полчаса-час.







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

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

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

Также у меня есть годовой план. Формирую список пунктов, разделенных на группы: образование, семья, здоровье. К примеру, в разделе «Образование» пишу, чему бы я хотел обучиться на работе и на своих проектах. Сюда обычно входит изучение и применение нового языка программирования, изучение других технологий. Обычно удается выполнить план процентов на 70. Иногда корректирую пункты в течение года, если понимаю, что что-то потеряло свою актуальность.

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

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

40 часов на основной работе и часов 10-15часов трачу на свои проекты и самообразование. Помимо вечеров будней, двум последним пунктам посвящаю субботу. По воскресеньям, наоборот, никогда не работаю. День отдыха позволяет отвлечься от работы, погулять, перезарядиться.

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

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

Несколько раз в год куда-то выбираюсь на неделю-две. Пытаюсь выезжать куда-то и на выходные. Иногда беру дополнительные отгулы на 1-2 дня.

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

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

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

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






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

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

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

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

В планах — книга «Парадокс выбора» Барри Шварца — о свободе выбора и о том, как принимать правильные решения и не париться над сомнительными.

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

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

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

Хотел бы повидать Дэвида Гилмора — он самый крутой музыкант в мире, и влияние музыки Pink Floyd на меня невозможно переоценить.

Из соотечественников хотел бы встретиться с теми, кто стоит у руля больших технологичных компаний — Дмитрием Дубилетом («Монобанк»), руководителями «Новой Почты».

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

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

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

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

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

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

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

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

Итоги 2017 по версии DOU: безвиз, Lviv IT Arena и ITEM

$
0
0

В этом году мы собрали 5783 анкеты. Исходные данные для анализа есть на GitHub.

Самое значимое событие года: безвизовый режим

Из интересного — среди джуниоров блокировку ВК, Яндекса и др. отметили 26% респондентов, в то время как среди опытных специалистов таких только 13%.

С биткоином похожая тенденция — 16% у джуниоров против 10% у мега-синьоров. Последних больше интересует сохранение 5% налога — это событие у них на втором месте после безвиза.

Событие% голосов в поддержку
1Начал действовать безвизовый режим47.7%
2Блокировка ВКонтакте, Яндекс, Mail.ru и др. сервисов из РФ20.2%
3Bitcoin по $18K14.2%
4Сохранение 5% налога для ЕН на 3-йгруппе8.6%
5Кибератака в Украине (вирус Petya)5.1%
6-7Запрет «маски-шоу» и изъятие серверов при обыске2.1%
6-7Другое2.1%

Лучшие мероприятия года: Lviv IT Arena и ITEM

Disclaimer: как и в прошлом году, 58% опрошенных сказали, что не следят за мероприятиями вообще.

Голоса остальных распределились следующим образом:

— лучшие мероприятия 800+ посетителей:

МероприятиеГород% голосов в поддержку
1Lviv IT ArenaЛьвов29.2%
2GDG DevFest Ukraine 2017Львов14.7%
3KharkivJSХарьков12.2%
4IT Weekend UkraineКиев6.5%
5iForum-2017Киев5.9%
6JavaDay UA 2017Киев5.2%
7QA Fest 2017Киев4.6%
8JEEConfКиев3.6%
9SE2017 ConferenceКиев2.7%
10Outsource People 2017 KyivКиев1.4%

— лучшие мероприятия 400+ посетителей:

МероприятиеГород% голосов в поддержку
1ITEM-2017Днепр10.6%
2LvivJS 2017Львов7.2%
3.NET FestКиев6.4%
4PyCon Ukraine 2017Львов6.2%
5-6AI Ukraine ’17Харьков5.6%
5-6Drupal Camp Kyiv 2017Киев5.6%
7-8JavaScript fwdaysКиев5.5%
7-8Lviv Outsourcing ForumЛьвов5.5%
9Lviv Project Management DayЛьвов5.4%
10-11KharkivCSS #2Харьков4.7%
10-11PHP fwdaysКиев4.7%

66% джуниоров не посещали конференции в 2017 году. Среди специалистов уровня миддл таких 57%, а синьоров — 52%.

Год трудный, но лучше 2016-го

Неудачным год был лишь для 4% респондентов. В прошлом году недовольных было 7%.

Как и в прошлом году, джуниорам пришлось труднее, чем остальным.

Рекордные 68% специалистов уверены, что 2018-йбудет еще лучше. О том, что все будет плохо, говорят лишь 4% респондентов. В прошлом году таких было 9%.

Настроены позитивно все специалисты, независимо от уровня и опыта работы.

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

$
0
0

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

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

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

КомпаніяМістоНапрям, дедлайнТип
3DMAYAХарків або onlineComputer Graphics, 3D — 15 січняКурси
ElifTechЛьвів, ВінницяJavaScript (Node.js, Vue.js) — кінець січняКурси
EPAMКиїв, Львів, Харків

DevOps: Харків — 25 січня

.NET: Київ — 22 січня, Харків — 25 січня

QA: Київ — 22 січня, Харків — 25 лютого

Java: Київ — 22 січня, Харків — 25 січня

Front-end: Харків — 25 лютого
Курси
Exadel Inc.ВінницяFront-end (JS, ReactJS) — 23 січняКурси
GlobalLogicКиїв

JavaScript — 26 грудня включно

QA — 10 січня
Курси
ITVDNonlinePython — 30 грудняКурси
KottansКиївFront-end — січеньКурси
MobiDevЧернівціiOSКурси
NetcrackerСуми

QA — 8 січня

CSA — на постійній основі
Курси
NIX Solutions Ltd.ХарківJava — початок березня, iOS — початок лютогоКурси
RubyGarageДніпроRuby / Ruby on Rails — 1 березняКурси
QATestLabonline

«Основи тестування ПЗ» — 9 січня

«Основи тестування ігор» — 1 лютого
Курси
SoftServeЛьвів, Рівне, Дніпро, Харків, Івано-Франківськ

.NET: Львів — 2 лютого, Рівне — 5 лютого

Quality Control: Рівне — 2 січня

Test Automation with Python: Дніпро — 17 січня, Львів — 26 січня, Харків — 2 лютого

DevOps: Івано-Франківськ — 15 січня, Рівне — 8 лютого

WebUI Development: Харків — 16 березня

Software Engineering in Testing: Львів — 29 грудня

Go WEB Development: Рівне — 3 січня
Курси
CHI SoftwareХарківNode.js, C++, PHPСтажування
InterLinkЧеркасиJavaСтажування
ScalifiedКиївJava, QAСтажування
Sigma Software UniversityЛьвів, Одеса, Харків

JavaScript: Одеса — 31 січня

Big Data: Львів — 31 січня

QA: Харків — 31 січня

Embedded: Львів — 31 січня
Стажування
AgilitesХарківQAРобота
CiklumХарківPython, Data AnalystРобота
CodeITХарківiOS — 20 січняРобота
CyberCraftЛьвівRubyРобота
GlobalLogicКиїв, Львів

Київ: C/C++, Data Analyst, QA/Integration, Embedded C, Technical Support

Львів: AI/ML, .Net, C language
Робота
InteticsКиївФункціональне програмуванняРобота
LuxoftКиївC++/QT, OracleРобота
Ring UkraineКиївCustomer SupportРобота
SoftServeЛьвівQCРобота

3DMAYA

Напрям:курси Computer Graphics, 3D.
Місто:Харків або online.
Дедлайн подачі заявок: 15 січня.

Вимоги до кандидатів:курс доступний для всіх охочих.

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

Умови:курс складається із 6 лекцій. Навчатися можна очно або вдома online. Всі лекції будуть записані на відео та доступні для перегляду наступного дня. Є практичні завдання.

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

ElifTech

Напрям:курси JavaScript (Node.js, Vue.js).
Місто:Львів, Вінниця.
Дедлайн подачі заявок:кінець січня.

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

  • ІТ-освіта або хороший рівень самоосвіти;
  • розуміння ООП;
  • знання патернів та алгоритмів;
  • хороші теоритичні знання баз даних;
  • знання англійської мови від рівня Pre-Intermediate.

Як потрапити:надіслати CV на hr@eliftech.com, подати заявку за посиланням (слідкуйте за появою форми реєстрації на офіційних сторінках DOU, FB, eliftech.com), пройти тестування, пройти співбесіду з викладачами академії.

Умови:навчання в інтерактивному форматі проводять Middle та Senior інженери. Вони поділяться власним досвідом програмування, а найуспішніші студенти матимуть можливість отримати роботу в компанії. Безкоштовні заняття проводяться 2 рази на тиждень по 1,5- 2 години + домашні завдання. Навчання триватиме 1,5 місяці.

Деталі:пишіть на hr@eliftech.com.

EPAM

Тип:курси.
Місто:Київ, Львів, Харків.
Дедлайн подачі заявок:

  • DevOps (Харків) — 25 січня
  • Front-end (Харків) — 25 лютого
  • .NET (Київ) — 22 січня
  • .NET (Харків) — 25 січня
  • QA (Київ) — 22 січня
  • QA (Харків) — 25 лютого
  • Java (Київ) — 22 січня
  • Java (Харків) — 25 січня

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

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

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

Exadel Inc.

Напрям:курси Front-end (JS, ReactJS).
Місто:Вінниця.
Дедлайн подачі заявок: 23 січня.

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

  • знання англійської (усної та письмової) на рівні, достатньому для проходження співбесіди;
  • комунікативні навички, бажання працювати в команді;
  • бажання вивчати нові технології;
  • базові знання програмування: цикли, функції, аргументи, типи даних;
  • базові знання ООП: класи, методи, успадкування;
  • базові знання верстки — HTML і CSS;
  • головне — бажання бути саме фронтент-розробником.

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

Умови:курси стартують на початку лютого і тривають 2,5 місяці. Викладач — Senior Software Engineer Сергій Колоней. У групі — приблизно 15 осіб. Проводиться 1 лекція (тривалістю 1,5-2 години)на тижень та 1 практика раз на 2 тижні. У проміжках студенти самостійно вивчають матеріал та виконують завдання. На заняттях необхідно мати свій ноутбук. Студентів оцінюватимуть за результатами невеликих завдань протягом усього курсу. По закінченні кожен зможе пройти співбесіду в компанію на позицію junior JS.

Деталі:пишіть на msokhn@exadel.com.

GlobalLogic

Напрям: JavaScript GL ProCamp, QA Automation GL ProCamp.
Місто:Київ.
Дедлайн подачі заявок: JavaScript — 26 грудня включно, QA — січня.

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

  • 1,5+ роки практичного досвіду з JavaScript, HTML, CSS;
  • впенені знання базового JavaScript (lexical structure, data types, variable declarations and visibility scopes, primary expressions and operators, conditions, statements, functions);
  • розуміння колекцій в JavaScript (Array, Object) та основних методів взаємодії з ними;
  • досвід роботи з DOM, маніпуляції DOM Nodes, DOM Events;
  • розуміння приципів клієнт-серверної взаємодії;
  • досвід роботи з системою контролю версій Git;
  • англійська на рівні Intermediate або вище.

QA Automation

  • 1+ рік практичного досвіду в автоматизованому тестуванні;
  • знання Java/Python/Ruby або будь-якої іншої мови програмування;
  • базове розуміння клієнт-серверної архітектури;
  • базові знання хоча б деяких інструментів для автоматизації, наприклад Selenium Webdriver, JUnit, TestNG, Maven, PyTest або інших;
  • базове розуміння патернів автоматизованого тестування;
  • впевнене розуміння повного циклу розробки програмного забезпечення;
  • практичний досвід використання різних підходів до тестування та чітке розуміння процесів та артефактів;
  • англійська на рівні Intermediate або вище.

Як потрапити:пройдіть тестове завдання на testbench.globallogic.com.ua: у розділі Tests > JavaScript оберіть [GL ProCamp] JS Test або QA Automation. Якщо результат вашого тесту не менше 80%, заповніть форму реєстрації для JavaScriptабо для QA. Аплікантів із найкращими результатами тестування запросять на другий етап відбору — інтерв’ю з технічним спеціалістом.

Умови:початок зустрічей — наприкінці січня, у вечірній час; тривалість — близько 2 місяців. Успішне проходження курсу дасть учасникам можливість долучитися до проектів компанії GlobalLogic.

Деталі:пишіть на training-UA@globallogic.com (будь ласка, вкажіть у темі листа «GL ProCamp — JavaScript» або «GL ProCamp — QA Automation»).

ITVDN

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

Вимоги до кандидатів:курс можуть проходити усі охочі.

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

Умови:курс складається із 7 уроків. У кожному уроці доступні відео, навчальні матеріали з прикладами, презентації, опорний конспект, домашні завдання. По завершенні курсу можна перевірити свої знання, пройшовши тестування на TestProvider.com, та отримати електронний сертифікат. Доступ до курсу буде відкритий на 10 днів.

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

Kottans

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

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

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

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

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

MobiDev

Напрям:курси iOS Development.
Місто:Чернівці.

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

  • навички роботи з алгоритмами, знання ООП, знання будь-якої мови програмування та GIT;
  • англійська від Intermediate;
  • готовність присвятити заняттям багато часу: 6 годин на тиждень для очних занять плюс самостійна робота.

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

Умови:навчання проходитиме тричі на тиждень — понеділок, середа, п’ятниця, з 17:00 до 20:00.

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

Netcracker

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

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

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

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

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

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

NIX Solutions Ltd.

Тип:курси.
Місто:Харків.
Дедлайн подачі заявок: Java — початок березня, iOS — початок лютого.

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

  • володіння англійською мовою на рівні Intermediate;
  • знання загальної комп’ютерної термінології;
  • знання булевої алгебри і теорії множин;
  • розуміння базових принципів ООП;
  • базове знання Java і середовища розробки (компіляція, запуск, налаштування);
  • знайомство з web-ом (HTTP, HTML, CSS, термінологія).

Практика iOS

  • базові знання принципів ООП;
  • базові знання С/С ++;
  • уявлення про бази даних;
  • знання алгоритмів і структур даних;
  • будуть перевагою, але не є обов’язковими, базові знання Objective-C і Swift.

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

Умови:

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

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

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

RubyGarage

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

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

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

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

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

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

QATestLab

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

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

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

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

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

SoftServe

Тип:курси.
Місто:Львів, Рівне, Дніпро, Харків, Івано-Франківськ.
Напрям та дедлайн подачі заявок:

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

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

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

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

CHI Software

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

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

Node.js

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

C++

  • знання англійської мови на рівні Intermediate або вище, здатність працювати з технічною документацією на англійській мові;
  • добре знання основ C та C++;
  • досвiд з Git або іншими розподіленими системами контролю версій;
  • навички роботи з Linux та Windows на рівні досвідченого користувача.

PHP

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

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

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

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

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

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

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

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

Умови:3-місячнапрограма навчання, щодня по буднях з 9:00 до 18:00 в офісі разом з досвідченими менторами. Передбачена соціальна програма, участь в технічних івентах та в житті компанії. По закінченні програми найкращі учні отримають можливість приєднатися до команди InterLink.

Деталі:на сайтіабо пишіть на пошту liudmylas@interlink-ua.com.

Scalified

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

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

  • проактивність, мотивованість, бажання вчитися;
  • як мінімум проходження курсів з Java;
  • досвід роботи з SQL;
  • досвід роботи з Linux;
  • рівень англійської Intermediate+.

QA

  • проактивність, мотивованість, бажання вчитися;
  • вміння аналізувати, уважність до деталей;
  • базове знання SQL;
  • рівень англійської Intermediate+.

Як потрапити:надіслати резюме на відповідній сторінці: Java, QA. До резюме необхідно додати приклади своїх робіт/проектів. Передбачене тестове завдання.

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

Sigma Software University

Тип:стажування.
Дедлайн подачі заявок: 31 січня.

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

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

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

Agilites

Напрям:робота Manual QA.
Місто:Харків.

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

  • добре розуміння сфер Software Testing та Software Quality Assurance;
  • добре розуміння SDLC;
  • добре розуміння метододогій тестування;
  • базові знання SQL;
  • базові знання SOAP та XML;
  • вища освіта за технічною спеціальністю.

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

Ciklum

Напрям:робота Python, Data Analyst.
Місто:Харків.

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

Python

  • Англійська Upper-Intermediate;
  • здатність писати техдокументацію англійською на початковому рівні;
  • Scripting: Linux, Python, Scrapy і Pandas;
  • Git;
  • здатність вирішувати проблеми.

Data Analyst

  • Data mapping;
  • Data quality improvement;
  • Data tagging.

Як потрапити:надіслати резюме на відповідній сторінці: Python, Data Analyst.

CodeIT

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

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

  • розуміння принципів ООП, шаблонів проектування;
  • навички програмування C/C ++ або Objective-C/Swift;
  • вища профільна освіта;
  • рівень англійської — Intermediate.

Як потрапити:відправити резюме на пошту jobs@codeit.us, виконати тестове завдання, пройти співбесіду.

Умови:навчальна програма триває 3-4місяці з повною зайнятістю. Цей період вважатиметься випробним терміном. Під час навчальної програми спеціаліст отримує теорію і практичні завдання.

Деталі:на сайтіабо пишіть на tatyana.penkina@codeit.com.ua.

CyberCraft

Напрям:робота Ruby.
Місто:Львів.

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

  • досвід роботи зі стеком LAMP (Ruby, PHP або Python);
  • розуміння JS фреймворків;
  • досвід роботи з раціональними базами даних (MySQL, PostgreSQL, SQLite);
  • знання CSS та HTML;
  • вища освіта (Applied Mathematics, Engineering та ін.).

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

GlobalLogic

Тип:робота.
Місто:Київ, Львів.

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

Як потрапити:подати заявку на сторінці вакансії, що цікавить.

Intetics

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

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

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

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

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

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

Luxoft

Напрям:робота C++/QT, Oracle.
Місто:Київ.

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

C++/QT

  • знання C++ і QT, навички QML;
  • знання німецької мови буде перевагою;
  • знання процесу аджайл буде перевагою.

Oracle

  • мова SQL;
  • принципи SVN;
  • Scripting (bash / batch);
  • Англійська Intermediate (усна і письмова).
Буде первагою:
  • розуміння Java \ Linux;
  • PL/SQL;
  • знання основних характеристик Oracle DB;
  • Docker (OpenShift).

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

Ring Ukraine

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

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

  • рівень англійської — Upper-intermediate/Advanced;
  • розуміння IT-теромінології.

Буде перевагою:

  • технічний бекграунд (IT-освіта);
  • досвід користування адмінсистемами (особливо MacOS);
  • досвід користування баг-трекінговими системами (Jira та ін.).

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

SoftServe

Напрям:робота QC.
Місто:Львів.

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

  • досвід тестування Web і Desktop аплікацій від 1 року;
  • знання реляційних БД і sql-запитів;
  • уміння визначити необхідні типи тестування для покриття функціональності;
  • вільне володіння українською та російською мовами, рівень анлійської — Pre-intermediate;
  • здатність працювати під тиском та у стресових ситуаціях;
  • гнучке мислення та здатність самостійно приймати рішення;
  • орієнтованість на результат.

Буде перевагою:

  • досвід написання тестової документації;
  • досвід аналізу функціональних вимог;
  • освіта: ступінь бакалавра в галузі комп’ютерних наук, фізики, математики, або іншої технічної області.

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

Украинский IT-рынок: итоги 2017 и перспективы 2018

$
0
0

Мы попросили ведущих участников IT-отрасли рассказать, как они оценивают 2017 год для украинского IT-рынка, какие ключевые события произошли в индустрии, а также чего следует ожидать в 2018.

Юрий Антонюк, глава EPAM Украина

Главное достижение 2017 года — украинская IT-индустрия наконец вернулась к докризисным темпам роста. Если в прошлые три года они были ближе к 10%, то в этом году рынок вырос уже на около 18%. Если не произойдет кардинальных изменений в государстве, то за четыре года рынок и вовсе удвоит объемы.

Учитывая, что только в качестве налогов за 10 месяцев 2017 года IT-компании принесли в бюджет около 6,5 млрд, то стабильное развитие отрасли позитивно повлияет и на экономику страны.

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

В ежегодный рейтинг лучших поставщиков IT-услуг The Global Outsourcing 100 за 2017 год попали сразу 13 компаний с офисами в Украине — на 3 больше, чем в прошлом году. Отраслевая ассоциация Global Sourcing Association (GSA UK) одного из крупнейших для наших компаний рынков — Великобритании назвала Украину Outsourcing destination of the year.

Если позитивный баланс на внешнем и внутреннем рынках сохранится, то украинское IT продолжит быстро раскрывать свой потенциал. Есть все основания считать, что 2018 год украинское IT сможет закончить с приростом в 20% и более. Как минимум EPAM планирует вырасти на 22-25%.Такие цели ставят крупные компании, которые во многом формируют динамику всего рынка.

Ярослав Любінець, співзасновник та голова ради директорів SoftServe

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

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

З’являються нові навчальні ІТ-програми у вузах, які за своєю якістю та наповненням не поступаються закордонним. Вдалий запуск програм Computer Science в УКУ та «Інтернет речей» у Львівській Політехніці послужив поштовхом для покращення підходів до викладання ІТ-дисциплін у вузах. Цього року у Львові з’явилось одразу кілька нових навчальних програм. Серед них — «Комп’ютерні науки» та «Data Science» в ЛНУ ім. І. Франка, «Бізнес аналітика» в УКУ та програма з «Систем штучного інтелекту» у Львівській Політехніці. На фоні великого попиту на професію та активної участі ІТ-компаній у реформуванні освітніх програм, впевнений, що тенденція продовжиться у 2018 році та охопить й інші міста, де ІТ-індустрія добре розвинена.

Завдяки тому, що ІТ-компанії в Україні пропонують привабливі умови праці, інтерес до цієї галузі росте не лише у школярів чи студентів, але й у фахівців з інших сфер. Висококласні ІТ-спеціалісти — все ще на розхват, тому ІТ-компанії, особливо великі, продовжують розвивати внутрішні механізми інтенсивного розвитку своїх працівників та інвестують у цей напрямок значні ресурси.

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

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

В цілому 2017 рік був позитивним для галузі, і ми дивимося у 2018 рік з оптимізмом.

Александра Альхимович, управляющий директор Luxoft Ukraine

2017 год для IT-отрасли в Украине можно назвать успешным. Прежде всего, отрасль продолжает демонстрировать достаточно высокие темпы роста: более 12% прироста по объему экспорта, увеличение количества рабочих мест и суммы уплаченных налогов. На международной арене Украина становится глобальным и признанным игроком. Например, британская ассоциация Global Sourcing Association (GSA) назвала Украину лучшей страной 2017 года для предоставления услуг аутсорсинга. В то же время мы ощущаем более сильную конкуренцию за ресурсы, таланты, технологии, новые идеи — как внутри страны, так и на глобальной арене. Поэтому приоритетом для Украины остается развитие инженерного и инновационного потенциала страны, формирование позитивного имиджа отрасли в стране и за ее пределами, а также привлечение новых клиентов и новых вертикалей бизнеса.

Для нашей компании ключевыми вехами этого года стало приобретение компании IntroPro в Украине — самая большая M&A сделка в истории Luxoft. Также приятно отметить тот факт, что наш офис в Одессе перешагнул отметку в 700 специалистов, а общее количество «люксофтовцев» в Украине впервые перешагнет показатель 4000 специалистов.

Из других знаковых изменений рынка хочется отметить обновление ассоциации «IT Украины» — качественно новый подход в работе команды и представлении интересов отрасли, принятие ряда нормативных документов, которые защищают IT-компании от необоснованных изъятий техники правоохранительными органами, появление Зеленой книги «Регулирование рынка разработки программного обеспечения», созданной BRDO.

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

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

Игорь Беда, управляющий директор GlobalLogic Украина

В 2017 году IT-индустрия показала рост около 20%, а ее объем экспорта по данным PwC достиг $3,6 млрд. По прогнозам при благоприятных условиях к 2025 году IT- отрасль может вырасти до $8,4 млрд. (почти в 2,5 раза), а количество рабочих мест увеличится до более 240 тыс. человек.

Сегодня украинский IT-рынок — это преимущественно экспортная отрасль, направленная на продажу услуг по разработке программного обеспечения и разнообразных R&D проектов. Поэтому рост IT-индустрии в будущем будет непосредственно зависеть конкурентоспособности Украины на международном рынке. Для этого нам необходимо постоянно наращивать темпы изменений внутри страны, которые будут положительно влиять на дальнейшее развитие украинского IT-рынка.

Из положительных изменений в 2017 году можно выделить вступившее в силу 1 сентября Соглашение об ассоциации между Украиной и Евросоюзом и безвизовый режим, который начал работать ранее, с 12-гоиюня. Эти события показали, что Украина готова постепенно двигаться вперед.

Что касается 2018 года, украинский рынок ІТ может продемонстрировать рост на 20-25%при условии сохранения стабильности в стране. Но количественное развитие рынка невозможно без качественной составляющей. Успех IT-индустрии в будущем будет во многом зависеть от сотрудничества украинских IT-компаний по определению дальнейших векторов развития индустрии.

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

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

Валерий Красовский, CEO Sigma Software

По итогам года можно сказать, что правительство признает вклад ИТ-индустрии в экономику страны, но нам все еще предстоит работа над тем, чтобы обеспечить отрасли стабильные условия роста. В сентябре 2017 президент Украины в своем выступлении в парламенте назвал ИТ-сферу одной из ключевых для экономики Украины, отметив что 13 украинских ИТ-компаний вошли в ТОП-100 лучших сервисных компаний мира (в их числе и Sigma Software), а также тот факт, что экспорт ИТ-услуг составил 3% украинского ВВП. Но успешность ИТ-сектора по-прежнему зависит от наличия предсказуемых и стабильных правил игры. Структурный диалог бизнеса и власти сегодня необходим как никогда, чтобы проводимые в стране законодательные изменения позволяли ИТ-индустрии успешно расти.

Говоря о бизнесе, в будущем году, я думаю, ИТ-компании ждет еще больший интерес со стороны enterprise-сегмента. Причем, скорее всего, им будет уже неинтересно просто сотрудничество по модели IT consulting, в большей степени они будут рассматривать партнерство. Сегодня многие компании в различных доменах инвестируют в R&D, того же они будут ожидать и от своих партнеров. Исходя из этого, будет развиваться рынок патентов, борьба за авторское право, так что понимание и внедрение этих процессов необходимо уже сейчас.

Высокий интерес в будущем году будут вызывать услуги в области cyber security и соответствия новым требованиям по защите персональных данных (GDPR).

Основными технологическими трендами в 2018, на мой взгляд, останутся виртуальная и дополненная реальность, Big Data (поскольку количество данных растет с каждым днем), а также Data Science и все, что входит в эту область.

В фокусе, думаю, будет блокчейн, и не только из-за Bitcoin, но в первую очередь потому, что это распределенная и секьюрная база данных. Одна из наиболее активных в плане внедрения технологических новинок отраслей — automotive: здесь внимание будет уделяться infotainment, autonomous driving, системам распознавания — все это уже на подъеме и останется в тренде в будущем году.

Віталій Седлер, співзасновник та директор Intellias

Цей рік був успішним як для галузі в цілому, так і, зокрема, для компаній-лідерів. Наприклад, для Інтелліас це черговий рік зростання більше 50% на рік. По макрофакторах — ринки продовжують розвиватись, ІТ є драйвером для багатьох змін в глобальній економіці, і Україна продовжує бути чудовим місцем для реалізації різноманітних ІТ-проектів. Окрім того, виглядає, що замовники звиклись із ситуацією в Україні, і, за умови відсутності ескалацій на сході, все рідше переживають щодо ризиків, з цим пов’язаних. Всередині країни справи теж йдуть непогано: компанії ростуть, зарплати ростуть, сеньори мачуріють, джуни вчаться, світчери переходять — всі мали б бути задоволеними.

Досить новим є передчуття початку тренду на M&A в ІТ-аутсорсингу. Є низка фондів та компаній, які активно обговорюють інвестиції, консолідації та екзіти в цьому секторі. Окрім того, виглядає, що більш активними почали бути інвестори в стартапи/продуктові компанії.

ІТ сектор в Україні набрав вагу і є добре видимим на рівні країни. Але, як завжди, Ukraine never misses a chance to miss a chance, і після того, як днями про широку підтримку ІТ оголосили сусіди з Білорусі, нам треба думати, чи Україна і далі зможе залишатись регіональним лідером. Сподіваюсь це винесе на новий рівень дискусію про позицію ІТ в країні та підтримку від держави. І 2018 був би хорошим роком, щоб закінчувати з розмовами і починати робити щось реальне.

Щодо компаній та програмістів, думаю в 2018 році все буде плюс мінус, як і в 2017 — нормальний ріст для всіх.

Катерина Костерева, CEO группы компаний Terrasoft

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

На рынке корпоративного ПО, фактически, все говорят о сращивании бизнеса и IT. Поэтому растет спрос на корпоративное ПО и разрабатываются совершенно новые технологии для бизнеса.

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

Среди таких технологий, конечно же, инструменты для автоматизации бизнес-процессов, обработки больших данных, алгоритмы машинного обучения и прогнозирования, интернет вещей, чат-боты и многое другое. Здорово, что в Украине достаточно много R&D команд, которые разрабатывают такие технологии.

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

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

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

Еще один важный тренд на 2018 год — это развитие продуктовых команд и создание продуктов, которые успешно конкурируют на мировом рынке.


Читайте также: Итоги 2017 по версии DOU: безвиз, Lviv IT Arena и ITEM


Власть сотрудникам: нужна ли холакратия украинским IT-компаниям

$
0
0

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

Что такое холакратия

Холакратия — это один из способов децентрализации власти. Иерархия (холархия) выстроена таким образом, что каждый сотрудник может влиять на жизнь компании и обладает полной властью в рамках своей роли и обязательств. При этом необходимо полностью подчиняться «Конституции холакратии». Ее автор, Брайан Робертсон, считает, что если выбирать только отдельные принципы из документа, то компания не получит ожидаемого результата.

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

При таком управлении компания все еще выстроена сверху вниз, но как «иерархия целей», а не иерархия власти. Для того, чтобы компания достигла своей цели, например, «Быть № 1 на рынке блокчейн-решений в Европе», ей необходимы маркетинг, разработка, продажи и персонал. Это и будут круги в холархии.

В каждом круге есть 4 обязательных роли: Lead Link (работает внутри своего круга от имени внешнего), Rep Link (работает внутри внешнего круга от внутреннего), Secretary (координирует встречи и собирает их результаты) и Facilitator (лидер встреч круга, его выбирают другие участники).

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

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

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

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

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

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

Image Source

Заграничный опыт

По данным сайта holacracy.org, холакратию внедрили у себя более тысячи компаний. Но некоторые популярные и крупные компании решают использовать лишь отдельные элементы холакратии. Например, онлайн-площадка для поиска жилья Airbnb, блог-платформа Medium и компания-разработчик видеоигр Valve.

Самая известная крупная компания, которая применяет холакратию, — интернет-магазин обуви Zappos. Компанию купил Amazon за 1,2 миллиарда долларов. Ее руководитель Тони Шей славится неординарными поступками и в один прекрасный момент решил полностью изменить структуру компании. Помогал ему в этом автор «Конституции холакратии» Брюс Робертсон. Сотрудников, кстати, даже не спрашивали, согласны ли они с внедрением холакратии. Те, кого это не устраивало, — покидали компанию (таких, по официальным данным, было от 10% до 20%).

Украинский опыт

Мы поговорили с экспертом по холакратии Артемом Сердюкоми расспросили его о внедрении этого типа управления в украинских IT-компаниях.

«Я знаю о четырех украинских IT-компаниях, которые полностью установили себе холакратию: Ipland, Mementia, Raccoon Gang и 4IRE labs. Из больших компаний интересуются темой и экспериментируют с элементами холакратии EVO Company и Itera», — говорит эксперт.

По его словам, интерес к холакратии в Украине появился в 2016-м,когда вышел перевод на русский язык книги Фредерика Лалу «Открывая организации будущего» (Reinventing Organizations). В ней автор описал компании и подходы, которые назвал «бирюзовыми» (teal). Интерес усилился, когда летом 2016-гороссийский «Сбербанк» сказал, что несколько его отделений уже экспериментируют c «бирюзовым подходом».

«Сейчас я наблюдаю, как нас накрывает „бирюзовая волна“ (как год назад — Agile-волна), многие организации сейчас говорят о желании построить у себя „бирюзовую культуру“, а некоторые уверены, что давно так работают. IT-компании эта волна пока обходит стороной», — рассказывает Сердюк.

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

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

Запрос на холакратию, рассказывает Сердюк, есть у компаний, которые хотят быстро вырасти и не потерять при этом культуру свободы и самостоятельности (Ipland); стремятся дать сотрудникам больше свободы и реализовать как можно больше их инициатив (Itera); просто считают такой подход к ведению бизнеса правильным (EVO, 4IRE labs).

Кроме того, установка холакратии требует некоторого «запаса прочности», поэтому перед экспериментом компании стоит убедиться, что такой запас у нее есть.

4IRE labs

Максим Семенчук, партнер компании 4IRE labs, рассказал DOU, что идея внедрить холакратию пришла к ним в сентябре 2017 года, когда они захотели развивать консалтинг и продуктовое направление. «Для того чтобы получить вовлеченность (а не отработку ЗП), мы решили переоформить наши отношения с несколькими сотрудниками в партнерство. До этого у нас была четкая иерархия, и как согласовать действия независимых партнеров — для меня было вопросом. Я что-то слышал до этого про холакратию от Артема Сердюка и Димы Гадомского. Когда начал изучать дальше, понял, что это то, что нужно для компании в целом», — рассказывает он.

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

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

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

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

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

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

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

Raccoon Gang

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

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

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

«Неоспоримый плюс — процесс решения теншенов (чувство разрыва между текущей реальностью и возможным потенциалом) убирает субъективное из наездов. Люди плюс-минус научились решать вопросы конструктивно. Даже если не охота внедрять холакратию полностью, то Integrative Decision Making process советую попробовать всё равно», — рассказал он.

EVO

Виктор Кириченко, сulture and organizational transformation leader EVO рассказал, что их компанию заинтересовали отдельные полезные практики, максимум 60-70%от того, что обычно входит в «Конституцию холакратии». «Почему они привлекли наше внимание? Наверное, потому, что у нас есть „боли“ (и мы видим процессное решение своих проблем через элементы холакратии), а также потому, что некоторые вещи нам близки по духу. Например, у нас достаточно автономное принятие решений. Артём Сердюк рассказывал показательную историю, которую ему поведали наши партнёры или клиенты. „Обычный маркетолог EVO“ за несколько часов самостоятельно решил с ними вопрос, решение которого в других компаниях обычно согласовывают с маркетинговым директором и затягивают на несколько дней. Любой сотрудник нашей компании не удивился бы, услышав эту историю, ведь мы так работали еще задолго до того, как узнали слово „холакратия“», — говорит он.

Первые серьезные шаги в EVO сделали больше двух лет назад — провели децентрализацию на организационном и финансовом уровнях.

«Наши проекты (prom.ua, bigl.ua, kabanchik.ua, crafta.ua, shafa.ua, vchasno.ua, zakupki.prom.ua) работают как отдельные бизнесы. У них свои бюджеты, в рамках которых они имеют максимальную автономию. Есть, конечно же, board, и с ним команды проектов обсуждают планы по важным задачам или большим тратам, таким как запуск рекламной кампании. Но это произошло не сразу, и автономию каждый проект в своё время „заслужил“. Команды показали директорам, что могут сами принимать решения, полностью нести ответственность результат, и их не нужно микроменеджить», — говорит Кириченко.

Дальше, по его словам, был психологически-организационный сдвиг в головах у директоров, топ-менеджеров и команд. «Одним нужно было перестать микроменеджить и научиться „отпускать руль“, а другим — комититься и деливерить результат, не ожидая, что в случае факапа или возникших сложностей „придёт папка, вытрет им сопли и скажет, что надо делать“», — рассказывает он.


Не все украинские компании решили использовать «Конституцию холакратии» на 100%. Однако главным достижением каждая из них считает перемены в мышлении сотрудников. У них появляется больше ответственности, инициативы и влияния на общий результат действия компании.

Свобода, ответственность и высокая зарплата: Дмитрий Очеретяный о работе в Netflix

$
0
0

До переезда в США Дмитрий Очеретяный работал в Ciklum и Luxoft, а в Америку попал по студенческой визе, поступив в International Technological University. С апреля 2017 года он работает в компании своей мечты — Netflix. В интервью Дима рассказал про особенности прохождения собеседований в Кремниевой долине, корпоративную культуру Netflix и принципы, которыми руководствуются сотрудники.

— Компания Netflix была для тебя не первым местом работы в Штатах. Расскажи, что было до нее?

В 2015 году меня подавала на визу H1B небольшая харьковская компания. Моя заявка выиграла лотерею, но визу не дали из-за каких-то ошибок в документах. Я уже сидел на чемоданах, собирался ехать работать во Флориду, где находился американский офис. И когда все отменилось, мы с женой, конечно, очень расстроились. Но тут мой приятель рассказал, что есть одна неочевидная возможность все-таки попасть в Штаты. По его совету, я подал документы на поступление в International Technological University, который находится в Кремниевой долине в городе Сан-Хосе. Меня приняли, я получил студенческую визу F1, и мы переехали.

Обучение на полуторагодичной магистерской программе Computer Software Engineering стоило около 24 тысяч долларов. Потребности в американском образовании у меня, в общем-то, не было. Привлекло то, что во время учебы можно было найти стажировку по специальности в компаниях, которые заключают договор с университетом, и таким образом начать работать. Очень быстро мне удалось устроиться в стартап ACME Technologies, и я начал совмещать работу на полный день с учебой по вечерам в будние дни и иногда на выходных. Я проработал в компании больше года на довольно скромной зарплате. Это были совсем не те деньги, которые я бы мог получить, имея рабочую визу или грин-карту. Чтобы сэкономить, мы с женой поселились у ребят из Украины, которые сдали нам комнату в своем доме в Саннивейле. Зато компания выступила спонсором моей заявки на H1B визу.

— А что с учебой? Ты получил диплом?

Да, я закончил программу. После десяти лет работы в индустрии особых инсайтов во время учебы я не получил. Учиться было легко. Единственное, что нужно было вспомнить, касалось теоретической методологии и вещей, связанных не с computer science, а с разработкой. Они редко используются на практике, особенно, если не занимаешься проджект-менеджментом. Финальный проект — написание кода — занял у меня совсем немного времени, потому что тема была мне интересна. Больше всего потрудиться пришлось над подготовкой документации и презентации этого проекта.

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





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

Я начал ходить на собеседования через пару месяцев после получения H1B. Меня интересовали только крупные компании, а главной целью было устроиться в Netflix. В своей работе я много использовал opensource-продукты Netflix для построения микросервисной архитектуры. Мне в целом импонировал их подход и нравилось то, как развивается компания. Чтобы подготовиться к интервью в Netflix, я тренировался, проходя собеседования в самые разные компании, даже те, где я совсем не планировал работать. Это как в спорте — чтобы показать хороший результат в ответственный момент, нужно прийти к нему на пике формы. Я разместил свои резюме на Hired и Indeed Prime, и со мной стали связываться очень много компаний. В итоге, получил три оффера — от Google, Atlassian и Netflix.

— Отличаются ли интервью в разных компаниях или структура одна и та же?

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

Нужно понимать, что процесс интервью здесь значительно отличается от реалий, к которым привыкли украинские разработчики. Я иногда читаю на DOU, как программисты обсуждают, что они не хотят тратить свое время на то, чтобы доехать в офис к потенциальному работодателю, и возмущаются тем, что нельзя пройти все собеседования по телефону. Это, конечно, забавно, с таким подходом в США работу не получишь. Я, например, ездил в Техас на собеседование в Indeed. Оно длилось с 9 до 17 с перерывом на обед. Учитывая, что я «сова», а временная разница с Калифорнией — 2 часа, можно представить, как непросто мне пришлось. Но это правила игры, их или принимаешь, или не играешь.

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

В Netflix все наоборот: ты проходишь собеседования с людьми, с которыми будешь работать, и в конкретное подразделение. Там нет четких правил, как проводить интервью и что нужно выяснять, в отличие от Google. Каждая команда сама решает, что ей важно проверить у кандидата. В моем случае собеседование было очень похоже на гугловский стандарт: задачки, архитектура и т. д. Кроме того, большое внимание на интервью уделяется culture fit. Еще на этапе скрининга с рекрутером его задача выяснить, сможешь ли ты работать в режиме отсутствия микроменеджмента. Готов ли кандидат к тому, что ему не будут сверху спускать маленькие задачи? Потому что в Netflix нет такого, чтобы тебе на спринт расписали задачи, чтобы ты делал эстимейты. Если на собеседовании выяснится, что кандидату нужен микроменеджмент и четкий список задач и сроков на каждый спринт, то, скорее всего, такой человек компании не подойдет.

Я до сих пор не знаю, через какой из путей мне удалось пробиться на интервью в Netflix, потому что я пробовал разные варианты. Я находил рекрутеров компании в LinkedIn и писал им, отправлял резюме через сайт, ходил на митапы в Netflix, там знакомился с ребятами, брал контакты и потом писал им. Поэтому когда меня позвали на собеседование, я так и не понял, что именно сработало. С Google было проще, потому что там работает мой друг, который меня и зареферил. Рекомендация — это самый действенный способ попасть на собеседование в крупную компанию в Долине.

— Насколько простой процесс смены работодателя по H1 визе?

До марта 2017 года действовал премиум процессинг для трансферов на этой визе, который занимал 2-3 недели,но как раз когда я переходил в Netflix, его отменили, и я ждал свое подтверждение 3 месяца. В это время я уже приступил к работе на свой страх и риск. Если бы документы не одобрили, мне нужно было бы тут же уйти. Но никаких проблем, к счастью, не возникло. Единственное неудобство было связано с невозможностью съездить в Украину, пока шло рассмотрение, потому что когда ты находишься в этом процессе, есть вероятность, что тебя на обратном пути не впустят в США. Осенью, кстати, премиум процессинг возобновили. Я подозреваю, что такая приостановка была сделана, чтобы больше времени уделить рассмотрению новых заявок на H1 визы. По моим личным статистическим наблюдениям, основанных на результатах лотереи этого года, которые я знаю от друзей или знакомых, было выдано больше виз продуктовым компаниям, а бодишопам досталось меньше. И я предполагаю, что это было негласное распоряжение сверху.

— В каком именно подразделении Netflix ты работаешь?

У Netflix существует огромное количество рекламных продуктов, позволяющих пользователям узнавать о фильмах и сериалах, доступных к просмотру, а также о предстоящих новинках. Это, например, всевозможные трейлеры и постеры, которые пользователь видит на главной странице системы (и не только там, конечно же). Также сюда входят, например, короткие описания к видео. Мы называем эти дополнительные материалы supplementals. Они есть у каждого фильма, сериала и шоу на каждом языке, доступном на нашей платформе, и в мультиформатах, так как Netflix можно смотреть на многих устройствах (приставки, компьютеры, планшеты, смартфоны, smart TV). Кроме того, для одного промо могут быть созданы разные варианты постеров и трейлеров, которые будут демонстрироваться пользователям в зависимости от их предпочтений. Например, для тех, кто часто смотрит комедии, или для тех, кто предпочитает романтические фильмы.

Если управлять вручную планированием, созданием, тестированием и размещением supplementals, это бы занимало очень много времени и требовало немало человеческих ресурсов. Поэтому в компании существует автоматизированная система для оптимизации этого трудоемкого процесса. Я как раз работаю в подразделении, которое занимается вопросами delivery всего, что существует вокруг контента.

Все митинг-румы в офисе Netflix посвящены фильмам или сериалам

— Расскажи о том, как организована работа внутри команды, какая иерархическая структура в ней действует и как происходит взаимодействие с менеджментом?

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

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

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

— В Netflix не ведется учет отпусков, выходных и больничных. Как на практике действует политика unlimited vacation?

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

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




— Какую медицинскую страховку предоставляет компания?

Netflix не оплачивает страховку, сотрудник получает 15 тыс. долларов в год сверху своей зарплаты на медицинские расходы и эти деньги тратит на свое усмотрение. Можно купить страховку у тех компаний, с которыми у Netflix есть договор, цена за нее будет значительно ниже, чем на рынке. Это сделано, чтобы сотрудник видел, сколько он стоит компании.

Этот же принцип действует и в других сферах. Например, сотрудники могут в офисном магазине бесплатно брать различные товары с символикой Netflix, но на каждом будет ценник. Тоже самое с техникой для работы. В офисе есть специальные шкафы, где лежит все, что может понадобиться: наушники, клавиатуры, мышки, мониторы и т. д. Можно брать все, что хочешь, но там тоже на всем есть цена. Если чего-то нет, то нужно отправить запрос в технический отдел, тебе это без вопросов доставят. Или можешь купить это за свои деньги, потом расходы возместят. В компании призывают «действовать в лучших интересах Netflix». Бюрократия отсутствует, никаких ограничений по сумме таких затрат нет.

— Есть ли шанс у ребят из Украины, отправив резюме в Netflix, получить приглашение на интервью? Спонсирует ли компания визы H1B?

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

— Правда ли, что в Netflix одни из самых высоких зарплат в индустрии, и при этом в структуре зарплаты нет акций, только «живые» деньги?

Думаю, что если взять статистику по зарплатам, то действительно Netflix будет, скорее всего, на первом месте. Сейчас он соревнуется по этим показателям с Facebook и некоторыми продуктами в Amazon, так я предполагаю. В отличие от многих компаний в Долине, в оффере от Netflix нет акций, указана только та сумма до налогов, которую ты получаешь раз в две недели. Такая политика объясняется тем, что поскольку сотрудники не могут влиять на колебания курсов акций, то они не должны получать меньше, если акции вдруг упадут.

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

Netflix дает возможность купить опционы компании: берется 40% от цены акции и по этой стоимости тебе выделяют опционы в количестве 5% от зарплаты за год. Например, на каждые 100 тыс. зарплаты при цене акции в $200 тебе дадут 62 опциона в год как дополнительный бонус, абсолютно бесплатно. Если хочешь больше опционов, то любую часть зарплаты до налогов можно направить на их покупку за те же 40% цены акции. Если хочется не опционы, а акции, то, конечно же, можно просто пойти на биржу и купить их. Единственное ограничение в том, что мы как сотрудники не имеем права в определенные периоды торговать акциями, чтобы избежать спекуляции, потому что нам может быть доступна какая-то инсайдерская информация.

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

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

В Netflix часто проводятся как внутренние, так и внешние митапы

— Не приводит ли такой подход к тому, что в Netflix идут в основном из-за денег?

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

В Netflix есть другой нюанс: если ты пришел из-за денег, а работаешь плохо, то будешь очень быстро уволен. Раньше люди вылетали каждую неделю, не справляешься — до свидания, сейчас стало не так строго, но все же. Если ты один раз допустил ошибку, тебя, конечно, не уволят. Но если ты не сделал выводов и налажал во второй раз, никто не будет с тобой долго разговаривать. Идея в том, что все могут ошибаться. Главное, признавать ошибки и делать выводы, стараясь не допустить подобных промахов в будущем. Я слышал, что в других компаниях для того, чтобы уволить человека, нужны очень веские причины. История из сериала «Кремниевая долина», когда чувак в Hooli сидит на крыше, получает 600 тыс. долларов и ничего не делает, — это утрировано, конечно, но доля правды есть. Но в Netflix совсем другой подход. При этом выплачивается отличное выходное пособие — до 4 зарплат, кажется. Я точно не знаю, и пока нет желания это проверять.

Советы сеньоров: как прокачать знания junior Data Scientist

$
0
0

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

Богдан Павлишенко, Data Scientist у SoftServe

Канд. фіз.-мат. наук, доцент факультету електроніки та комп’ютерних технологій ЛНУ ім. І. Франка

Область Data Science є дуже широкою, її важко відразу охопити на високому рівні. Тому для початку важливо вибрати один із напрямків цієї сфери знань. Найкраще вибрати той напрям, який ближчий до поточних завдань, що вирішуються у вашій компанії.

Початківець і досвідчений Data Scientist часто майже не відрізняються у розмовах та дискусіях про Data Science. Інколи початківець виглядає ефектніше, жонглюючи термінами та поняттями. Основна відмінність між початківцем та досвідченим фахівцем визначається саме досвідом, який проявляється у деталях реалізації тих чи інших алгоритмів та підходів. Замовникам інколи важко визначити реальний кваліфікаційний рівень фахівця, тому важливі об’єктивні показники його кваліфікації.

Поділ на сеньорів та джуніорів є умовним. Такі звання надають керівники поточних проектів, де працює фахівець, і часто буває, що інших об’єктивних підстав для таких звань немає. Data Science здебільшого належить до наукової області, тому одними із об’єктивних критеріїв кваліфікації є публікації у фахових наукових виданнях, наукові ступені, виступи на конференціях, презентації власних кейсів та підходів в області аналізу даних, рейтинги на відповідних змаганнях з аналізу даних.

Досвід у сфері Data Science приходить не в процесі теоретичних роздумів, а в першу чергу в процесі розв’язку та реалізації складних багаторівневих проектів, пов’язаних із аналізом даних. Data Scientist повинен поєднувати у собі як розуміння методів та алгоритмів, так і вміння самостійно реалізовувати всі свої задуми програмними засобами, хоча б у вигляді прототипу, що працює на реальних обсягах даних.

Декілька слів про змагання у сфері Data Science. Однією із найпопулярніших платформ таких змагань є сайт kaggle.com. Відомі світові компанії пропонують свої завдання з аналізу даних, прогнозної аналітики, розпізнавання образів. У більшості змагань є призи для переможців. Однак більшість учасників бере участь, у першу чергу, щоб ознайомитись із передовими підходами в аналізі даних, а також отримати високі місця у таблицях лідерів за результатами змагань, щоб підкреслити свій високий кваліфікаційний рівень. У одному із таких змагань (Grupo Bimbo Inventory Demand) команда, учасником якої я був, отримала перше місце (із нашим розв’язком можна ознайомитись тут).

Усім Data Scientists я рекомендую брати участь у таких змаганнях. Це суттєво підвищує майстерність та кваліфікацію в області аналізу даних. Деякі Data Scientists скептично ставляться до участі у таких змаганнях, мотивуючи це тим, що вони, серйозні спеціалісти, займаються складними та важливими проектами і не мають часу на олімпіадні задачки. Також дехто підкреслює, що рішення на таких змаганнях не підходять для практичної реалізації, оскільки на змаганнях боротьба йде за малі частки точності, і на практиці нібито це неможливо використати. На мою думку, це не так. На таких змаганнях Data Scientist вчиться працювати з реальними даними, вивчає та тестує нові підходи до аналізу та прогнозування. Отриманий високий результат свідчить про високу майстерність учасника. Хочу сказати, що такі змагання вимагають великої віддачі. Вони значною мірою поглинають розумові ресурси, однак також суттєво піднімають кваліфікаційний рівень.

Щодо програмних засобів, я рекомендую використовувати мови R та Python. Мова R має експертний рівень, в першу чергу, за рахунок великої кількості доступних аналітичних пакетів, які можна підключити до аналізу. Мова Python, на мою думку, має певні переваги в реалізації продуктів та їх інтеграції із існуючими прикладними системами. На мові R зручно працювати у середовищі R-Studio, а на Python — у середовищі Jupyter Notebook. Для для роботи з Python зручно інсталювати збірку пакетів Anaconda, яка включає у себе основні пакети для аналізу даних та прогнозної аналітики. Якщо ви плануєте працювати з нейронними мережами, то необхідно мати потужні графічні карти, які потрібні для тренування нейронних мереж. Однак для навчальних цілей на початковому етапі достатньо ноутбука середнього класу. Для складіших задач можна використовувати хмарні ресурси, наприклад, Amazon AWS.

Артем Чернодуб, Chief Scientist в Clikque Technology

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

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

Вариантов вхождения может быть несколько. Во-первых, можно устроиться на младшую позицию DS/ML в большую IT-компанию, которая занимается AI, например, Grammarly, Ring, ELEKS. Это очень хороший вариант для развития не только потому, что можно делать «earning & learning», но и для получения знаний и навыков, как в реальной жизни алгоритмы AI работают, тестируются и деплоятся.

Во-вторых, можно попробовать академический вариант: поступить в магистратуру или аспирантуру хорошего университета, лучше зарубежного. Если вы в настоящее время еще студент и хорошо учились на математической специальности, то это вполне можно попробовать. Могу порекомендовать немецкую программу академического обмена DAAD. Из наших вузов советую обратить внимание на магистерскую программу Data Scienceот Украинского католического университета, к которой я тоже имею небольшое отношение.

В-третьих, можно участвовать в AI-митапах, конференциях, хакатонах и бесплатных курсах, анонсы которых регулярно размещаются в том числе и на DOU. Среди больших конференций я бы выделил Data Science Labв Одессе и AI Ukraineв Харькове, которые проходят каждый год. В Киеве также есть очень энергичное и бесплатное движение Ukrainian Data Science Club. Среди курсов для начинающих я бы выделил бесплатные курсы от ARVI Lab, которые уже прошли, и бесплатные курсы от Genesis, которые еще пройдут. Кроме того, в последнее время проводятся хакатоны по теме AI, усилиями в том числе Hackathon Expert Group. В фейсбуке есть уже многочисленная группа Ukrainian Artificial Intelligence Community.

В общем, варианты есть. Найдите своих «собратьев по разуму» и пробуйте делать что-нибудь интересное, практическое (бесплатный рецепт базовой системы распознавания: взять немного нейросетей, порезать кубиками с ребром 1 см, бросить в кипящую соду и обучать до готовности). Не стесняйтесь гуглить, читать пейперы и экспериментировать — ваши усилия обязательно окупятся новыми знаниями!

Сергей Шельпук, Head of Data Science Office в ELEKS

Беседуя с кандидатами, мы обычно говорим, что есть два пути карьеры, связанных с анализом данных: условный Research&Development и условный Implementation&Consulting.

В R&D вы будете работать с наиболее новыми технологиями и state of the art моделями, но 95% вашей работы пойдут «в стол» и никогда не выйдут в мир. В I&C непосредственно моделирование будет занимать у вас, быть может, 20% времени, и большинство моделей, с которыми вы будете работать, будут известны и хорошо изучены. Но результаты вашей работы люди будут использовать в своей повседневной жизни.

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

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

Если вы целитесь на I&C, важным будет понимание работы бизнеса, функций компании и экономических показателей. Вам нужно будет уметь общаться с бизнес-людьми, понимать их и формулировать проблемы в абстракциях моделей анализа данных. Знать в общих чертах архитектуру информационных систем, технологии Big Data и уметь писать production-ready компоненты.

Валентин Кропов, Engineering Director в SoftServe

Основатель GeekSpeaks.Club и Kyiv Big Data Community, 17 лет опыта в IT, 7 лет — в области Big Data

Я проработал несколько лет руководителем направления Big Data в SoftServe, поучился у самых именитых архитекторов Калифорнии в компании Cloudera, основал наибольшее сообщество Big Dataв Восточной Европе, поучаствовал как инструктор и ментор в двух школах больших данных от компании Киевстар, провел десятки докладов и воркшопов на тему Data Science и Big Data и, наконец, основал школу GeekSpeaks.club. Одним из основных моих занятий последние несколько лет было обучение и менторство инженеров в области Big Data и Data Science.

Ниже я приведу несколько основных советов, которые пригодятся юным и не совсем еще окрепшим умам молодых Data Science инженеров.

Жертвуйте теорией ради практики

Выбирая онлайн или офлайн курс обучения, обращайте внимание на количество практики, ее должно быть не менее 50%, иначе вы теряете свое время. Теория усваивается только частично и достаточно быстро забывается.

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

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

Конкурентоспособность: научитесь решать проблему целиком

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

В этом году я и еще трое моих коллег выступали лекторами в Kyivstar Big Data School,куда было отобрано около 20 человек из 700. Это значительно больше, чем в прошлом году. Масштаб конкуренции впечатляет.

Так чем же вы будете отличаться от других Data Science инженеров?

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

«Золотая» предметная область

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

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

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

Оставайтесь голодными

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

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

Александр Кондуфоров, Head of Data Science Department в AltexSoft

4 года опыта в Machine Learning / Data Science. До этого 8 лет опыта в разработке ПО и архитектуре

Data Science — относительно молодая специальность, которая образовалась на стыке программной инженерии, математики и аналитики данных и еще не до конца сформировалась в наши дни. Работа, которую выполняют люди в роли Data Scientist в разных компаниях, может радикально отличаться: быть более аналитической или инженерной, использовать структурированные или неструктурированные данные, заключаться в использовании существующих алгоритмов или же создании новых и толкании границ state-of-the-art. В зависимости от рода бизнеса или продукта, вы можете копаться в данных пользователей, обучать нейросети распознавать объекты на дороге или лица на фотографиях, работать с ДНК и результатами медицинских исследований, анализировать и предсказывать спрос на товары или даже пытаться найти бозон Хиггса. Вариативность задач настолько велика, что, к сожалению, здесь нет какого-то универсального рецепта, какой именно инструментарий и алгоритмы изучать, но я постараюсь дать какие-то общие советы.

Во-первых, Data Science — это всё-таки так или иначе про математику. Алгоритмы и подходы базируются в том или ином виде на дифференциальном и интегральном исчислении, матстатистике, линейной алгебре и дискретной математике. Нельзя сказать, что без хорошего знания этих областей вы не сможете обучать свои нейросети, но в какой-то момент вам придётся углубиться в теорию и вы можете надолго там зависнуть над формулами. Если вы хотите подтянуть математику, есть довольно много онлайн-курсов на Coursera, Udacity, edXи других ресурсах, а также всегда можно обратиться за персональным обучением в ближайший университет.

Второй базовый инструмент в рабочей сумке Data Scientist’а — это язык программирования. Если вы занимаетесь исключительно анализом данных и построением несложных моделей, то вам может хватить и какого-нибудь визуального инструмента, но большинству специалистов всё-таки понадобится знание языка или даже нескольких. И здесь возникает вопрос: какие языки изучать? Как минимум вам понадобится R или Python для быстрого анализа данных и моделирования, как максимум — С++, Java, C# или любой другой язык общего назначения для внедрения вашей предсказательной модели или алгоритма в продукт. Хотя иногда внедрением занимаются программисты, а Data Scientist занимается только моделированием, ваши способности по имплементации алгоритма в готовое решение (даже в виде простого Python веб-сервиса) могут сильно добавить вам очков в компании. Что касается извечного спора «R или Python?», лично я бы рекомендовал изучать Python. R очень хорош для статистического анализа данных, препроцессинга и визуализаций, но последнее время начал отставать в вопросах «тяжелого» машинного обучения, особенно если речь заходит о работе нейронными сетями, не говоря уже про его плохую готовность к production.

Третий очень важный кусочек пазла — это статистический анализ данных и машинное обучение. Это тот фундамент, который вам 100% пригодится в работе в том или ином виде. Чем лучше вы будете знать достоинства и недостатки разных алгоритмов, моделей и подходов, тем быстрее вы будете достигать нужного результата, не тратя время на тупиковые пути. Вариантов изучать анализ данных и машинное обучение очень много, я бы посоветовал вам обратить внимание на всё те же онлайн-курсы и книги. Если же вам хочется личного общения, могу порекомендовать курсы Lviv IT School, Master Code и, конечно, магистерскую программу УКУ.

Если говорить об общении с единомышленниками, то отдельным пунктом надо отметить конференции и митапы по AI/DS тематике. В Украине уже сформировалось довольно много региональных групп и ежегодных конференций. Боюсь кого-то забыть, но навскидку можно обратить внимание на конференции EECVC, AI Ukraine, Data Science Lab Odessa, AI & Big Data Lviv,Data Fest Kyiv, Data Science UA, AI Rush, DS трек Lviv IT Arenaи многие другие. Более-менее полный список мероприятий можно найти на DOU Календарьпо тегам AI и Data Science. Если же вы хотите посетить академическую конференцию, то смотрите в сторону международных NIPSи ICML.

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

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

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

  • Если вам посчастливилось работать со сложными неструктурированными данными, например, текстами, звуками или изображениями (видео), то вам придется сделать дополнительный шаг в сторону и углубиться в Natural Language Processing, Digital Signal Processing и Computer Vision. Для этих типов данных и задач, связанных с ними, существует большой дополнительный список алгоритмов и подходов.
  • Если вы занимаетесь программированием интеллектуальных агентов и роботов, играющих на бирже программ, либо же пытаетесь научить компьютер играть в игры — вас ждет изучение еще одной непростой области — Reinforcement Learning.
  • Пожалуй, отдельным пунктом стоит вынести Deep Neural Networks, которые развиваются сейчас семимильными шагами. Существует несколько популярных фреймворков, и хотя бы один из них придётся изучать: TensorFlow, Caffe, Torch/PyTorch.
  • И, наконец, если у вас большие данные, вам придется научиться работать со Sparkи его библиотеками типа MlLib, GraphX, а также инструментами для работы с потоковыми данными и распределенными базами данных.

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


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

DOU Hobby: Театр огня — вау-эффект укрощения стихии

$
0
0

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

Антон Обертинский — Front-end разработчик в компании Exadel, а также фаерщик с 6-летнимстажем. Антон руководит собственным театром огня Fiery Dream: команда регулярно выступает на праздниках, показывая горячее шоу с огненными спецэффектами.

— Антон, как вы заинтересовались огненными шоу? Чем привлекло это искусство?

С огненными шоу я познакомился 7 лет назад на одном из роллер-фестивалей. В то время я был очень увлечен роллер-спортом, style slalom на роликовых коньках. Участвовал в профессиональных соревнованиях, регулярно посещал тематические фестивали и движения. И периодически на масштабных тусовках выступали роллеры-фаерщики.

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

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

— Как и где учились трюкам?

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

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

Помимо этого, собирались на общие покрутоны — собрания фаерщиков для обмена опытом.

— Сколько времени требуется, чтобы достичь мастерства?

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

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








— Насколько затратно увлечение огнем?

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

Одним словом — дорого, опасно и нерентабельно. Но если это дело красиво подать и попробовать продать, может получится неплохой источник дополнительного дохода. Мы за одно выступление нашей команды берем 4-10 тыс.грн.

— Как вы пришли к формированию собственного театра? Как часто и где выступаете?

У меня еще с детства есть опыт выступлений на аматорских концертах. Музыкальная школа, танцевальная студия — никогда не думал, что когда-то в жизни это все может пригодиться. Супруга в свою очередь — профессиональный артист балета. Так что художественный опыт был. А освоив технические навыки работы с огнем, можно пробовать формировать коллектив и начать выступать на коммерческой основе — это мы и сделали. Так появился Винницкий театр огня Fiery Dream.

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

— За что именно вы отвечаете в театре?

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

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

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

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

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

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

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

Надо постоянно быть в хорошей форме. Весь реквизит — металлический и тяжелый. Динамические манипуляции с ним требуют постоянного напряжения и крайне изнуряют. Первое время после 10 минут работы руки просто отваливались. После долгих тренировок мы можем отработать подряд 3-4получасовых шоу-программы.

— Высока ли вероятность получить ожог?

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

— Развито ли в Украине движение фаерщиков? Много коллективов?

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

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

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

Не стоит уходить только в техническую сторону. Развивайтесь разностороннее — и в плане хореографии, и в актерском мастерстве. И никогда не экономьте на реквизите и топливе.

— Какие у вас планы на будущее, связанные с огненными шоу?

Планы на самом деле грандиозные :) Но пока будем держать всех в интриге и радовать новыми шоу-программами на наших выступлениях.

DevOps дайджест #17: новогодний

$
0
0

В выпуске: тренды, паттерны, микросервисы, оркестрация. Netflix, Stack Overflow, Mesos, Kubernetes, gRPC, Envoy! Давайте полезно проведем выходные!

Если у вас нету контейнеров, то хосты живут в несколько раз дольше

Интересно почитать на выходных

8 emerging trends in container orchestration
Разные тренды и графички связанные с оркестрацией: кто больше, выше, сильнее. Например, если вы в AWS — со скорее всего используете ECS, а если нет — то Kubernetes. Или если у Вас Docker, то 50% что вы используете тот же Kubernetes.

Average lifetimes of hosts
В общем — Kubernetes, Kubernetes, Kubernetes!

Codebases — millions of lines of code
Интересные графички, которые показывают размер репозитория в строках кода. Вот вы знали, что репозиторий современного Firefox в 2 раза больше Linux Kernel 2.6.0? Или что Apache Open Office в несколько раз больше Android? Ну и конечно, лидер этой всей движухи там тоже есть.

Microservice architecture: all the best practices you need to know
Мартин Фаулер был бы доволен! Годнота с отличными иллюстрациями. Можно вынести несколько полезных уроков и перестать лепить микросервисы там, где это не нужно.

Inside Docker’s «FROM scratch»
Это очень крутая штука, про которую, как я заметил, не все знают. Суть в том, что можно создать абсолютно пустой контейнер (даже без busybox) и положить в него уже готовый бинарник. В результате мы получаем супер легковесный контейнер и ваще просто мегаскорость! Ну и понятно, что всякие там Go отлично подходят.

Увеличиваем вендор лок, забиваем на безопасность и тратим больше денег

2018 and the Internet: our predictions
Немного предсказаний от Cloudflare по поводу нашего с Вами будущего.

How Sentry Receives 20 Billion Events Per Month While Preparing to Handle Twice That
Почитайте, как там все работает у этих ребят. Почти везде мне приходилось видеть Sentry. Отличная штуковина.

Netflix: What Happens When You Press Play?
High Scalability всегда отличались годнотой контента для своей подписоты. В статье можно узнать, что же там происходит под капотом у Netflix. А они, как мы знаем со статей на DOU, платят очень хорошие деньги.

Google trends: k8s красным, mesos синим

Полезно потыкать на выходных

What does Apache Mesos do that Kubernetes can’t do and vice-versa?
Ну вот просто царский ответ на вопрос! Думаю, сам Дмитрий Лавриненко не ответил бы лучше. Для тех, кто не сильно в теме, ответ поможет подготовиться к собеседованию.

Evolution of the EC2 Network Performance: m3, m4, and m5
Буквально пару недель назад на очередном re:Invent AWS анонсировали новый тип M инстансов: m5. В статье описаны улучшения с точки зрения сети — в кучу раз по сравнению с прошлыми версиями. Кстати, рекомендую посмотреть в их сторону — увеличилась производительность, и это хороший триггер, чтобы запустить Cost Optimization процесс для своей инфраструктуры.

50+ Useful Docker Tools
Статья из серии «хочу увлекательные выходные». Если нечего делать — заходи по ссылке, выбирай новую непонятную тулзу и гоу имплементить! С наступающими праздниками!

Оказывается gRCP немного быстрее, чем http & json

Getting Started with Microservices using Go, gRPC and Kubernetes
Еще одна увлекательная полезность! Таки за пару часов можно потыкать эти все крутые и модные штуки с gRPC и добавить их в свой стек. А кто еще будет полезно проводить эти новогодние выходные?

Our Move to Envoy
Ребята использовали nginx как прокси, а потом задали себе резонный вопрос: «Хм, а зачем?». Тем более, что в CNCF уже есть отличное решение для этой задачи: Envoy. Среди плюсов — легкость управления, расширяемость, куча протоколов, сервис дискавери и еще много всего. В общем, можно взять с них пример и сделать у себя.

dockerspec
Как понятно из названия — это о тестировании для Docker. Если конкретнее, то это gem для тестирования Dockerfile и инициализации контейнеров. В принципе ничего особо нового, кроме адаптации тестирования под Docker. Достаточно сомнительная штука, но должна зайти и помочь для dev окружений и для команд, которые пишут на Ruby. Может вам тоже будет полезно?

How Etsy caches: hashing, Ketama, and cache smearing
Познавательная история о memcached и Varnish, стратегиях кеширования и ketama, как реализации. Очень интересно описано, как им удается снизить нагрузку на узлы своей системы с помощью такой связки.

Architecting a Highly Scalable Golang API with Docker Swarm & Traefik
Это тоже можно поделать на выходных. Для начинающих, но интересно!

Kured — kubernetes reboot daemon
Если тебе понадобиться это юзать — то я приношу свои глубочайшие сожаления и понимание! Лучше, конечно, чтобы не пригодилось, но если что — то можно юзать.

Managing costs on Amazon Web Services
Один из вечно живущих и всегда актуальных трендов — это Cost Optimization. В статье описаны основные практики для уменьшения чеков. Думаю, это очень понравится вашему руководству и даже потянет на премию!

Полезно сходить и потусить

Kubernetes Kyiv #4: Kubernetes in real life
Надеюсь в этот раз у нас таки получится собраться!)

To-Do List к следующему дайджесту

  • ребят, такое дело
  • to-do листа не будет!

Заключение и выводы

Для меня этот год был очень продуктивным и насыщенным! Среди топовых событий можно выделить выступление на Highload fwdays (это было очень стремно, но чертовски круто) и мою новую семью — MacPaw.

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

Среди публичных целей на следующий год:

  • провести отпадный DevOps митап и позвать всех вас;
  • зарелизить DevOps factors (это как The 12-Factor App);
  • выпустить парочку фан-туториалов на Youtube.

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


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

Ruby/Rails дайджест #13: главные события в мире Ruby on Rails в 2017 году, а также релиз версии Ruby 2.5.0

$
0
0

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

ТОП 2017

19 Ruby on Rails Gems Which Can Amaze — в этом году команда Rubyroid порадовала подборкой самых интересных Ruby гемов, которые стоит знать самым креативным разработчикам.

SOLID Object-Oriented Design Principles with ruby Examples — наша команда RubyGarage очень постаралась и сделала туториал по принципам SOLID с примерами на Ruby.

Ruby 2.5 series from Big Binary — в этом году вышла новая версия Ruby 2.5, предлагаем повторно ознакомиться с подробным циклом обзоров новых методов в блоге Big Binary.

Ruby on Rails Web Application Vulnerabilities: How to Make Your App Secure — статья от нашей команды RubyGarage, в которой рассматриваются уязвимые места RoR приложений, а также способы, как улучшить их защиту.

Best Ruby & Ruby On Rails Books in 2017 — перечень лучших книг Ruby и Ruby on Rails, курсов, видеороликов и учебных пособий 2017 года, которые помогут изучать Ruby и Ruby on Rails.

В этом году RubyConf 2017 была полна на события и яркие впечатления, о чем подробно можно узнать из серии обзоров от James Thompson:

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

RedDotRubyConf 2017 — видео выступлений с конференции RedDotRubyConf 2017. Среди выступающих звезды Ruby-сообщества — Yukihiro Matsumoto, Tim Riley, Aaron Patterson и многие другие.

Почитать

Big Binary

Rails 5.2 implements fetch_values for HashWithIndifferentAccess — обзор имплементации метода fetch_values для HashWtihIndifferentAccess в Rails 5.2.

Туториал из трех частей Evil Front: Modern Front-end in Rails, в котором автор расскажет о современном подходе front-end разработки с помощью Rails:

Часть 1 — evilmartians.com/...​onicles/evil-front-part-1
Часть 2 — evilmartians.com/...​onicles/evil-front-part-2
Часть 3 — evilmartians.com/...​onicles/evil-front-part-3

How Dishwashers Ruin Ruby Apps — сравнивая работу веб-приложения с работой ресторана, автор говорит о проблеме deferred work и ее решениях.

How’s Progress on Ruby 3×3?— статья о том, как разработчикам из Appfolio работается с версией Ruby 3.

Malloc Can Double Multi-threaded Ruby Program Memory Usage — автор рассказывает о решении проблемы фрагментации памяти в программах CRuby с помощью расширения malloc.

10 More New Features in Ruby v2.5 — в новой версии Ruby 2.5, которая вышла 25 декабря, появилось множество новых (и доработанных) фич. Читайте обзор десяти новых возможностей версии Ruby 2.5.

Smarter Rails Services with Active Model Modules — в статье говорится о применении service objects в качестве дополнения MVC паттерна.

Ruby Is Hiding Errors From You!— в отдельных случаях Ruby может скрывать ошибки в коде, что в итоге негативно влияет на debugging сессии. Автор демонстрирует на примерах, как можно выявлять такие вещи.

Ruby on Rails Invoicing Solutions Comparison — разработать функционал инвойсов — та еще задачка даже для опытных разработчиков. К счастью, в Rails есть множество готовых решений и вам не надо придумывать велосипед. В статье сравниваются самые эффективные гемы для invoicing-функционала.

On ActiveRecord callbacks, setters and derived data — автор рассматривает типичные ошибки при написании ActiveRecord коллбэков и приводит легко тестируемый пример их использования.

Using ruby parser and AST tree to find deprecated syntax — туториал по использованию гема Parser и AST Tree для поиска устаревшего синтаксиса.

Jekyll on Heroku — хотя изначально предполагалось, что Jekyll (генератор статических сайтов, написанный на Ruby) будет запускаться на GitHub Pages, Heroku тоже может использоваться для этих целей. Читайте пошаговый туториал по запуску Jekyll на Heroku.

Running Jekyll with Docker and OpenShift — еще немного Jekyll. В этот раз учимся запускать Jekyll с Docker и OpenShift.

Subscribing to RabbitMQ using Rails on Heroku — туториал рассказывает, как настроить подписку на RabbitMQ в Rails-приложении, развернутом на Heroku.

SWOT Analysis of Ruby on Rails — SWOT-анализ, известный каждому маркетологу: кратко говоря, в ходе анализа вы выявляете сильные стороны (strengths), слабые стороны (weaknesses), возможности (opportunities) и угрозы (threats) для продукта. Автор статьи использует SWOT-анализ для того, чтобы лучше понять наш любимый фреймворк — Ruby on Rails.

Послушать

The Bike Shed

  • 134: Fastributes — ведущие подкаста обсуждают самые интересные презентации с последней RubyConf и как ускорить распределение атрибутов в ActiveRecord с помощью Rust.
  • 135: A Series of Unfortunate Examples — в этом выпуске ведущие обсуждают возможный баг в ActiveRecord и двусмысленность лучших практик форматирования в SQL.

Ruby Rogues

  • RR339: Typical Day of a Developer — ведущие подкаста обсуждают, как проходит типичный рабочий день Ruby разработчика, а также делятся собственными методами поддержания мотивации в работе.
  • RR 340: Strings and Encodings in Ruby with Aaron Lasseigne — тема очередного подкаста The Ruby Rouges — Strings and Encondings. Кроме того, ведущие подкаста и гость выпуска Aaron Lasseigne, автор книги «Mastering Ruby: Strings and Encodings», обсуждают его работу над гемом Active Interaction.

RW Pod

Посмотреть

Reimagining 2D graphics and game development with Ruby — выступление с RubyConf 2017, на котором Tom Black презентовал свой доклад на тему создания игр и 2D графики на Ruby.

Новая подборка серии скринкастов от Go Rails за декабрь,в которой рассматривается взаимодействие Rails с фреймворком Vue.js:

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

Релизы

JRuby 9.1.15.0 Released — обзор релиза JRuby версии 9.1.15.0.

Ruby 2.5.0 Released — долгожданный релиз Ruby версии 2.5.0.


Спасибо, что были с нами круглый год: устраивали обсуждения, делились своими мыслями и поддерживали Ruby-community. В следующем году будет еще больше интересного материала. С наступающим Новым годом и Рождеством!


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

Чем недовольны украинские программисты? Глас народа 2017

$
0
0

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

Профессиональный рост

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

Главные проблемы — старые технологии, рутина и незаинтересованность компании в развитии сотрудников.

«Ніхто не опікується зростанням. Як читав для себе у вільний час, так і читаєш. І на трешовому пізньому багфіксі далеко не зростеш».

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

«Старые технологии. Работа по большей части с внутренним фреймворком».

«Компания не использует современные технологии, обучение за счёт компании получить практически невозможно».

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

«PHP на проекте. Это вряд ли можно исправить».

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

«Мой профессиональный рост, в основном, моя забота. Иногда бывают тренинги, но попасть на них тот еще квест».

«Не увидел никакого содействия относительно прогресса работников на проектах/в компании. Не увидел желания менеджмента видеть в своих рядах грамотных специалистов: более или менее толковые инженеры вымываются желанием найти более перспективное место. Существует тенденция заменять их на позициях в проектах начинающими инженерами или интернами без полезных знаний и опыта работы».

«Отсутствует линейный менеджмент. Новые задачи присутствуют на некоторых проектах и в приоритете для „старых“ сотрудников».

«Не было и нет. Присутствует политика: проще заменить, чем взрастить хороший кадр».

«Обіцяють одне, а по факту ні одної строки коду на С++. Суцільний shell scripting».

Комфортные условия труда

Оценивали, насколько в компании хороший офис, современное рабочее место, удобный график работы.

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

«Open space — и этим всё сказано. Ни шкафа, ни тумбочки. Личные вещи приходится складывать на системном блоке».

«Плотно сидим, плохое кондиционирование, нет нормальных окон, кухни (места для отдыха)».

«Офис в „совковом здании“, один лифт из двух часто не работает, вода выключается в 8 вечера. В столовой нет раковины, для того чтобы помыть посуду после еды, надо идти в туалет. В столовой почему-то держат попугаев, которые орут дурными голосами, летают и гадят повсюду».

«Мало места в комнате, крайне бюрократичная процедура одобрения заказов оборудования, в офисе холодно».

«Офис — это днище. Вентиляции нормальной нет и вечно сопливый опенспейс».

«Офис в плохом районе, питьевая вода из крана, ужасный кофе, часто нет молока на кухне, проблемы с отоплением, с парковкой, медленный PC».

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

«Множество проблем не решается годами: шум в ОС, вечно занятые переговорки, весной/осенью холодно (нет отопления), очень высокий уровень СО2 (приточную вентиляцию сделать не могут), столовая в опенспейсе (особенно „круто“ работать, когда кто-то греет рыбу в микроволновке)».

«Стены адски красного цвета, глаза выедает, перегородки между рабочими местами низкие. Холодно».

«Відсутній кавовий апарат. Було би нормально, щоб в офісі також був безкоштовний чай».

Грамотный проектный менеджмент

Оценивали рабочие отношения с заказчиком, количество овертайма и стресса, решаются ли конфликты конструктивно.

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

«Все держится на „рядовых“ сотрудниках. Менеджеры чаще всего выполняют лишь административную функцию и часто без технического бекграунда (бывшие тестеры)».

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

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

«Нет понимания обязанностей тех или иных сотрудников, которые не вписываются стандартный процес работы».

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

«Менеджеры не выполняют свои обязанности, а перекладывают их на подчиненных. Диктаторский вариант управления».

«Скоуп спринта меняется по велению левой пятки правой ноги, нет чёткой постановки задач (максимум — название таски в жире, которую нужно самому декомпозировать). Уволить всех».

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

«Отсутствует способность планировать, нет понимания целей и задач, нет системности и гибкости».

«Часто прилетают срочные задачи, из-за этого приходится жертвовать долгоиграющими проектами».

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

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

Хороший компенсационный пакет

Оценивали зарплату, соцпакет, отпуск, наличие и качество языковых курсов, корпоративов, другие «плюшки».

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

«Все корпоративные плюшки должен оплачивать клиент, сама по себе компания ничего не предоставляет».

«Нет страховки, языковые курсы в обеденное время и покрываются компанией на 50%».

«Отпуск 15 дней. Нет страховки и тому подобного».

«Бюджетні і нудні корпоративи, крім одного на Новий рік. Зарплата дуже рідко і не охоче переглядається».

«Уровень зарплат ниже среднего по рынку. Кроме того, уровень навыков сознательно занижается на собеседовании для занижения зарплат. Курсы, парковка, спортзал и налоги частично (иногда на 50%) оплачивает сотрудник. Премии отсутствуют. При увольнении требуют вернуть стоимость медстраховки».

«Менеджеры делают что угодно, чтобы урезать зп».

«Отсутствие соцпакета и языковых курсов высокого уровня. Бонусная часть зп не зависит от географии проекта. Как результат, сотрудник, который вынужден регулярно ездить в длительные командировки, никак не поощряется».

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

«Самая низкая зарплата на рынке, отпуск всего 18 дней, корпоративы без выпивки и еды».

«Рівень зп не ринковий, за рахунок відряджень все одно не отримуєш бажаного. Така політика призводить до великого відтоку кваліфікованих співробітників».

Признание результатов труда

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

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

«Повышение зарплаты происходит по офферу, бонусы не зависят от проделанной работы и бывают редко».

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

«Повышение получается только после того, как ты сказал, что уходишь».

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

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

«Компания не предусматривает пересмотр зарплаты, премия в виде 5% от зарплаты не выплачивается своевременнно, карьерный рост не предусматривается».

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

«Нету похвалы со стороны начальства или понятия, что для них будет круто или что они хотят».

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

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

Коммуникации с руководством

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

Сотрудники все еще ждут более четкой постановки задач, своевременного фидбека, а также прямой доступ к руководству.

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

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

«Взагалі немає ніякої комунікації з менеджментом».

«Руководство и сотрудники живут в разных мирах. Чаще всего руководство либо не знает о проблемах, с которыми сталкиваются сотрудники, либо прикидывается „дурачком“».

«В компании плоская структура, из-за чего не совсем понятны зоны ответственности. Отсутствие строгой иерархии и демократия в компании также приводят к неэффективной организации рабочего процесса».

«Какое еще руководство? У нас скрам!».

«Мій менеджер майже не приділяє мені часу. Мене брали як спеціаліста одного профіля, а зараз накидали задач, зовсім не пов’язаних з моєю спеціалізацією. Навіть близько. Начальник в іншій країні, і я вважаю, що між виконавцем (мною) і начальником повинен бути якийсь прошарок в моєму офісі. На кшталт тімліда».

«Коммуникация с непосредственным руководителем никакая, решения и мысли доносятся плохо. Да, можно решать вопросы с лидом, но это такой себе вариант».

Отношения с коллегами

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

Жалуются на плохую коммуникацию между отделами и офисами, а также недостаточно развитую корпоративную политику.

«Очень наигранная доброжелательность. Впечатление, что все улыбаются и ужас, какие добрые, но на деле всё совершенно не так. Подставлять и увольнять тебя будут с такой же улыбкой и доброжелательностью».

«Немає командного духу. І ніхто не хоче виправляти ситуацію».

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

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

«Отношений с коллегами нет, т. к. есть большая текучка. Команды долго вместе не работают, их постоянно тасуют с офиса на офис, так что тут мало хорошего».

«Общение только в рамках работы. Все запросы к другим службам только через Jira».

«Существует практика доносов, очень тяжело узнать обратную связь».

«Есть непонятные подковерные игры между офисами в разных городах».


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


DOU Проектор: TopLab — принтер, прожигающий пиксели

$
0
0

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

Меня зовут Виталий Билык, я CTO и co-founder компании TopLab. В IT работаю 10 лет. Сейчас активно занимаюсь hardware, в том числе embedded-разработкой.

Если коротко, то наша компания TopLabпредоставляет услуги по разработке IoT продуктов — от создания концепции, исследований и прототипирования до массового производства.

Идея

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

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

Реализация

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

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

После этого создали свои «мозги» для принтера. Для ускорения процесса разработки использовали Arduino.

Подключили к новым «мозгам»:

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

Софт для принтера

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

Получилась следующая схема взаимодействия:

Ruby — UART — Arduino — UART — Ruby

Проблемы и их решения

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

Проблему с помехами решили устранять так:

  1. Экранировали линии передачи данных от оптического датчика положения каретки к микроконтроллеру — в итоге это не дало желаемого результата.
  2. Заменили высоковольтный высокочастотный преобразователь на высоковольтный преобразователь напряжения с постоянным током. Идея была в том, что ВВ переменное напряжение создает наводки на длинных проводниках, а ВВ постоянное не будет. Но это тоже не сработало. Дело в том, что в момент печати создается разряд, который вносит также много помех и создает громкий звук пробоя воздуха.
  3. Поставили лазер, проблема была решена.

Второй прототип с использованием лазера

После установки лазерного элемента вместо ВВ преобразователя все помехи исчезли, но была еще одна проблема — скорость печати. Для окрашивания одной точки на белой бумаге нужно было 50-60миллисекунд при мощности лазера 2,5 Вт. Как потом оказалось, лазер должен выйти на рабочий режим «раскачаться», после чего он успешно печатает. Поэтому применили PWM. Теперь в момент перемещения лазера по бумаге мощность лазера составляет 30-40%,а в момент печати — 100%. Так удалось сократить время печати одной точки до 20-30миллисекунд за счет более быстрого выхода лазера на рабочий режим.

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

Тестирование печати прототипа

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

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

Первый выход в «люди» — выставка

Нас пригласили на выставку. Я очень сильно переживал о том, чтобы принтер на выставке мог работать самостоятельно без компьютера (ведь «закон Мерфи», будь он неладен, никто не отменял).

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

На фото: Виталий Билык на Международном Гранд Форуме Bit-2017, Киев

Новый вызов для принтера от украинского NASA

На выставке я познакомился с сотрудником из Государственного космического агентства Украины (аля NASA). Он спросил, может ли принтер печатать на прозрачной пленке.

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

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

Мы, как и хотели, получили качественную печать без тонера и чернил на бумаге разной плотности и пленке. Поэтому решили развивать проект дальше. Вдохновившись успешным проектом на Kickstarter Cubio, решили придумать минималистичный дизайн, хотя и получился принтер аля laser engraver. Это сподвигло думать дальше о следующем витке развития проекта. Но это уже совсем другая история. Продолжение следует!

Опрос по языкам № 9

$
0
0

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

Результаты опубликуем в конце января.

Прямая ссылка на анкету — goo.gl/forms/PtiSkqJQL5fiByqH2

Лучшие статьи 2017 года

$
0
0

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

Лучшая аналитика

Рейтинг школ по результатам ВНО-2017.В 2017 году мы вместе с нашим читателем Сергеем Городецким выпустили второй рейтинг школ. На этот раз автор учитывал результаты ВНО за два года. Как и рейтинг 2016 года, этот материал стал одним из самых популярных на DOU — почти 100 тыс. просмотров.

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

Рейтинг ИТ-книг 2017.Первая версия рейтинга книг была опубликована еще в 2015 году. В 2017 году 1288 человек выбрали лучшие книги в 13 направлениях.

ТОП-50 IT-компаний Украины, июль-2017: докризисные темпы роста.Летом 2011 года вышел наш первый рейтинг ТОП-25. Отрасль растет, становится более зрелой, требует больше информации о себе. Мы стараемся не отставать, и поэтому с 2017 года наш ТОП-25 превратился в ТОП-50.

Рынок IT-образования: курсы и учебные центры подготовили свыше 35 тыс. студентов в 2016 году.В обновленном исследовании приняли участие 73 школы и учебных центра, которые обучили более 40 тысяч студентов в 24 городах Украины. В 2015 годуколичество выпускников составило 30 тысяч.

Опрос по языкам #8: Java по-прежнему доминирует, но доля рынка начала сжиматься.Каждый год Руслан Шевченко, автор рейтинга, проделывает огромную работу во благо сообщества. Кстати, как раз сегодня запустили новый опрос по языкам.

Портрет ИТ-специалиста — 2017. Инфографика.Вновь с Popel Agency создали инфографику об украинском ИТ-специалисте.Больше половины участников опроса — разработчики. Среднестатистическому украинскому программисту от 21 до 30 лет, он имеет высшее техническое образование и работает в аутсорсе.

Лучшие IT-работодатели 2017.В 2017 году много критики было от читателей. И мы уже думаем над доработкой рейтинга. А пока можете ознакомиться с победителями прошлого года.

Рейтинг вузов DOU 2017.Оля Макарова подготовила очередной рейтинг вузов. В опросе приняли более 2 тысяч человек. Лучшими в прошлом году стали Могилянка, Донецкий национальный университет, ХНУРЭ и КНУ им. Т.Шевченко.

Страну покидают опытные специалисты: результаты релокейт-опроса.О релокации среди ИТ-специалистов не говорит только ленивый. Кто-то критикует, кто-то мечтает. Мы же опросили тех, кто уехал, и узнали, насколько хорошо там, где нас нет.

Первая работа: сколько junior специалистов наняли IT-компании в 2016 году.Все никак не можете попасть в ИТ? Мы узнали у IT-компаний их потребность в junior специалистах и источники найма молодых сотрудников в 2016 году.

Рынок труда 2017: рост 27%, дефицит ИТ-специалистов, релокация сеньоров.Макс Ищенко подготовил традиционный итоговый обзор рынка труда. Поводов для зрады мало — отрасль растет рекордными темпами.

GitHub-акаунти українських ІТшників: хто в ТОПі.В далеком 2013 году на DOU публиковался обзорсамых популярных пользователей GitHub. Рейтинг получился неоднозначным. В 2017 году Дима Дрозд подготовил новый вариант. На наш взгляд, получилось отлично.

Сколько волка ни корми: результаты опроса о поиске и смене работы в ИТ.В опросе приняли участие 4 433 ИТ-специалиста. Из интересного — больше половины опрошенных респондентов планировали сменить работу в ближайший год.

Лучшие колонки

30 речей, які програмісту варто встигнути до 30 років.Более 200 комментариев и почти 50 тысяч просмотров. Статья Юрия Савки стала самой популярной среди Колумнистов в этом году.

Сложные люди в IT и что с ними делать?У Владимира Железняка уже есть свой круг фанатов из читателей на DOU. В эту подборку мы добавили две его статьи, хотя по популярности можно было добавить все. В 2017 Владимир написал 10 колонок, и все они достойны внимания.

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

Возрастная дискриминация в IT и как с этим жить.Анна Стеценко, ИТ-рекрутер, затронула острую для сообщества тему о возрастной дискриминации. В результате — более 30 тысяч просмотров и 200 комментариев.

Почему мы потратили $21 000 на корпоративную поездку в Египет.Олег Белозор, основатель Reply, поделился опытом организации корпоративной поездки и пояснил, почему компания считает такие активности лучшей инвестицией в собственное будущее.

9 способов повлиять на мотивацию сотрудников. Еще одна острая тема — мотивация. Здесь и о целях, и о миссии компании, которую многие критикуют, и о вознаграждении.

Уяви.Світ навколо нас весь час змінюється. І дуже важливо встигнути за змінами, які набирають швидкість. Прочитайте колонку Юрія Савки та задумайтеся над майбутнім, яке настане вже завтра.

Суб’єктивний погляд на Data Science в Україні.Богдан Павлишенко поділився своїм поглядом на розвиток Data Science в Україні — про спеціалістів, кваліфікації, ілюзії та науковий підхід.

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

Механічний Шевченко: чи здатні машини до літературної творчості?На погляд редакції, ця колонка Юрія Савки — одна з найбільш недооцінених аудиторією DOU. Прочитайте її обов’язково, якщо ще не зробили цього.

Лучшие интервью

Ведущий Data Architect в Tesla — о карьере в Киеве, переезде и работе в Кремниевой долине.Автор интервью Анна Бандальер живет в Сан-Франциско. Анна находит украинцев в Долине и делает отличные материалыдля DOU. Интервью с архитектором из Tesla было первой публикацией автора, после него она успела пообщаться с разработчиками из Google, Uber, Apple, Pinterest, Netflix и многими другими.

Уйти из Grammarly ради учебы в КПИ: стоит ли овчинка выделки.Проработав 6 лет на позициях Front-end Developer в MacPaw и Grammarly, в 2016 году Дмитрий Филипенкорешил взять таймаут и поступить на 1 курс КПИ — получить второе высшее по прикладной математике. В интервью для DOU Дима рассказал о том, насколько полезно хождение на пары и ведение конспектов для уже состоявшегося разработчика и чем в итоге закончилась эта затея.

Вокруг света за 1,5 года: как не бояться бросить работу и посмотреть мир.Марина Сухомлинова и Сергей Ладнюк — оба работают в ИТ (9 и 7 лет соответственно) и любят путешествовать. В 2014 году ребята оставили офисную работу и отправились в кругосветку. За 19 месяцев непрерывного путешествия они посетили 26 стран, постоянно активно перемещаясь. О том, как решиться и организовать кругосветку, о поиске работы и адаптации после возвращения Марина рассказала в интервью для DOU.

Карьера в Штатах: из Google в Amazon. 5 лет назад Дмитрий Гайворонскийуехал работать по контракту в Google на позицию Technical Project Manager, а через год перешел в Amazon Web Services. В интервью Дмитрий рассказал о жизни в Штатах и работе в этих двух компаниях.

Робота у Twitter: розповідь українського програміста.Интервью с Арсеном Костенко о рабочих процессах в Twitter, насколько комфортно в компании и как присоединиться к команде.

11-класникз Луцька — про розробку додатків та ігор, а також відмову ІТ-компаніям заради власної мрії.Цей текст переміг у конкурсі статей на DOU. У ньому є юнацький максималізм, прагнення йти за мрією і любов до своєї справи.

Лучший тестировщик года — о карьере, достижениях и о том, как стать профессионалом в QA.Александра Ковалева — Head of Softengi Training Center, Senior Testing Consultant и мама двоих детей получила награду Ukrainian IT Awards 2017 в номинации Best Professional in Quality Assurance. Она рассказала, как ей удалось стать лучшим тестировщиком года, карьерных решениях и о том, что значить быть профессионалом в тестировании.

Ігри розуму: український математик про красу науки, нелюбов до ІТ та безперспективність повернення.Віталій Сенін — український математик. Нестандартний для DOU герой. Але, на наш погляд, вийшла цікава розмова про любов до математики.

Незрячий программист — о разработке «на слух» и доступности интернета.Дмитрий Попов — незрячий веб-разработчик, пользуется программами экранного доступа. Это интервью не о жалости, а о том, как разработчики могут реально помочь таким людям.

Физик-ядерщик — об адронном коллайдере в Германии и роли программирования в жизни ученого.В интервью для DOU Максим Бородин рассказал об экспериментальной науке, ускорительном центре DESY в Гамбурге, а также о роли программирования в жизни ученого.

Лучшие статьи для программистов

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

Неудачные собеседования: история одного тестировщика.Эта статья была опубликована в рамках конкурса статей на DOU. И судя по количеству просмотров и комментариев, тема фейлов на собеседовании всегда актуальна для сообщества.

Співбесіда: питання задає кандидат.Ще одна стаття про співбесіди. На цей раз поради від рекрутера — готовий список питань, які кандидату слід задати на інтерв’ю.

Украинский рынок разработки через 5 лет. Ретроспектива.В 2012 году на DOU публиковалась статья с прогнозами развития IT-отраслив Украине на следующие 5 лет. В 2017 году мы подвели итоги: что сбылось, что не сбылось, чего ожидать дальше.

Почему уходят из Google, Microsoft, Xing? Истории украинских разработчиков.Разработчики, которые работали в крупных международных компаниях, но уволились оттуда по собственному желанию, рассказали об особенностях работы в IT-корпорациях, а также о том, что все-таки побудило принять решение уйти.

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

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

Ефективне самонавчання. Що ми робимо не так?Віталій Пушкар поділився своїм досвідом організації самонавчання. Адже з постійною зміною та еволюцією технологій ефективна самоосвіта допомагає тримати багато дверей відчиненими, диверсифікувати та регулярно інвестувати в портфоліо власних знань.

Как и зачем работать 8 и больше лет в одной компании: опыт «старожилов».Чтобы узнать, можно ли профессионально развиваться, работая много лет на одном месте, не скучно ли это, какие есть плюсы и минусы такой карьеры, мы нашли «старожилов» украинских IT-компаний и попросили их рассказать о своем опыте.

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

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

Построение Data Science команды в аутсорсинговой компании.Сергей Шельпук, Head of Data Science Office в ELEKS, рассказал о том, как в компании строят Data Science команду — почему это работает, какие проблемы и как их решают.

Что разработчики не знают о своих зарплатах? Часть 3: зачем нужен рост и куда девается прибыль?В этой статье Вадим Сынах, COO в AMC Bridge, рассмотрел, откуда берется рост компаний и куда девается их прибыль.

3 главных вопроса в ремесле программиста.Андрей Батутин выработал три вопроса, ответы на которые позволяют ему быстро сориентироваться в пространстве, не тратить время на пустые разговоры, а максимально уделять время программированию.

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

Лучшие статьи для менеджеров

Как оценить часы на разработку.Вероятнее всего, кто-то уже набил на этом руку, ну а для кого-то вопрос оценки продолжает оставаться pain in the ass. Какими методами можно бороться с проблемой некорректной оценки.

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

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

П значит Продукт. Нужны ли украинские менеджеры в Австралии и Штатах?Анна Мининкова ракссказала об особенностях работы менеджера продукта на англоязычных рынках.

Вийди за межі зони комфорту, або Навіщо ставити нереальні цілі.Іван Лешко, VP Client Success в SoftServe, вважає, що спеціаліст повинен самостійно забезпечити свій особистий та професійний розвиток. Це перший необхідний крок для того, щоб стати професійним гравцем на конкурентному ринку.

Коли буде готово: як не зруйнувати відносини в команді.Стаття про взаємини в команді. Підійде як розробникам, так і менеджерам.

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

Тестування вимог — перший крок в роботі над проектом.Стаття про методи тестування вимог, про критерії, за якими оцінюється якість вимог і певні висновки. Навіщо взагалі все це відбувається — для чого нам тестувати вимоги?

Лояльні й мотивовані QA-спеціалісти: як їх розпізнати та виховати.Альона Черненко-Диба поділилася своїм досвідом побудови команди тест-фахівців, а також розповіла про мотивацію спеціалістів.

Лучшие статьи для новичков

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

Junior дайджест: курси, стажування, інтернатура. Лютий’17.Раз в месяц мы публикуем подборки с бесплатными курсами и стажировками от ИТ-компаний.

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

Советы сеньоров: как прокачать знания junior QA.Еще одна новая рубрика на DOU. Опытные специалисты дают практические советы джуниорам. В 2017 году сделали выпуски по QA, Java, Front-end, Python, .NET, PHP, Data Science.

«Что учить, Java или C#?» Востребованность и перспективы популярных языков.Попробовали помочь разобраться начинающим программистам в том, стоит ли учить такой-то язык и связывать с ним карьеру.

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

Как выжить в круговороте современного IT, или Зачем изучать основы.Если вы все еще не знаете, зачем вам алгоритмы, математика, физика и другие фундаментальные знания, прочтите эту статью.

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

Путь самоучки: pet-проекты и подводные камни самостоятельного изучения IT.Чтобы устроиться на свою первую работу, начинающему разработчику недостаточно иметь только теоретические знания по специальности: даже от новичков работодатели требуют наличие опыта и практических умений. Но откуда взять опыт? Один из вариантов — придумать и разработать собственный проект, попутно освоив новые технологии.

Как подполковник стал программистом.Андрей Ткаченко увлекся программированием еще в военном училище, но 25 лет посвятил службе в армии. По ее окончании, в 42 года, он решил вернуться к программированию и стал Software Engineer в Intetics. О своем карьерном пути он написал для DOU.

Facebook, Google, Microsoft: о стажировках и карьере в гигантах.Дима Березин работает на full-time в лондонском офисе Facebook. В статье он поделился своим опытом построения карьеры в ИТ-гигантах.

Вступ до технологій, або IT для початківців.Якщо ви студент технічної спеціальності, бачите свій професійний шлях в IT і не знаєте, з чого почати — ця стаття для вас. У ній ви знайдете детальний опис найпоширеніших позицій в IT-компаніях та перелік того, що потрібно вміти і знати початківцю, щоб потрапити на них.

Бросить якорь в ИТ: история моряка.Максим Астахов бросил профессию моряка и начал работать в ИТ. Решение и реализация задуманного дались ему не просто. Но у него все получилось и, похоже, он не жалеет ни о чем.

Как попасть в тренинг-центр IT-компании: что требуется и как готовиться.Еще одно руководство для новичков, которые уже хотят попасть на обучение/стажировку в ИТ-компанию.

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

Лучшие технические статьи

Автоматизируем разработку на Angular с помощью Angular CLI.Яков Файн показал, как создать, упаковать и задеплоить простой проект с помощью Angular CLI.

Java vs. Kotlin для Android. День 1: спрыгиваем с Java.Цикл статей от Александра Зубченко о том, чем же Kotlin лучше Java. И стоит ли вообще тратить на него силы и время.

Реактивные библиотеки RX.Еще одна статья от Якова Файна о реактивных (Rx) библиотеках, существующих во многих языках программирования.

«Строгий» JavaScript: зачем и кому это надо. JavaScript считается динамическим языком, но все чаще используются инструменты, которые добавляют ему статической типизации. Google, Facebook и Microsoft предлагают свои решения. Почему так происходит и стоит ли это делать?

Проблемы при переходе на Java 9.Сергей Моренец написал летом статью о миграции на Java 9. И призывает всех начать переход на новую версию.

Боль и страдания перехода на Java 9.Дмитрий Думанский перешел на 9-кубуквально сразу после релиза. Что из этого вышло, читайте в колонке.

Go — это просто. Создаем HelloWorld веб-сервер.Как создать на Go простой веб-сервер, которому не нужны Apache с nginx’ом, как добавить поддержку https без использования OpenSSL и как перестать платить за TLS-сертификаты и беспокоиться об их своевременном обновлении.

Enterprise разработка накануне провала традиционных методов. Enterprise-системы становятся все сложнее, повышается монолитность, гетерогенность. Объемы данных растут в геометрической прогрессии. Готовы ли разработчики к этим вызовам?

Без хайпа и маркетинга: нужен ли вам Kotlin? Kotlin на текущий момент находится на пике популярности и в тестировании может принести немало пользы. Но не все так просто, в чем можете убедиться из статьи Сергея Пирогова.

React 16: огляд нової архітектури fiber. Fiber — це нова архітектура, що покладена в основу React 16, реліз якого відбувся нещодавно. Велика частина коду була переписана з нуля. Основною метою було створення можливості для пріоритизації оновлень контенту.

SQL Server 2016/2017: особенности работы с JSON.Долгое время на Microsoft Connect поддержка работы с JSON в SQL Server была одной из самых востребованных фич. Шли годы, и неожиданно для всех этот функционал реализовали в SQL Server 2016. Microsoft не остановилась на этом и в SQL Server 2017 обстоятельно улучшила производительность и без того быстрого парсера JSON.

Science is the new black, або фізика і Computer Vision.Як теорія еволюції, спеціальна теорія відносності і теорія графів були корисними у Computer Vision проектах. Отже, чим Чарльз Дарвін, Альберт Айнштайн та Леонард Ойлер можуть допомогти в обробці зображень і відео?

Лучшие статьи на тему релокации

В Данию и обратно.Этот цикл статей о возвращении из Дании буквально взорвал все ИТ-сообщество. Автор статей Александр Скакунов стал знаменитым, премьер-министр Украины даже сделал репост одной из статей.

Релокація в Чехію очима #дружинипрограміста.Если отбросить шутки в комментариях о релокации глазами #котапрограммиста, то у автора получилась интересная и полезная история о жизни в Чехии.

Американский менталитет изнутри: взгляд украинского разработчика.Статья о том, что отличает американскую деловую культуру и на что следует обратить внимание, работая в США.

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

Жизнь и работа в США: о пригородах, коррупции, оружии и сервисе.Это последняя часть рассказа о переезде в США от Игоря Деревянского. Он переехал Штаты в 2008. Живет в Нью-Йорке, в Украину возвращаться пока не планирует.

20 месяцев в Ирландии: моя история релокации.Еще одна история возвращения. Александр Кучеренко поделился своим опытом релокации в Ирландию.

Релокація джуніора: про роботу й сієсту в Іспанії.Не так часто нам вдається знайти джуніора, який зумів отримати оффер в іншій країні. Олександр знайшов позицію Junior Frontend Developer в Мадриді.

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

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

Релокация в Сингапур: история украинского архитектора.Сингапур хорош для получения интересного опыта работы непосредственно внутри бизнеса (в отличие от аутсорса), старта своего дела и нетворкинга в высокобизнесовой среде.

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

Країна гір та банків: український програміст про життя у Швейцарії та роботу в Google.Ви давно просили розповісти про Швейцарію, і ми знайшли українця, який переїхав туди. Якщо коротко — дорого і консервативно.

Релокация в страну улыбок, или Как живется в Бангкоке.Дима Малеев мечтал переехать в Штаты, а попал в Таиланд. Об особенностях жизни и работы в Бангкоке он рассказал в статье для DOU.

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

Релокация на Ближний Восток: о жизни и работе в Бахрейне и Катаре.Что вы знаете о Ближнем Востоке? Песок, нефть, верблюды, жарко. ИТ-рынок на Востоке достаточно мелкий и в основном сосредоточен в Дубае. Продуктовые компании можно пересчитать на пальцах двух рук, и они в основном связаны с банковскими и финтех-услугами.


Поздравляем сообщество DOU с Новым годом. Благодарим всех авторов, которые в 2017 году уделили время и опубликовали статьи или приняли участие в качестве экспертов. Пользуясь случаем, приглашаем присылатьновые материалы. Всегда рады как постоянным, так и новым авторам.

DOU Books: 5 книг, которые советует Денис Резник, Data Architect в Intapp

$
0
0

От редакции: в рубрике DOU Booksучастники сообщества рассказывают о пяти любимых книгах — тех, которые меняют мировоззрение и могут быть полезны читателям-коллегам.

[Денис Резник — Data Architect в Intapp, имеет больше 10 лет опыта в разработке ПО, построении архитектуры баз данных и оптимизации баз данных. В 2010 году получил статус Microsoft Data Platform MVP. Кроме того — Regional Mentor for CEE в организации PASS, участвует в развитии украинского SQL сообщества]

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

В итоге остановился на тематике: «Книги, которые как-то на меня повлияли». Многие из них я читал прям очень давно, но о том, что напишу в подборке, помню до сих пор. Поехали.

Майн Рид «Всадник без головы»

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

Братья Стругацкие «Трудно быть богом»

Во времена учёбы в университете практически бросил читать художественную литературу. После выпуска первые места на моей книжной полке занимали Рихтер, Эспозито и Хендерсен, а место художественной литературы (да и любой другой, кроме технической) заняли сериалы и фильмы. Как-то в дороге по совету друга решил прослушать аудиокнигу братьев Стругацких «Трудно быть богом». После были прочитаны-прослушаны почти все произведения Братьев Стругацких, но эта книга до сих пор остаётся самым любимым и самым сильным их произведением для меня.

Жанр книги — научная фантастика, но с присущей Стругацким тягучестью, философией и подтекстом, который можно прочувствовать. В центре повествования — советский учёный, отправленный на чужую планету, на которой найдена жизнь, и цивилизация находится на уровне нашего среднего века. Его задача — не вмешиваться в ход истории, а изучать эту цивилизацию. Уровень земных технологий значительно выше, и, пользуясь достижениями земной цивилизации, Дон Румата (он же Антон) намного превосходит жителей планеты: он быстрее, сильнее, у него есть таблетки от похмелья, и т. д. По сути он является Богом, но без возможности вмешаться в ход событий. И сюжет разворачивается так, что возникает конфликт между рабочими обязанностями и человеческими ценностями. Не буду писать спойлеров, но, как по мне, книга — просто must have в домашней библиотеке. Тогда именно она вернула мне любовь к чтению.

P. S. В сети есть экранизация книги в стиле голливудского блокбастера. Так вот, к чему это я — ни в коем случае его не смотрите! Гадость редкая.

Герман Гессе «Игра в бисер»

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

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

Neil Gaiman «Sandman» (серия графических романов)

Серия графических романов Нила Геймана «Сендмен» — это то, что прямо сейчас возвращает мне любовь к чтению. В этом году ради интереса решил сходить на конференцию WeGame в Киеве. В общем неплохо провёл время и в том числе нашёл пару стендов с комиксами :) Сразу купил себе «Лигу справедливости», «Ходячих мертвецов» и много ещё чего. Для разнообразия попросил продавца посоветовать что-то необычное, на что он мне сразу выкатил книгу про Сендмена. Эта была пятая книга серии «Игра в тебя».

Сказать «Вау» про Сендмена — это не сказать ничего. Очень необычно, жёстко, иногда даже страшно (особо впечатлительным не рекомендую читать), но впечатляет — это точно. Сюжет описывать не буду — это не передаст (как и описание онлайн), что представляет из себя Сендмен. Всего, насколько я знаю, 10 книг этой серии. Продавец тогда сказал, что книги не связаны с собой. Отчасти это правда, но думаю лучше всё-таки начать с первых двух. Почему с двух? Мне кажется, что первая часть откровенно слабее второй, как будто Гейман ещё не нашёл свой стиль и экспериментирует. Вторая же содержит много отсылок к первой и читать её отдельно будет не так интересно. Третья — полностью самостоятельная, не такая интересная, как вторая. Четвёртую только заказал, должна скоро приехать, а пятая прекрасна (да, пролог к пятой, оказывается, находится во второй книге)!

Если ищете что-то новенькое и необычное на почитать перед сном и отвлечься от Java и SQL, очень рекомендую попробовать комиксы (графические романы) и Сендмена в частности.

Kalen Delaney, Louis Davidson, Greg Low, Brad McGehee, Paul Nielsen, Paul Randal, and Kimberly Tripp «SQL Server MVP Deep Dives vol. 2»

Книга представляет собой сборник качественных технических статей по SQL Server от больших специалистов по SQL Server, которые носят (или носили во время написания) статус Microsoft SQL Server MVP (сейчас Microsoft Data Platform MVP), — Paul Randall, Kalen Delaney, Paul Nielsen и другие. Статьи для этой книги отбирались специальным комитетом, требования были и к качеству, и к уникальности материала. Все главы книги проходили как техническое ревью, так и ревью английского. Кроме контента, книга интересна ещё и тем, что авторский гонорар идёт в благотворительный фонд «Operation Smile», и на эти деньги уже была оказана реальная помощь детям. В общем всем рекомендую как эту, так и первую часть :) Кроме качественного контента, покупая книгу, вы ещё и помогаете людям. Сам я периодически обращаюсь к некоторым главам, потому как описание там часто лучше, чем в документации или статьях онлайн.

Теперь пару слов о том, как эта книга повлияла на меня. Это была первая (и пока остаётся единственной) книга, к которой я приложил руку :) 29 глава «Effective Use of HierarchyID» вышла под моим авторством. Жалко, что сам HierarchyID практически не получил развития в SQL Server и клиентских библиотеках с тех пор, ведь принцип Materialized Path, который лежит в основе HierarchyId, очень классный. В частности он позволяет эффективно решать задачи поиска по иерархии (найти всех потомков узла, найти родителя родителя узла, найти все узлы одного уровня и т. д.) в пределах реляционной базы данных. Тем не менее HierarchyID используется и сейчас в SQL Server и решает задачу поиска по иерархии довольно эффективно.

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

Как мы сделали программу стажировки в компании - схема и выводы после 3 наборов PM’ов

$
0
0

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

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

Начну я с истории и предпосылок создания школы стажеров. Затем пройдусь по трем проведенным стажировкам и тем инструментам, которые добавляли и использовали в каждом новом наборе. И, конечно, расскажу о наших факапах. Усаживайтесь поудобнее, это лонгрид ;)

Идея стажировки

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

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

Видение и рабочая группа

Работа над программой стажировки началась с двух листов А4. Мы определили видение стажировки — какую ценность она несет для компании. И собрали список задач, необходимых для запуска этого «маховика насилия». Затем мы утвердили стажировку внутри компании и начали работу над реализацией первого набора. Чтобы согласовать действия между отделами, создали рабочую группу, куда вошли руководители всех направлений, маркетологи, рекрутеры и PM’ы.

Реализацию проекта мы поделили на 3 больших стадии:

  1. Запуск.Для него нужно создать страницу на сайте Acceptic, разместить вакансии на job-сайтах и провести отбор кандидатов. Чтобы отобрать кандидатов нужно:
    • написать тестовое задание;
    • разработать вопросы для собеседования, в т. ч. направленные на выявление ценностей;
    • выделить компетенции и написать тесты для их оценки.
  2. Обучение.Необходимо подготовить тренинги для поднятия уровня компетенции.
  3. Замер результатов.Здесь нужно разработать тестирование стажера спустя 5 месяцев обучения.

Для начальной стадии мы создали первый артефакт — landing pageна сайте компании. Благодаря ему потенциальные стажеры могут узнать детали о программе.

На страницу лендинга ведут вакансии, которые мы разместили на job-сайтах.

Отбор

На landing page мы создали анкету, которая позволяла узнать больше о стажере, его интересах и целях. По ответам мы определяли, стоит ли высылать кандидату тестовое задание. Само тестовое состояло из двух частей на проверку hard и soft skills.

Hard skills мы проверяем при помощи конкретного задания. Например, нужно продумать команду, риски и технологии под проект создания e-commerce платформы. Soft skills проверяем при помощи моделирования ситуации. Например, в пятницу вечером заказчик просит внести правки. Работа оценивается в 4 часа. Мы спрашиваем соискателя, что он бы делал в такой ситуации. По результатам тестового задания мы уже делаем вывод, стоит ли человека звать на собеседование или нет.

На собеседовании проверяем углубленно знания потенциального стажера:

  • hard skills: теоретические знания методологий, проектной документации, теории мотивации и стратегии работы с рисками;
  • soft skills: на основе реальных кейсов при работе с командой, клиентами;
  • уровень английского — минимум Upper-Intermediate.

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

Обучение и тренинги

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

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

Итого, путь стажера по нашей программе:

  1. Заполнение анкеты.
  2. Выполнение тестового задания.
  3. Прохождение собеседования.
  4. Сдача экзамена.
  5. Прохождение стажировки.
  6. Начало работы в качестве полноценного PM’а.

Что у нас получилось: WinCompass PM 1.0

Дальше привожу цифры, которые получили по итогу первого набора стажеров. Всего нам прислали 204 анкеты.

Небольшой спойлер: после первой программы стажировки у нас работает 2 человека. Третий — успешно работает PM’ом в другой компании.

Теперь поэтапно разберем стажировку WinCompass PM 1.0 во всех деталях. На первом этапе — заполнение анкеты — из 204 человек мы допустили только 83 человека к тестовому заданию.

Самая распространенная причина, почему мы не допускали к тестовому заданию — это нерелевантные ответы, абсолютно не соответствующие вакансии. Около 20% не прошли дальше из-за завышенных зарплатных ожиданий. Еще 8% — из-за того, что не включили ссылку на CV в свою анкету — это небольшой «тест» на техническую грамотность и внимательность. Остальные просто не аккуратно и не тщательно заполнили анкету.

На втором этапе мы выслали 83 тестовых задания потенциальным стажерам. Из них почти 40% не вложились в срок или просто не прислали тестовое. Больше 20% соискателей не углублялись в детали. Остальные выполнили задание не логично, не учли ключевые моменты или вообще его не закончили.

На предфинальном этапе мы побеседовали с 10 ребятами. В большинстве случаев соискателям не хватало уверенности в себе и проактивности. Остальные обладали недостаточными теоретическими знаниями. Из 10 допустили к экзамену четверых.

В финале у нас оказались 4 человека, 3 из которых смогли успешно сдать экзамен и присоединиться к нашей команде.

Выводы после первого набора

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

Точку в наших жарких спорах поставили цифры. Например, человеку нужно подтянуть два уровня — закрепиться на Intermediate и выйти на уровень Upper-Intermediate. Для этого понадобится 300 часов индивидуальных занятий. Если каждое занятие выделенного преподавателя стоит около 200 грн, один такой стажер обходился бы компании в $2000. Однако по факту результат вам не гарантирует ни один даже самый опытный преподаватель. Успех обучения непредсказуем. Следовательно, такую идею мы не реализовали и продолжили искать стажеров дальше.

Что у нас получилось: WinCompass PM 2.0

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

К нам прилетело 119 анкет. На выходе мы получили одного стажера. В итоге он не прошел программу до конца.

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

На этапе заполнения анкеты из 119 соискателей мы допустили 51 человека к тестовому заданию. Главная причина — потенциальные стажеры давали нерелевантные ответы. Около 6% не прошли по зарплатным ожиданиям. Остальные не включили ссылку на свое резюме или просто халатно отнеслись к заполнению анкеты.

На следующем этапе — тестовое задание — из 51 человека на собеседование мы пригласили 21. Больше 25% соискателей не поняли сути задания, некорректно его выполнили. 7 человек отправили тестовое задание после дедлайна или вовсе не отправили, а еще 7 — выполнили не полностью, упустили важные моменты. Остальные не вдавались в детали.

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

По результатам только один успешно сдал экзамен.

Выводы после второго набора

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

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

Что у нас получилось: WinCompass PM 3.0

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

182 анкеты мы получили за время набора на стажировку.

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

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

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

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

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

Результаты по всем наборам

  • Итак, мы начинали со стажировки продолжительностью в 6 месяцев. Но ребята справлялись даже лучше, чем мы ожидали, и со временем этот период сократился до 4 месяцев.
  • На протяжении всех стажировок наши стажеры получают стипендию.
  • Для всех следующих наборов мы внедрили проверку английского языка после заполнения анкеты, а не после выполнения тестового.
  • Со временем мы масштабировали стажировку в рамках компании. Добавились новые направления — QA, PHP, Marketer.

Фреймворк построения программы стажировки

Для того, чтобы запустить программу стажировки в компании, нужно:

  1. Сформировать рабочую группу.При формировании рабочей группы важно вовлечь специалистов, чья работа напрямую будет влиять на успех стажировки: профильный специалист, который может выступать в роли ментора, рекрутер, HR, маркетолог, менеджер этого внутреннего проекта. Список будет меняться в зависимости от организационной структуры вашей компании и того, как у вас «болит» за то, чтобы вся эта история состоялась.
  2. Описать видение и составить чек-лист для запуска первой стажировки. Очень важно сформировать видение стажировки. Тут можно провести аналогию с миссией компании — у лучших она понятная и лаконичная.
  3. Утвердить программу стажировки у руководства компании.Про утверждение чего-либо у руководства говорилось много раз в статьях и на конференциях, не буду повторяться. Скажу только, что вашим главным аргументом будет видение и чек-лист из второго шага.
  4. Сформировать воронку найма.От того, как сформирована воронка найма напрямую зависит количество ресурсов, которое компания будет тратить на поиск стажеров. Тут нужно быть особенно осторожным, чтобы не превратить свой день в череду собеседований. Наверняка, у вас есть и другие обязанности в компании.
  5. Прописать план стажировки по дням. План стажировки должен быть прописан по дням. Так мы боремся с Bus фактором — знания о методологии обучения не должны теряться с уходом ментора. Другой специалист должен иметь возможность подхватить флаг и менторить стажера пользуясь заранее составленным планом.


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

Viewing all 8558 articles
Browse latest View live