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

23 апреля, Днепропетровск — Dnepr.py #4

$
0
0

Dnepr.py — это встреча Python-разработчиков Днепропетровска.

Предварительная программа:
— «Опыт data mining на Python в проекте HealthJoy», Дмитрий Николаев
— «Эффективное создание backend’а для мобильных приложений на Flask», Михаил Кашкин
— Доклад Алексея Москаленко, тема уточняется.

Порядок и темы доклада не окончательные.

Для регистрации воспользуйтесь формой.


17 апреля, Киев — Курс “English for QA Engineers”

$
0
0

Приглашаем на курс «English for QA Engineers»
Первое занятие мы проводим бесплатно. На нем Вы сможете ближе познакомиться с преподавателем, тренинговым центром, технологиями изложения материала, задать все интересующие вопросы!

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

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

Теоретические навыки:
— теория тестирования на английском языке
— английские названия для элементов графического интерфейса пользователя
— английская грамматика
— базовая IT лексика

Практические навыки:
— написание тест-кейсов и баг репортов на английском языке
— участие в реальном проекте
— чтение технической литературы
— подготовка к собеседованию и интервью на английском с представителем компании Google, LinkedIn, Apple, Microsoft или Facebook

Весь курс состоит из 10 занятий по 2 часа (с 19:30 до 21:30), 2 раза в неделю (понедельник/пятница)

Записаться на первое бесплатное занятие

IT Евротур 28: Fastdev (Ижевск, Россия)

$
0
0

Наш первый сезон закончился, но мы записали еще несколько выпусков во время моих других путешествий. Вот и готов наш двадцать седьмой выпуск проекта «IT Евротур», который мы записывали в Ижевске во время моей командировки в Fastdev. Ждем ваших отзывов и комментариев к этому выпуску.

Экскурсия по дому

Разговор про быт

Экскурсия по офису

Разговор про работу

Полный выпуск

ГородИжевск, Россия
Площадь315,15 км2
Население642 024
Город существует с1760 года
В миреВходит в двадцатку крупнейших городов России. Крупный административный, экономический, транспортный, торговый и культурный центр Удмуртии, известный в России и мире оборонной, машиностроительной и металлургической промышленностями. Один из крупнейших промышленных центров Урала и Поволжья.
Средний счет в кафе 21.68 евро
Средняя цена за капучино1.63 евро
Пачка сигарет1.08 евро
БигМак меню5.87 евро
Аренда однокомнатная квартира в центре города (в спальном районе)213.83 евро в месяц (162.63 евро в месяц)
Аренда аппартаментов с тремя спальнями в центре города (вне центра)481.87 евро в месяц (391.52 евро в месяц)
Цена за кв метр в центре (в спальном)957.71 евро (764.96 евро)
Средняя ЗП после налогов329.78 евро в месяц
Одноразовый проезд0.31 евро
Проездной на месяц18.07 евро
Литр бензина0.57 евро
Плата за 1 км в такси0.22 евро
Час простоя такси3.61 евро
Общие затраты (электричество, отопление, вода, мусор) на 85 квадратов квартиру58.53 евро
Мобильная связь0.02 евро в минуту
Интернет (6 Mbps)7.45 евро
Фитнес клуб безлимит38.17 евро в месяц
Цена за билет в кино3.52 евро
Воду из под крана пить можноНет
Рабочее время магазинов10:00-22:00
Есть ли маршруты городского транспорта в Google MapsДа


Спасибо нашим спонсорам:
Wargaming.net, DataArt, Luxoft, Drucode, DAXX, MacPaw, QuickBlox.

Проект «IT Евротур» от идеи до реализации — интеллектуальная собственность Михаила Марченко и Анны Камониной. Все вопросы, касающиеся проекта, адресуйте нам на shami13@gmail.com.


Предыдущий выпуск

Что EcmaScript грядущий нам готовит?

$
0
0

Краткое предисловие для непосвященных:
— ECMAScript — это официальный стандарт языка JavaScript
— Самих стандартов много. Самый популярный — ECMA-262
— Сейчас ожидаем версию ECMAScript 6

JavaScript «пилили» за несколько дней, и в нем было очень много минусов. Тем не менее, он пробился в Web и стал стандартом в веб-программировании. Его «косяки» решили стандартизировать с помощью EcmaScript. Сейчас используется устоявшаяся версия — EcmaScript 5, и на подходе версия 6 под кодовым названием ECMAScript.next, или Harmony. Ожидается, что в итоге она принесет гармонию в разработку.

Дальше смотрим подробнее, что изменится в 6 версии, и сравниваем с тем, что было.

Блочная область видимости

В JavaScript объявление переменных происходит через зарезервированное слово var. Эта переменная поднимает объявление сразу наверх. В стандарте EcmaScript появляется новое слово для определения переменных — let. Оно позволяет сузить видимость этой переменной до блока. У нас есть цикл for, в нем через let мы определяем переменную i, и она доступна только в этом цикле. Извне она не будет доступна, но в if - будет.Это поможет нам избавить от «замусоривания» функции переменными.

Также будут введены константы. Раньше мы создавали объект, применяли к нему Object.freezeили называли переменную в верхнем регистре, чтобы другие разработчики это не меняли. Сейчас можем не заморачиваться и использовать зарезервированное слово const. Оно работает как let, имеет блочную область видимости, а попытки изменить ее приведут к ошибке.

Строковые литералы

Для повышения читабельности мы разбивали длинную строку и использовали вот такой «ад»:

Вместо этого мы можем использовать backtip, и строка будет выглядеть так, как мы ее ввели:

Использование плейсхолдеров

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

Мы сможем использовать ${name}, чтобы затем использовать определенную переменную.

Объектные литералы

В своей практике часто сталкиваюсь с необходимостью объявлять plain object. В обновленном стандарте радует, что при объявлении функции say, которую мы ранее писали названием функции: снова название функции, теперь это упрощается сокращением say.

Деструктуризация

Допустим, у нас есть массив. Чтобы выделить каждый из этих элементов, мы могли пройтись по циклам или указать пару из них по индексу.

Теперь мы можем использовать квадратные скобки, чтобы получить значение этого массива:

Также можно взять первый элемент массива, а оставшиеся записать в отдельную переменную как массив — var [one, ...rest] = arr;. Это полезно применять в функциях.

Можем не по порядку считывать значение литерала, а проигнорировать:

Поменять содержимое переменных местами:

Возвращать несколько значений:

Также мы можем сами указать, какие свойства записать переменным. В таком случае name— это свойство объекта:

Spread в функциях

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

Также мы можем внутрь функции передавать значения, используя спред. У нас есть массив, мы ставим и передаем внутрь функции. Спред сам распределит этот массив по аргументам.

Лямбда-выражения

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

Функцию перевода rgb в hexможно переписать таким образом, используя лямбду:

Классы

Ранее нужно было объявлять методы через прототип. Теперь стало приятнее читать:

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

Наследование

Через слово extendsможно указать родителя, а слово superиспользовать для доступа к конструктору родителя. Через super.<METHOD_NAME>можно вызывать родительские методы.

Модули

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

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

Обход значений

Появилась возможность обхода значений через for..of

Структуры

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

WeakMapотличается от Map тем, что в качестве ключа используется объект, а все ссылки на значения не блокируют GC от освобождения памяти. Иными словами, если на объект умерли все ссылки кроме той, что в WeakMap— память все равно будет помечена на освобождение.

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

WeakSet, подобно WeakMap, тоже не блокирует очищение памяти, если умерли все ссылки, кроме тех, что в WeakSet.

Итераторы

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

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

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

Мораль

Новые возможности можно попробовать уже сейчас. Например, в сервисе repl.it/languages/Traceur. Или же можно скачать и подключить к своему приложению разработку Google.

Советую пройтись по документации от Mozilla.

Еще полезные ссылки:
— harmony:proposals
— harmony:specification_drafts
— 2ality.com

Конечно, это не все нововведения. Я не упомянул те же Proxiesи Promises.

Некоторым могут не понравиться нововведения, некоторые встретят их с восторгом. Я же не могу сказать, что будущее для JS темное — язык развивается, приобретает новые фишки. JavaScript давно и прочно вошел в Web, и его не так-то просто оттуда изгнать :)

Я знаю одно: пока есть движение, есть жизнь, а значит, и будущее.

25 апреля, Киев — No Monkeys conference

$
0
0

Первая хардкорная конференция об автоматизированном тестировании.

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

Наши докладчики:
— Андрей Солдатенко(Wargaming) — High performance functional tests
— Вероника Муцей(SDL) — Тестирование интерфейсов веб-приложений
— Валентин Радчук(Cogniance) — GitFlow with TeamCity
— Иван Филатов(RevJet) — Автоматизация тестирования SPA
— Александр Филоненко(Cogniance) — Тестирование нативных мобильных приложений

Формат:
Участие бесплатное. Количество мест ограниченно. Заявки на участие подаются тут[goo.gl/forms/gWssS4vEzZ]. Заявки отбираются. Основной критерий — опыт подтвержденный Github и Linkedin.
В понедельник 20 апреля отобранные участники получат письма с подтверждением

Страничка конференции на Facebook
Обратная связь — no.monkeys.conference@gmail.com

25 апреля, Киев — Тест-драйв от QALight

$
0
0

Здравствуйте, дорогие друзья!

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

Таким образом, Вас ждут доклады и общение со следующими QALightтренерами:
— Дмитрий Сидоренко, курс «Unix и основы сетевой безопасности»;
— Дмитрий Бобошко, курс «Практический SQL»;
— Александр Паета, курс «Performance тестирование»;
— Иван Никонов, курс «Веб разработка»;
— София Бережная, курс «IT English»;
— Алексей Топоровский, курс «Windows 7»;
— Михалевич Виктор, курс «Дизайн и компьютерная графика»;
— Александр Паета, курс «Тестирование мобильных приложений»;
— Александра Клевец, курс «Введение в Big Data и Hadoop»;
— Тарас Радуленко, курс «Автоматизация с помощью Selenium».

Но кроме карьерного интереса, в качестве причины посещения надвигающегося тест-драйва может послужить Розыгрыш скидки до −20%!

Условия розыгрыша:
—  Зарегистрируйся на мероприятие здесь.
—  «Лайкни» страничку QALightв соцсетях и получи скидку −5%*.
—  «Перепости» новость о Тест-драйве в соцсетях и участвуй в розыгрыше скидок — 10%* и 20%*.

*Скидка на любой из курсов тренинг-центра QALight, кроме Базового модуля тестирования ПО и IT-English

25 апреля, Харьков — Kharkiv AI Club #12

$
0
0

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

12-явстреча харьковского клуба ИИ состоится в субботу 25 апреля в 11 часов утра в креативном пространстве Spalah, который расположен по адресу ул. Демченко 6. На сайте есть карта, как туда добраться.

Эта встреча будет в определённой степени «юбилейной», нам 3 года! Так что принимаются поздравления :)

На встрече будет 3 доклада, один из которых представит наш гость из Киева Дмитрий Новицкий, который не смог приехать к нам в прошлый раз:

1. Локализация лиц с помощью детектора Виолы-Джонс
Доклад посвящен детальному описанию детектора Виолы-Джонс для локализации лиц. Разобраны все этапы построения детектора, возникающие проблемы и их решения, достоинства и недостатка детектора, области применения, а также его реализация в OpenCV.
Докладчик — Артем Шкловец, Machine Learning Engineer в AltexSoft, Харьков

2. Обзор задачи рекомендации музыкальных композиций на примере
Короткий доклад, описывающий основные технологии и средства, которые используются при анализе и поиске похожих музыкальных записей на примере созданного собственными руками сервиса HOLO.
Докладчики — Глушич Петр, .Net developer в CHI Software; Шапарь Дмитрий, Lead .Net Engineer в AltexSoft, Харьков

3. Методы ИИ и компьютерного зрения для беспилотных летательных аппаратов
Доклад посвящён интеллектуальным методам навигации беспилотных ЛА на основе визуальных данных (изображений местности с бортовой камеры). Рассматриваются методы привязки к местности и определения координат ЛА в 3х-мерном пространстве на основе визуальных данных (без использования GPS), а также методы детекции и распознавание целей и ключевых объектов на местности.
Также мы продемонстрируем нелинейную систему управления для БПЛА класса «самолёт».
Докладчик — Дмитрий Новицкий, кандидат физ-мат наук, Ph.D. in Applied Mathematics (Universite Paul Sabatir, Toulouse), старший науч. сотрудник Института Кибернетики НАНУ, доцент, Киев

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

Зарегистрироваться на встречу

Дайджест цікавих вакансій № 182

$
0
0

Компанія Tonic Healthшукає старшого PHP/Symfony розробника. Зарплата до $5000.

Rails Reactorзапрошує на роботу Machine Learning Engineer’а з хорошим знанням Java. Можлива віддалена робота.

Tetherшукає старшого Full Stack (RoR/JS) розробника. Проект про випуск фіатних валют в bitcoin-мережі Blockchain. Зарплата від $2000.

Grammarlyзапрошує на стажуванняза напрямками: Computational Linguistics, Data Science/Machine Learning, Lisp Programming.

Betinvestзапрошує на безкоштовні Erlang-курсиз можливим подальшим працевлаштуванням. Початок навчання 20 травня.

Громадському телебаченнюпотрібен доброзичливий системний адміністратор.

Інкомзапрошує на роботу молодшого AngularJS-розробника, можливо студента старших курсів.

Яндексупотрібен молодший спеціалістзі зв’язків з громадськістю. Досвід необов’язковий, головне щоб був уважним і відповідальним, стовідсотково грамотним, а ще — любив багато та із задоволенням працювати.

НБУшукає головного інженеравідділу планування розвитку Центрального маршрутизатора та Процесингового центру і ще чотирьох інших головних інженерів.

Роман Хміль, якого недавно призначили головою департаменту автотранспортуМіністерства інфраструктури, шукає проектних менеджеріву команду. З недоліків — роботи нереально багато, зарплата смішна.


Nikolay Pavlovшукає роботув Харкові або віддалено. Професійні інтереси: signal and time series analysis, AI, prediction modeling, machine learning and mobile.


Слідкуйте за вакансіями для .NET-розробників в twitter за допомогою @sharp_vacancies.


Більше вакансій шукайте на jobs.dou.ua.
← Попереднійвипуск дайджесту.


Темная сторона работы в IT

$
0
0

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

Сидение

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

Фазы дня и тела офисного работника:
Утром постоял в транспорте (если не повезло — посидел в машине) → посидел до обеда на работе, посидел в обед в кафе или на кухне, посидел до вечера на работе, приехал домой и снова сидишь за ужином, за компьютером, а потом вообще лежишь. Здесь не то что калориям некуда деваться, но и в принципе непонятно, как долго организм способен функционировать в таком режиме. Ведь даже ежедневные 30 минут спорта не способны покрыть ущерб, который наносится здоровью многочасовым ежедневным сидением.

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

Практика показывает, что такая возможность в офисах стала настоящим дефицитом. Особенно в оупенспейсах. Как говорил Jason Fried: «Deep, reflective, thoughtful work requires long stretches of uninterrupted time». И если среднеинтеллектуальная работа не требует такого уж глубокого погружения, то в разработке всё иначе — не погрузившись, ничего не сделаешь. Именно потребность долго думать выделяет IT-специалистов на фоне рядовых офисных работников.

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

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

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

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

Дополнительные средства для борьбы с сидением

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

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

Столы для работы стоя
Кто работал за такими столами, уже с трудом пересаживается за обычные. Удовольствие не из дешевых — продвинутые модели стоят по несколько сотен долларов (хотя можно и самому сделать). Но оно того стоит: если в положении сидя человек сжигает 1 калорию в минуту, то в положении стоя — уже на 0.7 калорий больше (зависит от веса). То есть если добавить хотя бы по три часа стояния в день, то за неделю мы получаем −750 калорий, или дополнительные 1-2тренировки в неделю на ровном месте. Но при этом следует помнить, что длительное стояние тоже не является панацеей, так как может принести соизмеримые с сидением«сюрпризы» в виде атеросклероза и венозного застоя, не говоря уже о проблемах с коленями. Ко всему, для длительного стояния нужно покупать обувь, которая позволяет не травмировать суставы ног.

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

Чтобы не дать сидению себя убить раньше срока, следует почаще вставать, двигаться, растягиваться, не ездить в лифтах, не сидеть на stand-up митингах (что вполне логично) и не протирать штаны на call’ах. Для этого придется выработать привычку или стать рабом гаджета, где есть софтинас напоминалками.

Зрение

Торчать весь день перед монитором и выжигать кодом глаза — это, может, и не очень полезно для здоровья, но зато здесь есть место для маневра. Если начальство адекватное, то оно не будет требовать, чтобы подчиненные ежечасно сверлили взглядом экраны и морщили лбы. Ведь главное — результат. Работа IT-специалиста не обязательно конвертирует количество просиженных часов в качество кода. Часто происходит наоборот — человек, который регуляно работает по 10-12часов в день, выдает менее качественный продукт, чем его более «ленивый» коллега, который стремится свалить в 18:00. Но здесь, снова-таки, многое зависит от начальства и от его степени консерватизма в плане позволения стоять у окна и смотреть в даль и от его умения наладить рабочий процесс. У хорошего начальника сотрудники редко овертаймят. Но увы, сегодня проблема овертаймов входит в ТОП-3 недовольствдевелоперов Украины по отношению к начальству, что косвенно влияет как на зрение, так и на сидение.

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

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

Питание

Вики дает такое определение программиста: An organism that converts caffeine or alcohol into code. Есть и другие разновидности этой формулировки:

1372741785_498634760.jpg
Эта спина пока еще не заплыла жиром

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

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

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

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

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

Аналогичным образом можно использовать НЛП. Его суть заключается в том, что когда вас совращают очередным гамбургером или кусоком пирога, то важно дать правильный ответ. Вместо «Мне нельзя есть гамбургеры» или «Я не могу, я на диете», следует говорить «Я не хочу гамбургер». Слово «нельзя» будет работать как запретный плод, тогда как «не хочу» — это уже безапелляционное отстаивание своей позиции. Человека, который не хочет, труднее совратить, чем человека, которому нельзя.

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

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

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

QA дайджест #6: О развитии, багах и оценках

$
0
0

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

Новости

Джеймс Бах поставил под сомнение привычное понятие термина «Исследовательское тестирование» Подробней здесьи здесь.

World Quality Report 2015. Краткое содержание и основные результаты:
— Часть 1
— Часть 2

Интересное интервьюс Джеймсом Бахом

Опубликованы результатыопроса по автоматизированному тестированию.

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

Все новое — хорошо забытое старое. Windows все еще содержит 18-летнюю SMB-уязвимость.

Почитать

Тестирование поля ввода номера кредитной карты

Бесплатный курс Java для тестировщиков, да еще и на русском языке. Не проходите мимо.

Краткое руководство для начинающих тестировать в дистанционной команде

На что уходит время в тестировании? Дерк-Ян де Гроодподготовил подробный чеклист.

Дайте ответы на этот опросник — и на понятной диаграмме увидите состояние тестирования на проекте.

Правдиво и о жизни программистов. Тестировщикам тоже будет полезно.

Никогда не устаревающая и волнующая многих тема. Что и как учить начинающему тестировщику.

Очень важный элемент — резюме. Учитесь составлять его правильно.

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

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

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

Все-таки, чтобы ни говорили, бумага никогда не умрет.

11 шпаргалок, полезных для тестировщиков

Баги есть во всём, даже в насекомых и животных.

Эта инфографикапослужит отличным помощником в оценивании задач.

От нас никуда не спрятаться☺
crowdsourcetesting.com/5-testing-tricks

Автоматизация

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

Перед внедрением автоматизации стоит взвесить все риски.

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

Краткий инструктажтестировщикам, принимающим участие в автоматизированном тестировании.

Немного про Component Object и шаги

Как автоматизируют тестирование Android UI в Google

Как стать автоматизатором тестирования? Читайте об этом здесь.

Юмор

Наглядней не придумаешь

Страшные истории: 5 жестоких увольнений из геймдев-компаний.

Если бы классики работали тестировщиками

Кратко о взрослении джуниора

Восприятие продукта неизбежно изменяется при взрослении

Обыденный спор



Не забывайте присылать полезные ссылки, новости и смешные картинки на viktor.bezhenar@softengi.com — обязательно включим в дайджест☺ Не только же тестировщики Softengi должны в этом учавствовать! Спросите Ларису Тимиш, как просто предложить свои ссылки в дайджест — просто написать письмо.

Спасибо!

#ITeaTalks: Руслан Синицкий (Jelastic) - про работу с Гослингом, гибридные облака и офис в Испании

$
0
0

#ITeaTalks — это разговор двух айтишников и фанатов своего дела за чашкой чая. Автор и ведущий — Alex Grechanowski, marketing expert and consultant.

Досье:Руслан Синицкий — CEO и CTO компании Jelastic, которая развивает облачную платформу для разворачивания приложений на различных ЯП — Java, PHP, Ruby, Python, Node.js. В 2001 году Руслан с отличием окончил Институт радиоэлектроники (Житомир). В 2002 году получил звание «Лучший молодой сотрудник Национального космического агентства Украины». В 2010 занял первое место на IT конференции CodeCamp (Украина), а также победил в IT соревновании Dev Generation 2010 (Россия). Двумя годами позже компания Jelastic получила самую престижную награду в мире Java-технологий — Duke´s Choice Award 2012 в номинации «Технологический лидер». Руслан живет и работает в Житомире.

Глава 1. Эластичное расширение

В ноябре 2014 к команде Jelastic присоединился создатель языка программирования Java Джеймс Гослинг. Какой вклад в развитие компании может дать привлечение звезд подобного уровня? Экспертиза, связи, PR?

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

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

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

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

— В большинстве случаев готовы и охотно это делают. К примеру, Расмус Лердорф (создатель PHP) периодически делает UX ревью наших новых больших фич и дает очень качественный фидбек по продукту в целом. Более того, в следующем релизе выходит фича по zero downtime redeploy для PHP проектов, архитектором которой является именно он.

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

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

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

Насколько я понимаю, вы сейчас активно занимаетесь привлечением партнеров в Европе. Чем европейский рынок отличается от штатовского и азиатского?

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

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

— Начните с одного рынка. Сделайте свое дело хорошо, удовлетворите своих партнеров и клиентов по максимуму. Это поможет получить авторитет и завоевать доверие от других рынков. ИТ-рынки сегодня очень связаны друг с другом. Люди интересуются отзывами ваших партнеров/клиентов и наблюдают, как идут дела. С итальянцами мы работали 2 года до подписания контракта. Не гонитесь за всеми сразу. Сделайте хорошо первым партнерам и клиентам, которые у вас есть на любом из рынков, со временем другие подтянутся самостоятельно.

В марте вы открыли офис в Малаге (Испания). Чем привлекла вас Андалусия и такие компании как Oracle, Google, IBM, Huawei?

— Конечно же, отличной погодой, вкусной едой и прекрасным вином!.. Если серьезно, мы очень долго выбирали место для офиса в Европе. Были проанализированы Эстония, Латвия, Болгария, Румыния, Польша, Португалия, Финляндия, Нидерланды, Германия и другие страны. Мы ездили в наиболее вероятные локации и оценивали перспективы на месте. Общались с местными компаниями, органами самоуправления.

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

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

Имеют ли ваши сотрудники, например, из Житомирского офиса, возможность приезжать работать в Испанию?

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

Смотрю на конференции, где Jelastic был представлен в этом году: WHD.global, Mobile World Congress, CloudExpo Europe, IBM InterConnect. Что вам дает участие в подобных мероприятиях?

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

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

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

Какие сейчас мировые тренды в cloud computing, PaaS, — на что стоит обратить внимание разработчику, какие «скилы прокачать», куда направить усилия?

— Наиболее популярными трендами этого года являются контейнеры и гибридные облака. Мы используем контейнеры с самого начала развития нашего проекта (январь 2011 года). Но только сейчас большинство ИТ-компаний понимают достоинства этой технологии. Контейнеры сейчас на пике популярности. Чего только стоит ажиотаж вокруг Docker и их ответвления Rocket — все ведущие облачные компании уже внедрили контейнерные технологии к себе в облака. Jelastic не стал исключением: мы добавили поддержку Докеров в декабре прошлого года.

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

Глава 2. Команда

Как проходит твой рабочий день как CEO/CTO компании?

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

Как выстраивается процесс разработки в Jelastic, какие методологии вы используете?

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

Относительно основных этапов разработки, то это практически классика:
— Бизнес-моделирование — всегда надо начинать с того, что будет востребовано на рынке, что в результате принесет прибыль;
— Сбор и анализ требований — на этом этапе много коммуницируем с партнерами;
— Разработка архитектурного решения и оценка сроков выполнения;
— Непосредственно разработка (написание кода) — тут стоит сделать акцент на регулярном ревью фичи, без этого никак. В процессе участвует как комманда, так и партнеры, а также советчики (те самые звезды);
— Тестирование и полировка;
— Документирование;
— Релиз.

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

Есть ли у вас какие-то свои наработки и фишки, которые помогают в процессе?

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

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

Что вам помогает поддерживать хорошую атмосферу в команде?

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

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

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

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

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

— Быть открытым и честным. Рассказать про свои сильные и слабые стороны, не скрывать свои предпочтения и ожидания.

Глава 3. Startupping-bootstrapping

Robotics сессия на IDCEE 2014, Киев. Фото Alex Grechanowski

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

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

В какие сроки можно выйти на рынок, протестировать свой продукт-идею?

— Очень зависит от идеи. По моим личным наблюдениям, в среднем за 6 месяцев.

Есть шансы у распределенной команды добиться успеха? Как ты относишься к удаленной работе?

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

Команда из уездного города X хочет основать PaaS стартап. На какие три вещи стоит сделать упор в самом начале, а что — отложить на будущее?

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

Глава 4. Личное

Что помогает тебе совершенствоваться как предпринимателю?

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

Что тебя мотивирует?

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

Ситуация: тебя высадили на необитаемый остров на три месяца, еда и вода есть, дали ноутбук(и) с Интернетом. Чем ты будешь заниматься?

— Ознакомлюсь с местностью через гугл карты, найду пресную воду и потенциальные источники питания. Далее начну заниматься развитием туристических VIP-туров на этот остров. Потом по ситуации.

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

— В основном приложения, которые связаны с организацией поездок — бронировка авиабилетов и отелей, карты местности, приложения Google для работы с документами, программа для оценки скорости интернет-канала и, конечно же, почта, Skype, Viber . Ничего особого. В 90% хватает браузера и почтового клиента.

На каких конференциях планируешь побывать в этом году?

— Apps World в Германии, WHD USA, JavaOne в Бразилли и в США, HostingCon, ContainerCon и ряд других.

Руслан, большое спасибо за беседу. Где тебя можно найти в Интернете?

— Спасибо, всегда рад общению.
Facebook
Linkedin
@siruslan

22 апреля, Киев — Курс «Automation for beginners: Selenium+Java»

$
0
0

Даний курс є в першу чергу практикумом з автоматизації веб застосувань для тест інженерів без попереднього досвіду як в автоматизації так і в програмуванні взагалі.

Ціллю курсу є отримання необхідних навичок для перекваліфікації в Junior QA Automation Engineer і побудови з нуля автоматизації тестування вебу.
Проте, курс також буде цікавим людям і без досвіду в тестуванні, які хочуть розпочати кар’єру в ІТ. Курс не дасть розуміння всіх аспектів процесу тестування, але познайомить з доволі важливою його складовою — автоматизацією, і навіть може стати першим впевненим кроком до опанування ролі Software Developer In Test (Java).
В якості інструментів виступають найбільш поширені на ринку: Java + Selenium (Webdriver)

Основна програма:

— QA Automation. Призначеня і умови застосування.
— Java core. робота з Java IDE (Intellij Idea). Testng/Junit.
— Принципи написання Selenium (Webdriver) тестів. XPath/CSS локатори.
— Ефективні тести з cучасною бібліотекою на базі webdriver: Selenide.
— Введення в «Best Practices» програмування. Патерни програмування. Рефакторінг. ООП.
— Принципи побудови тест фреймворків і структуризації тестів. PageObject, PageFactory та інше.
— Continious Integration.

Особливості курсу:

— Фокус на практиці: побудова автоматизації з нуля від першого скрипта до автоматичного тест сьюта на CI сервері
— Пояснення доступною мовою
— Курс має мінімальну програму, але не має обмежень в передачі знань. Єдине що обмежуватиме ваш прогрес — ваш час і натхнення :) При бажанні студенти зможуть отримати знання і advanced рівня.
— Знайомство з найсучаснішими методологіями (Agile, ATDD, Сontiniuos Integration, та ін.)
— Розширення автомейшен портфоліо в резюме: посилання на github з кодом вашого test automation фреймворку.
— Підготовка до співбесіди, допомога при складанні резюме.
— Реальний досвід проходження співбесід, на яких інтерв’юерами виступатимуть одні з кращих представників лідуючих ІТ компаній

Зареєструватись на перше заняття

З найкращими побажаннями, IT Labs

Frontend дайджест #7: Реакт, js-фреймворки, оптимизация

$
0
0

allenpike.com/2015/javascript-framework-fatigue — сочинение на тему шаткости мира JS-фреймворков.

teropa.info/blog15/03/02/change-and-its-detection-in-javascript-frameworks.html — о том, как разные фреймворки слушают и обрабатывают изменение данных.

facebook.github.io/react/blog/2015/03/04/community-roundup-25.html — интересные штуки по реакту.

open.bekk.no/easier-reasoning-with-unidirectional-dataflow-and-immutable-data — Flux и immutable, все “за” и “за”.

christianalfoni.github.io/did-you-know-webpack-and-react-is-awesome.html — очень детально описана многоходовочка с интеграцией вебпака и реакта.

facebook.github.io/react/blog/2015/03/19/building-the-facebook-news-feed-with-relay.html — создание новостной ленты фейсбука с помощью Relay и реакта.

pandastrike.com/posts/20150311-react-bad-idea — мысли автора о том, что реакт — это плохо.

github.com/ericdouglas/ES6-Learning — желтые страницы ES6. Каталог книг, статей, докладов.

tooling.github.io/book-of-modern-frontend-tooling — книга по фроентэнд тузлам.

designpreppy.ru/layout.html — лекции школы Горбунова по типографике и верстке.

paulirish.com/2015/advanced-performance-audits-with-devtools — продвинутое профилирование сайтов.

developers.google.com/web/fundamentals/performance/rendering — как писать быстрые приложения.

larahogan.me/design — напоминание про необходимость оптимизации веб-сайта.

speakerdeck.com/lara/image-formats-the-nerdy-parts — обзор форматов картинок, для чего какие использовать.

slides.com/sarasoueidan/building-better-interfaces-with-svg — море примеров использования SVG для построения интерфейсов.

medium.com/@patrickbrosset/do-you-really-understand-css-linear-gradients-631d9a895caf — линейные градиенты в CSS и все о них.

alistapart.com/article/quantity-queries-for-css — качественные селекторы в CSS и все об этом.

kirupa.com/html5/web_animations_animate_method.htm — о новом методе для анимации.

christianheilmann.com/2015/04/08/keeping-it-simple-coding-a-carousel — создание карусельного компонента простым, но надежным способом.

james.padolsey.com/javascript/fuzzy-scoring-regex-mayhem — нечеткий поиск для автокомплита.

Посмотреть

youtube.com/watch?v=Dy56MaXtWtA — React и Webpack с помощью кирки, лома и какой-то матери.

youtu.be/X6YbAKiLCLU — видео с обзором использования связки React Native + Mobile.

youtu.be/HOpyRiXB5WQ — преимущества разработки с помощью React.

youtu.be/dlnaSDlPCCE — влияния нововведений в JS на современную веб разработку.

www.youtube.com/watch?v=m3svKOdZijA — functional underscore и рецепт, как правильно его готовить.

Библиотеки

github.com/facebook/react-native — React-Native!

muicss.com — минималистичный CSS-фреймворк в стиле материал дизайна.

primercss.io — новый CSS-фреймворк от разработчиков Github.

projects.formidablelabs.com/radium — CSS в JS под Реакт.

kriasoft/react starter kit#22 — всем flux-ов.

github.com/ericclemmons/react-resolver — библиотека для ленивой загрузки данных в реакт-компоненты.

googledevelopers.blogspot.com/2015/02/introducing-grpc-new-open-source-http2.html?m=1 — rpc библиотека Google.

forerunnerdb.com/index.html — производительная база данных для браузера с фоллбеками на разные хранилища.

ionicframework.com — фреймворк для построения нативных мобильных приложений на web-технологиях.

danielrapp.github.io/doppler — эффект Допплера: скролл странницы с помощью движения руки, которое улавливается микрофоном.

riccardoscalco.github.io/textures — генератор SVG-текстур для d3.js.

shuvalov-anton.github.io/textr — js-типограф.

Демки

shadertoy.com/view/Ms2SD1 — невероятное WebGL море. Крутим коэффициенты и меняем структуру.

yusugomori.com/projects/css-sans/fonts — шрифт средствами CSS.

madebyevan.com/webgl-water — вода на webgl.

codepen.io/jeroens/blog/the-illusion-of-life — анимации по киношным принципам.

species-in-pieces.com — целая выставка, реализованная с помощью CSS.

codepen.io/c4rin3/pen/Gsfmu — анимированные роботы.

codepen.io/nicolasdnl/details/zxedvW — анимированные кольца.

marcysutton.com/page-scrolling-in-mobile-safari-voiceover — доступное слайд-меню.

Остальное

speakerdeck.com/addyosmani/devtools-state-of-the-union-2015 — доклад на тему состояния инструментов веб-разработки в 2015 году.

github.com/loop-recur/FPJS-Class — туториал функционального программирования на JS.

udacity.com/course/ud860 — курс по оптимизации фронтенда от разработчиков google.

perf.rocks — каталог ресурсов по производительности фронтенда.

jstherightway.org — набор правильных ссылок по теме JavaScript.

flexboxin5.com — интерактивный туториал по flexbox.

sassbreak.com/double-ampersand-mixin — прием &+& для препроцессоров.

demosthenes.info/blog/994/Making-and-Faking-Ordinals-on-Web-Pages — как делать верхние и нижние индексы (“1₂, 1ˢᵗ”) - в CSS.

codepen.io/shshaw/blog/responsive-placeholder-image — отзывчивый плейсхолдер для картинки с помощью SVG.

qrohlf.com/trianglify — генератор SVG -паттернов.

blogs.msdn.com/b/ie/archive/2015/03/23/partnering-with-adobe-on-new-contributions-to-our-web-platform.aspx — Adobe коммитит в IE!


Также уже в эту среду (22го апреля) пройдет очередная фронтенд встреча, на которую к нам придет Никита Прокопов. Он выступит с продолжением своего доклада — “Функциональное программирование в браузере”. Приглашаем всех, будет очень интересно!


Отдельно напомню, что у нас есть места во фронтенд команде. Задачи — веб-редактор, браузерное расширение, движок редактирования (что-то вроде Гугл-докса). Продуктами пользуются миллионы пользователей. Кому интересно, пишите на kigorw@grammarly.comрассказ (рассказ!) о себе, и я дам вам тестовое задание.

С вами был Игорь Кононученко @kigorw. Оформить дайджест помогали мои коллеги Сергей Руденко и Евгений Чечурин.

← Предыдущий выпуск: Frontend дайджест #6.

27 апреля, Киев — Open .NET Community Meeting #5

$
0
0

Functional side of .NET: is C# enough?
We are inviting passionate developers to listen, talk and debate about functional languages.
This is the 5th meeting of Open .NET Community.

Speaker:
Anton Moldovan, Senior .NET Developer. Anton is enthusiastic engineer who works primarily with .NET stack. He specializes in accelerated code production via code generation (static or dynamic), aspect-oriented programming, domain-specific languages.
Github
Blog
@AntyaDev

Agenda:

18:40 — 19:00 Registration and coffee
19:00 — 20:30 Is C# is still enough?
• The problem of OOP
• Why functional programming
• OOP design patterns/principles in FP world
• Railway oriented programming (handling errors without exception)
• TDD without Mocks
20:30 — 20:45 Pizza
20:45 — 22:00 Concurrency without Locks! (Actor Model)

Participation is free after registration, the number of seats is limited.

Still have any questions?— to contact Iuliia_Baranova@epam.com, Skype: julson_julson, phone: +38 067 83-59-865.

Ближайшее будущее украинского ИТ

$
0
0

[Об авторе: Владимир Железняк — программист, менеджер, сооснователь проекта «Психология в IT». Видел много кризисов, начиная с краха доткомов]

Что происходит

Я заметил две тенденции.

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

2. Массы пошли учиться на джуниоров. У не-айтишников зарплаты в долларах упали, работу стало найти сложнее. Как пример — зарплата инженера-электронщика в Харькове раньше была около $1000, сейчас — около $400. Раньше квалифицированный не-айтишник при переходе в IT на минимальную зарплату сильно терял в доходе, а теперь — просто остается при своих, зато с бОльшей перспективой.

— У тебя нет знакомого программиста?
— На C++ или Java?
— Да хоть на PHP, мне замуж.
© увидел у Serge Kovaleff

Большинство идут в QA, хотя Junior QA на рынке переизбыток, и этот путь уже закрыт. Для новичков я советую сейчас идти по линии вёрстки (HTML + CSS -> Bootstrap -> JavaScript -> Angular 2).

Перспективы тех, кто уезжает

Программисты

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

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

Менеджеры

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

Перспективы тех, кто остается

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

«Продам верстальщика как фронтендера»
Вот такой аутсорсинг-бизнес.

Бизнесмену, в отличие от разработчика, гораздо сложнее переехать в другую страну. Путь «инвестируйте $1M для получения визы» доступен только крупным предпринимателям. Для владельцев небольших фирм более реалистичный путь — освежить знания в программировании и уехать в качестве наемного работника. Так что если большой войны не будет, бизнес у нас здесь останется.

Что делать работодателям и менеджерам?

— Удерживать спецов. Кстати, зарплатный потолок для сеньоров в аутсорсе — тоже, если еще не достигнут, то очень близок. Как сказал один заказчик, «За +20% я найму такого же по знаниям, но он будет отлично говорить по-английски, жить в моей таймзоне и ходить ко мне в офис». Так что удержать деньгами будет непросто.

— Прорабатывать риски увольнения ведущих специалистов. А заодно — и ситуации, когда бизнес затыкает одним таким несколько проектов;

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

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

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

— Какие паттерны ООП вы знаете?
— Костылирование, Инкостыляция и Поликостылизм.© не моё

В поисках идеального программиста

$
0
0

Одной из проблем трудоустройства являются завышенные требования к новичкам. Например, если человек только «недавно» начал работать в IT, то отсев происходит уже с первого требования «3+ years of experience». Очевидно и то, что за последние годы объем технологий и фреймворков, в которых должен разбираться девелопер, увеличился, и растет дальше, как снежный ком. Сегодня для трудоустройства нужно знать побольше, чем 10-15лет назад. Если раньше на позицию джуна было достаточно средне-уверенных познаний в Core Java и скудных крох по SQL, то теперь с будущих девелоперов на собеседованиях сдирают по три шкуры, прежде чем не взять на работу.

При этом требования бывают не только завышенными, но и взаимоисключающими. Рассмотрим некоторые из них:

— Obsession with software architecture and quality.Вроде бы разумное требование, которое, тем не менее, входит в конфликт с не менее популярным пожеланием committed to meeting deadlines. То есть, с одной стороны, мы хотим перфекциониста, поведенного на качестве кода, с другой — чтобы всё выполнялось в срок. Тогда как на практике чем-нибудь точно придется пожертвовать — либо качеством, либо скоростью.

— You need to be a thinker and a doer.Напоминает поговорку «теория на практике мертва». Пока одни долго думают и перебирают все возможные пути, прежде чем приступить к реализации, другие, чуть пораскинув мозгами, тут же пробуют несколько вариантов и по месту решают задачу. Найти человека, который является одновременно и теоретиком, и практиком, можно, но баланс этих качеств — явление редкое. На одного моряка Магеллана нужен хотя бы один астроном Фалеру.

— You are a team player but can work alone. То есть, с одной стороны, подавай им командного игрока, который отдает хорошие передачи и принимает неточные пасы, но с другой стороны, это должна быть звезда уровня Зидана, который способен на одном дыхании пробежать всё поле и обвести восьмерых соперников. Сочетание в одном человеке этих двух качеств — редкость. Футбол — лишнее тому подтверждение: есть защитники и полузащитники, которые делают всю «грязную работу», но также есть и форварды, которые большую часть времени в гордом одиночестве «пасутся» у передней кромки, ожидая своего часа. Требование быть одновременно и командным игроком, и воином-одиночкой намекает на то, что процессы в компании налажены скверно. Или они еще сами не знают, куда вас приткнут.

— Outstanding English communication skills, both written and verbal.В более «земных» вариантах указывают требования поскромнее — вместо outstanding идет excellent или даже good (иногда intermediate). Теперь, положа руку на сердце, давайте вспомним, когда мы последний раз слышали отечественного разработчика, чье произношение не то что не режет слух, но хотя бы не пестрит грубыми школьными ошибками. Сложно сказать, почему у наших разработчиков плохо с английским — то ли нет практики, то ли программирование забирает всё свободное время, и на учебу уже не остается сил, но проблема эта остается актуальной. И несмотря на всю нереальность требования отлично владеть языком, его продолжают повторять почти в каждой вакансии. Тогда почему бы сразу не написать: требуется лингвист-программист? Или по-чесноку: требуется базовый уровень английского together-because.

— Work under pressure, and work with frequent interruptions. Работать под давлением — это ещё туда-сюда, потому как быть мазохистом — право каждого. Но работать с частыми прерываниями — это явный оксюморон. Такое требование ещё можно предъявить кассиру или полицейскому, но программисту, чья работа требует глубокого погружения на длительные отрезки времени, чтоб его при этом никто не отвлекал, такое предлагать как минимум некорректно.

На этот счет очень удачно высказался Jason Fried:

Does anyone here expect someone to sleep well if they’re interrupted all night?
I don’t think anyone would say yes.
Why do we expect people to work well if they’re being interrupted all day at the office?

— You need to be ambitious.«Амбициозность» — ещё одно интригующее словечко, которое, тем не менее, оставляет странное послевкусие. Как после объявления «Требуются амбициозные негры на плантацию». Одно дело — искать такого человека для работы в Intel, Google или, на худой конец, для стартапа. Но другое — ждать амбициозности от человека, задача которого — ни больше ни меньше как выполнять задания. Может, это качество должно проявляться в выборе фреймворков? Или в написанном коде?

— Ипполит, как тебе мой солюшн?
— Джо, это определенно очень амбициозный код.

— Хлопцы, нам сегодня нужно сделать амбициозный деливери. Справимся?
— Конечно, босс! Мы уже просто заждались шанса проявить себя.

Очевидно, что высшая точка амбициозности любого разработчика — создание прибыльного проекта, который перерастет в бизнес-империю. Разве такого сотрудника ищет рядовая IT-контора?

— Ability to manage multiple tasks simultaneously.То есть нужен Юлий Цезарь. Нет, с этим требованием всё по-честному. Вот только оно будет конфликтовать с Result oriented и Problem solver. Потому что, как известно, от многозадачной работы падает IQи результативность труда. Фактически это требование значит вот что: требуется навык многозадачного отупения.

— Responsible and loyal. С первым все понятно — от работника требуется ответственность. Но что здесь делает loyal? Преданность (или верность) компании чем-то напоминает патриотизм. И ладно бы ещё речь шла о верности конкретному человеку, но мы говорим о компании, которая, как и страна, является чем-то абстрактным — собирательным образом идей, людей, процессов и целей. И вот от вас требуют верности, от слова «вера». То есть просят отключить мозги и бить себя в грудь, защищая интересы компании во что бы то ни стало, даже в ущерб себе. Не будет ли здесь конфликтов с амбициями сотрудника? Например, если ему нужно больше денег, тогда как лояльность компании подразумевает не только меньше денег, но и больше овертаймов. И если в отношении страны такой подход может иметь смысл (чтоб защитить своё племя), то в отношении компании — далеко не факт, потому как это не ваше племя. Вы эту компанию не создавали, и с её директором не в дружеских отношениях, чтобы быть преданным. Как говорится, business only.

— Having sense of duty.Исполнительность — важное качество сотрудника, которое ценится как коллегами, так и работодателем. Но феодалу всё мало — ему нужно, чтоб человек был ещё и self-starter who takes initiative. Эдакий послушный предприниматель, инициативный исполнитель.

Так и представляешь себе ситуацию:
— Шеф, предлагаю уволить Джо и нанять нового сотрудника, а проект закрыть.
— Молчать!
— Так точно.

— Proven analytical and problem-solving abilities.А вот это уже смахивает либо на спам, либо на пощечину разработчику. Всё равно что выставить требование преподавателю английского: proven written and spoken English abilities. Или требование студенту: Proven ability to study. Самым унизительным здесь является слово proven.У тебя 5+ лет опыта разработки на Java и C++ в enterprise и на распределенных серверных системах? Чушь. Докажи, что у тебя аналитический склад ума и что ты умеешь решать задачи.

Пожалуй, единственная польза перечисления подобных требований в вакансии заключается в отпугивании соображающих претендентов. Где требуется multi-tasking и ability to work under pressure — там будут выжимать все соки; где нужно быть амбициозным и инициативным — будет много ответственности, ну, а где нужно быть loyal, потребуется собачья верность в виде овертаймов и согласия на скудную зарплату.

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

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

Кто-нибудь узнал себя? Нет? Срочно пишите рапорт об отставке.

24 мая, Киев — Мастер-класс "Разработка многопоточных приложений на Scala + Akka", Возняк Роман

$
0
0

Организатор: SmartMe
Спикер: Возняк Роман

Мастер-класс будет полезен для тех, кто уже знаком с синтаксисом и основными концепциями программирования на Scala, но также хочет научиться писать многопоточный код, используя модель акторов и библиотеку Akka.
От теории к практике: за несколько часов мастер-класса мы рассмотрим решение классических задач, а также напишем небольшое приложение на Scala + Akka.

Prerequirements:
— JDK (1.6+) + IntelliJ IDEA
— Аккаунт на Github (optional)

О тренере

Возняк Роман

Senior Java/Scala developer в Ciklum / Независимый консультант по архитектурным решениям в Comergence. Участник сообщества «10 per» и член команды образовательного проекта CheckPoint.
Разработкой коммерческих проектов занимаюсь с 2009 года, последние 3 года увлечен функциональным программированием на Scala. Евангелист Typesafe Reactive Platform.

План мастер-класса

1. Вступление:
— Что такое Akka?
— Модель акторов
— Параллельное выполнение кода без головной боли.
2. Подключаем Akka к существующему проекту.
3. Система акторов, ActorRef, жизненный цикл актора, mailboxes.
4. Паттерны общения c акторами: Tell, Ask, PipeTo.
5. Fault tolerance: стратегии обработки ошибок.
6. Unit-тестирование акторов, Akka TestKit.
7. Работа с распределённым кластером Akka акторов.
8. Akka-планировщик.
9. Мониторинг Scala + Akka приложения.
10. Дополнительные возможности конфигурирования.

Воспользуйтесь скидкой:

Cкидка 10 % для читателей DOU по промо-коду douScala_Akka

Детали воркшопа и регистрация

17 мая, Киев — Мастер-класс "React.js и Cutting Edge стек", Сегеда Илья

$
0
0

Организатор: SmartMe
Спикер: Сегеда Илья

В 2013 году Pete Hunt выступил с докладом «React: Rethinking best practices», в котором представил библиотеку, разработанную командой из Facebook. Впоследствии этот доклад, и собственно сама библиотека, перевернули представление о правильной разработке UI. Спустя 2 года о React гудят все и, буквально через полгода, он становится стандартом де факто.

Данный мастер-класс основан на личном опыте, куче изученного кода в публичных репозиториях , и часах холиваров в профильных чатах.
Мы используем React, Flux, React-router, ImmutableJS, Webpack, react-hot-loader, Babel и react-intl для разработки изоморфного приложения и для понимания «как со всем этим взлететь».

Воркошоп для тех, кто уже познакомился с React.js и хочет увидеть, как с его помощью создавать сложные приложения.
Цель воркшопа — научиться создавать сложные приложения с использованием React.

Получи в подарок онлайн-трансляцию этого мастер-класса!

О тренере

Сегеда Илья
Senior JavaScript developer с опытом более 6-тилет, в IT-сфере с 2001 года. На данный момент занимается разработкой собственного StartUp-проекта.

Реализованные Ильей проекты: Anesthesia (Kitchek); Citroen DS4 web-site; Prizoland — платформа для создания промо-кампаний с розыгрышами для сторонних компаний и системой глобальных ачивок; Vinc — редактор и проигрыватель сложных презентаций с насыщенным контентом; Система поиска по внутренней документации для Сбербанка.

План мастер-класса:

1. Введение
2. React:
— Почему хтмл-темплейты — это плохо, а JS-компоненты — это хорошо
— Thinking in React
— Re-render the whole app
— VirtualDOM — лучшее, что случалось с фронтенд разработкой
— Немного про Events
— Немного про Изоморфность
3. Flux:
— Почему MVC — это плохо, а Flux — это хорошо
— Unidirectional data flow
— Actions — Dispatcher — Stores — Components
— Ещё немного об Изоморфности
— It’s already Monday but we still don’t have brand new Flux implementation
4. React-router:
— URL как неотъемлемая часть всех web-приложений
5. ImmutableJS:
— Почему Mutable данные — это плохо, а Immutable — это хорошо
6. React-intl:
— Здравствуйте — Hello — こんにちは
7. Babel:
— Как начать писать код более производительно
8. Webpack:
— React-hot-loader
9. О будущем:
— Relay и GraphQL
— React-native
10. «А теперь мы попробуем со всей это фигнёй взлететь»

Воспользуйтесь скидкой:

Cкидка 10 % для читателей DOU по промо-коду douReact_JS

Детали и регистрация

Бросить всё, чтобы делать игры

$
0
0

[Об авторе: Артур Богданов — в прошлом co-founder amgrade.comи drucode.com. Сейчас разработчик игр]

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

За те 5 лет менеджмента я создал 2 веб-ауторсинговые команды и провалил один игровой проект. Примерно 6 месяцев назад подарил свои 50% в аутсорс-компании уже сложившемуся там костяку (не считая символичных 60k usd, взятых со счета компании на двоих с партнером) и ушел учиться делать игры.

Старт

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

Кстати, на тот момент друг жил в зоне боевых действий, в Артемовске (Донецкая область). Я долго искушал его переехать во Львов. Спустя 4 месяца он таки решился, оставив собственный дом в Артемовске, взяв в охапку жену и двоих детей. Еще спустя месяц он совершил другой героический поступок — ушел из аутсорсинговой компании, в которой проработал около 10 лет, потому что полноценно совмещать разработку нашей игры и другую работу фулл-тайм стало невозможно.

Технология и обучение

Из множества игровых движков остановились на Unity3d. Он прост в освоении, есть большое сообщество, а также пара знакомых программистов, которые давно работают с Unity. К тому же, с помощью него можно выпустить игру на все мобильные платформы без особых дополнительных усилий.

Программировать я не умел, поэтому начал учиться. Проходил онлайн-курсы, читал документацию, смотрел туториалы и пробовал создавать игровые прототипы. Кстати, ни одного туториала так до самого конца и не прошел — скучные они какие-то. Хотелось реализовывать свои идеи, а не списывать код. Как мне кажется, наиболее эффективное обучение — это вдумчиво читать документацию и как можно больше программировать, постепенно решая всё более сложные задачи. Еще очень помогают книги от матерых программеров. Одна из моих самых любимых: «Game Coding Complete» by Mike McShaffry and David Graham.

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

Услуги моего товарища-программера обошлись нам в 1600 usd. Получилось всё очень классно и гибко. Ничего особенного для гейм-дева, но очень юзабельно: вся логика управляется игровыми стейтами, стейт-машины приаттачены к основным game objects, которые, в свою очередь, управляют дочерними объектами. Каждая сцена имеет свой Root class. Стейты переключаются в Root-классе сцены, а их логика в основном обрабатывается в скриптах-моделях, этих основных game objects. Совсем начинающим программерам с удовольствием расскажу более подробно — пишите. Кто может научить делать лучше — тоже пишите, пожалуйста.

Про игру

В нашей игре нужно складывать роботов из частей. И чем быстрее и лучше вы сможете это делать, тем дальше продвинетесь. Игра — абсолютно family safe. Она развивает концентрацию внимания, и я был поражен тем, с каким восторогом ее принимают дети. Сначала выйдет для ipad, потом — iphone, а дальше посмотрим.

Ниже пара персонажей, как мы их задумали и какими они получились в 3d:

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

Сейчас мы работаем над UI, саунд-дизайном, доведением геймплея, 3D-объектов и сцен.

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

Личные трудности

Тяжело было в корне изменить свой образ жизни.

1. От майнд-сета менеджера к разработке
Когда вы занимаетесь бизнесом/управлением, присутствует много мультитаскинга, общения с людьми по e-mail и в «реале» и мало концентрации на одной узкой задаче (по крайней мере, так было у меня). В разработке важно уметь фокусироваться на одной задаче в одно время. Делегировать мне пока некому.

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

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

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

3. От работы в офисе — в работу дома
Поначалу было очень тяжело просыпаться и, никуда не выходя, садиться за компьютер. Часто мозг просто отказывался думать и учиться, лень брала верх. А еще рядом любимая Dota 2 и друзья, которые играют по вечерам. Но я решил постепенно справляться с этой прокрастинацией. Помог спорт и кофе по утрам, причем для спорта много не надо — достаточно турников на площадке рядом с домом. Это действительно придавало бодрости, и только после возвращения домой и чашки крепкого кофе я собирался с мыслями и фокусировался на деле.

Почему игры?

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

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

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

Что дальше

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

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

P.S.У меня есть блогна английском языке, где я пишу апдейты по нашей работе, и твиттер. Буду рад новым подписчикам.

Беседа с Николаем Типатовым, бизнес-тренером

$
0
0

201-йвыпуск подкаста «Откровенно про IT карьеризм». В подкасте пойдет речь о Космосе, черничных пирожках и психологии.

В программе:

  • Про во’IT’и
  • Байконур и IT
  • Армия
  • Первая IT работа
  • Космос
  • Кризис и челноки
  • Сетевой маркетинг
  • HR опыт
  • Веб-дизайн
  • Социальные эксперименты
  • Позитивная психология
  • Карелия
  • Регулярные выражения

Книги в выпуске:

Прямая ссылка на файл
Подкаст на iTunes

Текстовая версия доступна на itpodcasts.com.ua.


Выпуск записан при поддержке IT-компании AltexSoft.

Подкаст «Откровенно про IT карьеризм» от идеи до реализации — интеллектуальная собственность Михаила Марченко и Ольги Давыдовой. Все вопросы, касающиеся подкаста, адресуйте нам на shami13@gmail.com.

Viewing all 8151 articles
Browse latest View live