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

30 июня, Киев — Курс "iOS с нуля (swift)" от Web Academy

$
0
0

Web Academy приглашает на курс Курс «iOS с нуля (swift)» — старт 30.06.2015 — Вт и Чт с 19:00-22:00

MacBook при необходимости предоставляем.

Преподаватель:
Senior iOS Dev
Работал в таких компаниях:
— Senior iOS Engineer — DIO-soft — июль 2013 — апрель 2015 (1 год 10 месяцев)
— iOS Team Lead — Luxoft — январь 2013 — июнь 2013 (6 месяцев)
— Project Lead — Ciklum — сентябрь 2010 — декабрь 2012 (2 года 4 месяца)

Отзывы выпускников о данном курсе:

Внимание! Web Academy также предоставляет услугу индивидуального онлайн обучения по курсу «iOS с нуля» , но защита проекта и финальное тестирование проходят в Киеве в нашем учебном центре. Детальную информацию по данному формату можно узнать у нашего менеджера.

Запрос на программу курса отправляйте на info@web-academy.com.ua
Фото с наших курсов
Мы на Facebook (Следите за бесплатными вебинарами и мастер классами , нам важен твой лайк )

Внимание! Все курсы ориентированы на результат — реализованное финальное приложение и полное понимание структуры кода!

Также вкусные чай, печеньки, IT тусовки и общество единомышленников гарантируем!


Звоните:
— 063 233 15 22
— 068 233 15 22
— 044 233 15 22


SQL Server дайджест #5: SQL Server 2016 CTP, как проверить свои знания по SQL, архитектура StackOverflow

$
0
0

Новый дайджест, новые анонсы, новые статьи — самая интересная информация из мира SQL Server. В этом выпуске: SQL Server 2016 CTP, SQLSaturday Kiev — Recap, Как проверить свои знания SQL Server, Архитектура StackOverflow и многое другое.

Пора Ставить!

SQL Server 2016 first public preview now available!: Главная новость последнего времени. Список ключевых новинок доступен по ссылке, и он включает в себя такие фичи, как: PolyBase (мост между SQL Server и Hadoop), балансировщик нагрузки для групп AlwaysOn, поддержка JSON, AlwaysEncrypted, Row-level Security, Dynamic Data Masking, поддержка R, обновляемые некластерные колоночные индексы, возможность создавать обычные b-tree индексы на таблице с кластерным колоночным, просмотр выполнения плана запроса в реальном времени и многое другое. На 7-куне ставится, нужна версия выше. Сам поставил себе на 10-ку,полёт нормальный :) по первым ощущениям студия стала заметно быстрее, на моём ноутбуке открывается так же быстро как блокнот :)

SQL Server 2014 Service Pack 1 Now Available for Download: Теперь можно :) Если помните, сразу после выхода его отозвали, чтобы починить что-то важное. Теперь полноценный сервис пак доступен для загрузки.

SQLSaturday Kiev 2015

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

SQLSaturday Kiev 2015 — Фотоотчёт: Все фотографии с конференции! Смотрим, как это было, отмечаем себя и друзей!

SQLSaturday Kiev 2015 — Материалы Докладов: Материалы докладов доступны на сайте SQLSaturday. Скачать их можно прямо из расписания.

Поиграться

SQL Server 2016 Virtual Labs: Хочется поиграться с SQL Server 2016, но не хочется ставить CTP на свою машину? Не беда, есть виртуальные лабораторные, где можно пощупать новые фичи SQL Server 2016 удалённо.

Почитать

SQL Server 2016 CTP2: first thoughts about tempdb database: Тенденция последних двух версий — небольшие, практически нигде не описанные улучшения в tempdb. Пока, кроме того, что можно выбирать количество файлов tempdb при установке SQL Server 2016, известно, что в 2016 версии, по умолчанию включено поведение, которое раньше включалось флагами трассировки 1117 и 1118. Об этом улучшении и говорится в посте Девида Барбарина.

SQL Server 2016 CTP2: Live Query Execution Plans: Простой и понятный пост Брента Озара об одной из самых интригующих возможностей SQL Server 2016 — возможности в реальном времени наблюдать за прогрессом выполнения запроса. Основывается она на, появившемся в 2014 сиквеле, представлении sys.dm_exec_query_profiles (и, соответственно, это работает и на 2014, если поставлен SP1).

Important change to VLF creation algorithm in SQL Server 2014: Немного отойдём от SQL Server 2016 и вместе с Полом Рендалом вспомним, сколько виртуальных файлов лога в логе транзакций и как поменялся алгоритм подсчёта количества виртуальных файлов лога в 2014 сиквеле.

Analyzing I/O Performance for SQL Server: Краткое руководство от Глена Берри о том, что может тормозить в системе ввода/вывода и как измерить эту производительность.

Database Engine Tuning Advisor: Отличный пост Гранта Фритчи, который показывает всю суть Database Engine Tuning Advisor и, в частности, то, почему им не стоит пользоваться и почему его стоит убрать из продукта.

Data Mining by Dejan Sarka: Серия постов о Data Mining от «Крёстного Отца» Европейского SQL сообщества — Деяна Сарки. Серия ещё не закончена, будут появляться новые посты. В Каждом из них в доступной форме разбирается один из алгоритмов Data Mining. Кто планировал ознакомиться с ними — самое оно.

How to read and interpret the SQL Server log: Часто задаваемый вопрос: «Можно ли как-то прочитать содержимое Лога Транзакций?». Краткий ответ: да. Подробный ответ — этот пост Ремуса Русану.

Clustered Index Vs. Heap: И напоследок — статья на ещё одну извечную тему: «Когда лучше, чтобы таблица имела вид кластерного индекса, а когда — кучи». Подробная статья на эту тему от Томаса Кейсера. НО! Сразу предупреждаю, чтобы потом не кидали в меня камнями: автор этого дайджеста не согласен с утверждением автора о том, что по дефолту лучше использовать кучу вместо кластерного индекса, и включает статью в дайджест потому, что в ней хорошо объясняется разница между кучей и кластерным индексом. Факты есть факты: как работает куча, как — кластерный индекс, сколько IO операций в каждом случае, и т.д. А советы автора — тут думайте сами.

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

Проверить Знания

New Free Quizzes: Indexing, Query Writing, and More: Интересные тесты по сиквелу от команды Брента Озара. Все тесты бесплатные.

Upwork: Давно не проходил здесь тесты (это бывший Odesk), сейчас зашёл проверить — всё по-старому, есть тест по чистому SQL и по SQL Server 2005. Тесты староваты, но зато бесплатны.

BrainBench: Сюда не заходил ещё дольше, чем на Upwork, и это ресурс только для тестов, как платных так и бесплатных. Сейчас зашёл — например, есть тест по SQL Server 2014, и он, к тому же, бесплатный. Собираюсь пройти, проверить знания.

Посмотреть

Architecture of Stack Overflow: Stack Overflow — один из самых больших и высоконагруженных сайтов, написанных на .Net и использующих SQL Server в качестве базы данных. В докладе детально рассказано о его архитектуре, и почему, собственно, был выбран SQL Server.

Посетить

24 Hours of PASS: 24-25 июня: 24 часа докладов онлайн по SQL Server от мировых экспертов по SQL Server. Участие в конференции бесплатное при условии регистрации. В этом году, как и в прошлом, доклады разбиты на 2 дня. Насколько я заметил, в этом году на конференции выступает много новых докладчиков, которых я ещё не слышал. Должно быть очень интересно. Пора регистрироваться!

Vinnitsa SQL Server User Group: 20 июня.: Уже на этих выходных — четвёртая встреча Винницкой SQL Server юзер-группы. В программе 3 часа доклада про статистику в SQL Server от Андрея Зробока. Присоединяйтесь!

Lviv SQL Server User Group: 27 июня: Июньская встреча Львовской SQL Server юзер-группы будет посвящена NoSQL, BigData и Machine Learning. Надо идти!


← Предыдущий выпуск: SQL Server дайджест #4

Як ми створювали PHP Continuous Integration Workflow в нашій команді

$
0
0
Image via Shutterstock.

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

На той час в компанії вже була спільна поштова конференція по Drupal, але користі від неї було мало. Також була в наявності деяка база минулих проектів, але жодної інвентаризації того, що в них там було створено, не існувало. Щоб було більш зрозуміло: компанія, по суті, створювала проекти, написані на PHP/Drupal, часом на Symfony2.

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

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

Ідея — додати автоматичну перевірку коду на стандарти, якими, як відомо, володіє Drupal спільнота.

Перша реалізація — додати перевірку коду PHP CodeSniffer кожного разу, як відбувається здача окремого завдання розробником.

Для цього ми використали вже існуючий на той час функціонал GitHub Pull Request. Для тих, хто не знайомий з даною технологією — перш ніж додати зміну коду в головну гілку з допомогою PR є можливість переглянути внесені зміни (manual code review).

Насправді додання цієї ручної перевірки, хоч воно було реалізовано першим, виявилось найскладнішим завданням, над втіленням якого ми працюємо досі. Мотивувати людей переглядати код інших розробників було досить складно. Але благо — в нас у команді виявилось два маніяки, для яких цей процес важливий.

Ми поставили на потік перевірку одне одного і почали вводити дану культуру в інші команди.

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

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

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

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

Для тих, хто знайомий Drupal, скажу, що ми повністю перейшли в цей час на розробку з допомогою інсталяційного профілю.

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

Що дає прив’язка до профілю?

Прив’язавшись до інсталяційного профілю, ми повністю перейшли на Code Driven Development — дана технологія майже повністю виключає можливість робити зміни в базі даних не через код.

Приклад початку роботи над завданням:

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

Дивлячись сьогодні на той процес, розумію, наскільки далеко ми пішли зараз із нашим CI. Але все по черзі.

На той час у нас була ручна перевірка коду на GitHub. І виникла ідея додати деякої автоматизації, бо більшість коментарів на той час були такі:
— додай docblock для функції
— додай docblock для файлу
— виправ стиль коду згідно зі стандартами
— виправ реалізацію згідно з ^^^

В основному ми стопорились саме на стандартах, бо багато розробників не дотримувались їх, і тут майже не було залежності від рівня — лажали всі. І це було зрозуміло: щоб бути мотивованим на дотримання стандартів, потрібно бути активним учасником спільноти Друпал і публікувати свої модулі на drupal.org. Лише тоді приходить розуміння, для чого це, лише тоді зустрічаєшся із тим, що твій модуль не приймають модератори, бо ніхто не хоче дивитись на код, який читати неможливо.

А нам саме це і було потрібно — створити мотивацію в наших співробітників, щоб вони публікувати свій код в спільноту — це і є code sharing, якого ми прагнули досягти.

Перші кроки автоматизації

Почати ставити команду на CI — нетривіальне завдання. Перший крок буквально міняє всі правила гри. В нашому випадку це було написання мною скрипта reinstall.sh

Спочатку все було на банальному shell
— вбити базу даних
— скинути налаштування до базових
— запустити інсталяцію Друпал
— оновити файли із Stage локально.

Цей скрипт було залито разом із проектом, і кожен почав його використовувати. Як бачите, про сканування коду на предмет стандартів тоді ще не йшлося. Все відбувалось малими кроками.

Віртуалізація + Vagrant

В наших командах були, є і будуть розробники, які працюють на MacOS, Windows OS && Linux OS. І потрібно було розробити таку систему, щоб уникнути проблему конфліктів і різниці середовищ. Ми прийняли дуже нелегке рішення — перейшли на віртуалізацію.

Стартанули із puphpet.com, по якому навіть провели кодспринт, щоб привести проект в вигляд, необхідний для наших потреб. В результаті ми отримали уніфікацію середовищ розробки за однієї проблеми — скрипти puppet, де були зібрані віртуальні конфігурації puphpet.com, не відрізнялись стабільність в тривалій перспективі — їх необхідно було постійно доробляти, щоб встигати в ногу за новими версіями програм. З часом ми перейшли на іншу систему, базовану на ansible provisioner.

Go Jenkins!

Для автоматичної перевірки коду ми використали Jenkins. Вибір сам напрошувався: були навички написання коду на Java і деяка практика використання цієї системи для автоматизації обслуговування серверів. Був використаний, а потім і дописаний плагін GitHub Pull Request Builder, який дозволяє запускати Jenkins job по події створення нового Pull Request в GitHub проекті.

Наступні кроки були справою техніки — створити скрипт, який буде запускати PHP CodeSniffer із стандартами Друпал для коду, який знаходиться в новому Pull Request.

І тут ми вперлись в проблему: як ядро, так і 100% контріб модулів, які ми використовуємо в кожному проекті, не проходять стандарти Друпал.

Це був перший шок, який дав нам зрозуміти, що доведеться змінювати всю суть розробки. В цей час ми вирішили відділити наш код від коду, який ми перевикористовуємо. І тільки наш код перевірявся на стандарти — ядро і contrib модулі ми пропускали. Це призвело до створення структури проекту, якою ми користуємося і досі.

Як для модулів, так і для шаблонів тем ми перейшли на структуру
— sites/all/modules/contrib
— sites/all/modules/custom
— sites/all/modules/features
— sites/all/modules/patched
— sites/all/modules/patches
— sites/all/themes/contrib
— sites/all/themes/custom

Відповідно в цій структурі сканування на стандарти коду відбувається лише для тек custom, бо тільки цей код пише команда.

Це вже кінцева структура. Бо теки patched && patches з’явились пізніше. Дану конвенцію ми розробляли кілька місяців, тим самим змусили всіх розробників публікувати патчі до contrib модулів на drupal.org.

Для чого це?

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

Таким чином ми вирішили проблему активності користувачів у спільноті — ми створили правило: якщо змінюєш модуль, добийся того, щоб латку було прийнято, і в наступній версії модуль знову повернувся з теки patched в теку contrib. Ну, а додатковим бонусом тут було те, що профілі наших розробників стали рости (продавці тепер мають, чим заманювати клієнтів), і досвід розробників разом з цим.

Project build

Наступний крок розвитку — створення project build для кожного Pull Request. До цього ми змушені були прийти, рано чи пізно.

Проблема, яка мотивує на це, — стара, як світ. Розробник на своєму локальному середовищі все реалізував, все у нього працює, код зливається в головну гілку репозиторія, робиться deploy на Stage — і, вуаля, щось не працює.

Причина: той самий розробник забув про конфігурацю. І проблема не в тому, що потрібно виправляти, а в тому, що час виконання завдання збільшується — deploy на Stage відбувається не кожного дня, і проблему можна навіть пропустити, бо минає якийсь час.

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

В нагоді став скрипт reinstall.sh, який на той час вже мав кроків з 10.

Все, що залишилось — це реалізувати Jenkins job, яка буде запускати цей скрипт на окремому сервері із кодом, який є в наданому розробником Pull Request, і інсталювати проект, надаючи унікальне посилання для доступу до тестування цього проекту.

Це змінило наш процес глобально. Як тільки ми релізували перший build, виявилось, що тепер немає необхідності робити QA на Stage — ми можемо відправляти їх на тестування білдів ще до того, як код заходить в master.

Перша реалізація системи, яка створювала білди для проекту, зайняла у нас майже тиждень. Інсталяція Jenkins + LAMP + PHP CodeSniffers + JShint + налаштування всього цього, щоб працювало разом із проектом GitHub.

Knowledge Exchange via QA

Першочергова проблема, яка стояла перед нами — обмін досвідом — так і не була вирішена аж до моменту, коли ми заборонили PR merge без проходження всіх тестів на стандарти коду. І тепер, при наявності готових build, у нас з’явилось нове правило — віддавати код на ручну перевірку кожен раз іншому учаснику команди. Це викликало деякі баталії щодо стилів, але з часом вони припинились, бо люди просто домовились, як ми пишемо.

Але головне — тепер в команді не було випадків, коли той чи інший функціонал був відомий лише одному учаснику, який його реалізовував — тепер є людина, яка переглядала код реалізації і шукала в ньому помилки, і був QA, котрий тестував функціональність реалізації одразу — тут же, в PR, який ще не зайшов в master гілку репозиторія.

Це призвело до того, що команди автоматично стали писати Steps for review для кожного Pull Request. І ці кроки змушений був писати той розробник, який реалізовував завдання.

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

На цьому етапі прості розробники стали розуміти, що реалізація тієї чи іншої задачі включає в себе логіку тестування, і з часом ми помітили, що реалізації ставали чим далі, тим більш елегантними — розробники стали більш розуміти бізнес процеси і UX.

Народження CIBox

Прийшов наступний проект, на якому ми теж хотіли використовувати CI. Налаштовувати новий сервер для нового проекту руками вже дуже не хотілось. Так ми прийшли до ansible.

Всі кроки інсталяції і всі конфігурації з першого проекту були за кілька днів зашиті у скрипт для ansible, який давав змогу налаштувати сервер не за тиждень, а за 12 хвилин, а потім за кілька годин зміни ключів доступу в налаштуваннях Jenkins ми мали змогу отримувати перші білди для нового проекту.

Даний ansible пакет було названо CIBox (Continuous Integration toolBox). Лише через півтора роки ми вирішили зробити його opensource.

Оновлення і обслуговування CI

Сама система Continuous Integration і весь набір складових — доволі складна річ. І рівень тих, хто її обслуговує, повинен бути відповідним. Ці люди повинні добре знати як Development, так і Operations, іноді навіть більше Operations.

Це призвело до ще однієї проблеми — в кожній команді всіх наступних проектів потрібен був DevOps, який в курсі того, як живе окремий проект, і володіє знаннями про те, як працює CIBox.

Як не дивно, проблема вирішилась тим, що ми отримали перші бонуси від проектів, реалізовані із CI — деякі team lead і розробники зацікавились CI і захотіли всі свої наступні проекти робити лише на ньому.

Бонуси

— якість коду,
— відсутність збоїв deployment,
— зручність manual code review,
— стандартизація і поява ситуацій, коли модулі з теки custom раптом почали підходити і для наступних проектів, бо вони стали більше відповідати бізнес логіці, а не конкретному завданню,
— зниження тривалості UAT (User Acceptance Testing) періоду.

Останній пункт вже зацікавив бізнес. В одному з проектів згідно estimate у нас за звичкою було заплановано 4 тижні на UAT. В результаті ми завершили роботу за тиждень — проблем як таких не було, клієнт все перевірив без глюків. Самі розумієте, скільки коштів це зекономило клієнту.

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

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

Зміни в менеджменті проектів

Завдяки CI змінились такі важливі речі, як деплой і менеджмент. CI виставив вимогу ділити завдання на короткі, бо їх простіше контролювати і тестувати, а також — завдяки тому, що деплой на стейдж став однією кнопкою в Jenkins, — нові features на стейдж почали заходити руками менеджера проекту. Складності в цьому немає. Збої відтестовані на створенні білдів (там всі помилки деплоя і виявляються, бо кожен білд — це і є по суті своїй деплой), а це значить, що напряг із деплоями на стейдж знявся повністю, головне — зробити Pull Request з master гілки в staging і дочекатись білда, щоб перевірити, чи не закралась раптом помилка, яка покладе стейдж. Якщо помилки немає — merge, і лише тоді запускається аналогічний до білда деплой, але вже в папку віртуального хоста staging сайту.

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

SQL CI flow

Гадаю, багато хто зустрічався з проблемою, коли на dev базі даних все працює, а от на базі з production, де є матеріали, додані контент менеджерами, — глюки. Побороти це не так і просто, бо доводиться робити подвійне тестування.

Ми зробили хід — спробували запустити розробку на production базі даних. Кожного вечора, або по ручному запуску база даних з production стягується і використовується як початкова база для reinstall скрипта на локальному середовищі і на білдах GitHub Pull Request.

Це ускладнило систему, додало деяких нюансів в організації процесу, але на 99% виключило проблеми деплоя не production — розробники навіть локально по суті своїй постійно працюють з базою, в якій присутні останні зміни.

Звісно, це ускладнило сам reinstall скрипт, бо з’явилось багато залежностей.

І тут ми використали магію — віддали відповідальність за reinstall скрипт команді, яка працює над проектом.

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

Потрібно, щоб після імпорту бази даних в базі робились деякі зміни — будь-хто може створити Pull Request, внести ці зміни і, дочекавшись від CI сервера білда, перевірити, чи вони відбулись. Таким чином, відпала необхідність у наявності команди Operations, яка займається підтримкою і модернізацією процесу — команди краще знають, що їм потрібно.

Єдина відповідальність, з якою складно, — це інтеграція внесених змін назад в CIBox, щоб кожен наступний проект використовував всі нововведення. Ця відповідальність впала на лідів, які, в свою чергу, зацікавлені, щоб на наступному проекті все відбувалося швидше. Благо, вдалось достукатись до керівництва і виділити час на розробку самого CIBox, знову ж таки, сформувавши для них список переваг, які отримуються в результаті.

CIBox Go opensource!

Через півтора роки ми вирішили поділитись своїми наробкамиіз спільнотою.

Наша система пройшла випробовування на Drupal6/7/8, а також на Symfony2 проектах. Може з легкістю бути адаптована для Wordpress, Laravel і будь-яких інших фреймворків. І не тільки PHP.

Ми проводили codesprint, в ході якого виявили можливості системи для великих команд і отримали докази, що система працює без збоїв в командах до 100 учасників.

В ній головне — ідея.

Ідея того, що master — завжди стабільний. Всі скрипти, які запускаються на CI сервері, — під контролем команди і можуть бути змінені в процесі розробки, щоб відповідати вимогам проекту.

Запуск нового проекту — ~1 година (Розвертання DigitalOcean Droplet і запуск jenkinsbox.ymlіз github.ymlіз налаштуванням базових доступів).

Основна мета відкриття проекту — ми шукаємо таланти. А також будемо щасливі отримати наробки спільноти в проект для розвитку даного продукту, адже він дозволяє вести розробку з великим задоволенням і зменшеними ризиками.

24 июня, Киев — Курс «IT-рекрутинг»

$
0
0

Вы — коммуникабельная и харизматичная девушка, но ничего не понимаете в IT? Считаете, что Java и JavaScript — это синонимы, а зарплату хотите получать в долларах или просто выйти замуж за программиста? Тогда курс «IT рекрутинг» — это Ваш первый шаг в IT-индустрию :)

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

Наш учебный центр успешно работает с 2012 года и за это время мы успели подготовить более 600 специалистов по 15 различным IT-направлениям, собрать команду из 24 преподавателей-практиков и получить звание «Самой активной образовательной инициативы» (IT Education Awards 2015).

Кому будет полезен курс IT рекрутинг (подбор и управление в персоналом в IT сфере)?
— Начинающим IT-рекрутерам, которые хотят «прокачать» уровень знаний (с опытом до 6 месяцев)
— Рекрутерам/менеджерам по персоналу не IT-компаний, которым необходимо эффективно закрывать IT-вакансии
— Молодым специалистам, которые хотят освоить профессию IT-рекрутера
— Тем, кто любит общаться с людьми
— Тем, кто хочет поменять профессию и хорошо зарабатывать

Краткая программа курса
— IT-рекрутинг. Компании. Технологии. Люди
— 1 правильное резюме — 1 звонок — 1 placement
— Освоение практического инструментария для эффективного поиска IT-специалистов
— «Охота за головами»
— Переписка с кандидатами. (Встречают по «мылу» провожают по Уму)
— Нет ничего эффективнее, чем простое собеседование
— Искусное взаимодействие с людьми
— Выйти замуж за программиста не понимая, что такое рефакторинг или же введение в техническую специфику
— Рекрутер — самая впечатляющая профессия
— Экзамен

Курс стартует 24 июня и состоит из 12 занятий (30 часов) по 2 раза в неделю (среда 19:30, суббота 11:00). Первое занятие — бесплатно.

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

Пришло время изменить свою жизнь к лучшему!

С наилучшими пожеланиями, команда IT Labs

1 июля, Киев — Курс «Advanced Java»

$
0
0

Согласно исследованиям DOU язык Java уже несколько лет подряд является лидером по популярности.

В ходе данного курса будут рассмотрены возможности платформы JEE, работа с базами данных в Java, Enterprise JavaBeans, внедрение зависимостей (CDI, Spring IoC), web-разработка, REST-сервисы, такие инструменты разработчика как система контроля версий GIT, сборщик проектов Maven и многое другое.

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

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

Краткая программа курса
— Параметризация
— Многопоточность
— Иструменты разработчика (GIT, Maven)
— Паттерны проектирования
— Архитектура JEE приложения
— Enterprise JavaBeans
— JNDI и Context Dependency Injection
— Java и WEB
— Базы данных и работа с ними
— REST-сервисы
— Spring
— Собеседование

Курс стартует 1 июля и состоит из 20 занятий (60 часов) 3 раза в неделю (пн, ср, пт в 19:00-22:00).Первое занятие — бесплатно.

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

Наш учебный центр успешно работает с 2012 года и за это время мы успели подготовить более 600 специалистов по 15 различным IT-направлениям, собрать команду из 24 преподавателей-практиков и получить звание «Самой активной образовательной инициативы» (IT Education Awards 2015).

Пришло время изменить свою жизнь к лучшему!

С наилучшими пожеланиями, команда IT Labs

Обратная сторона методологий и «лучших практик» разработки

$
0
0

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

В начале 2000-хпривычную некогда парадигму Waterfall стали даже клеймить позором. Если у человека на проекте не было новомодного Agile, то ему, краснея, приходилось выдумывать отговорки в стиле «Мы сейчас как раз на него переходим». В это же время у всех на языках завертелись неслыханные доселе словечки вроде extreme programming, scrum-master, stand-up meeting, backlog, sprintи так далее. В программирование вдохнули новую жизнь! Появились доски из пробки, в которые можно было с удовольствием вдавливать кнопки с разноцветными бумажками и стоять с умным видом, рассуждая о великом. И наконец появился долгожданный блэк-джек в виде Scrum poker. Всё это удобрялось важными графиками, глядя на которые нельзя было не чувствовать себя титаном прогресса.

Тогда наш коуч идёт к вам

Стали появляться книги по разработке ПО, в которых упор делался уже не столько на самом языке, сколько на том, с какой ноги следует встать утром, чтобы вечером вышел удачный коммит. Одна за другой начали выходить статьи о лучших практиках (aka best practices), усвоив которые, разработчик смог бы писать код покрасивше. А где статьи и книги, там и коучи (гадкое словечко), которые с удовольствием обучат вашу команду тому, чего ещё не существовало несколько лет назад и без чего вы всё это время прекрасно жили и работали.

Пропаганда методологий разработки сработала настолько удачно, что зараженные вирусом программисты сами же стали разносить эту заразу по всему миру. Новые проекты все как один начинались на Agile; в резюме стали появляться гордые строчки с упоминанием Scrum, RUP и XP, а на просьбу рассказать о своём предыдущем проекте одурманенный разработчик с гордостью рассказывал про опыт работы с Agile или Kanban, как будто это имеет какое-либо отношение к написанию кода.

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

Пыль в глаза

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

Теперь обо всей этой Agile-XP-Kanban-Scrum-RUP-Waterfall феерии заставили думать ещё и разработчика, задача которого — вообще-то не по митингам шастать или пускать каждый раз скупую слезу при виде burndown chart, а работать.


Хитрое «ноухау» — рисовать график выполненных задач не вверх, а вниз, прим этом называя его пафосным «Burndown chart». Но один вопрос остается открытым — зачем разработчикам график с нисходящей линией прогресса, которая вызывает негативные ассоциации?

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


RUP (Rational Unified Process) — чем сложнее для понимания, тем счастливее менеджеры и тем больше мусора в голове у разработчика.

Best practices (aka лучшие практики)

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

Есть такие люди, которые верят во всё написанное. Например, в то, что TDD (Test-driven development) — это святое добро, или что каждый сайт должен обязательно проходить валидацию W3C. Если ты на глазах такого человека начнешь писать код, не написав перед этим тест, он на тебя посмотрит так, как будто ты не помолился перед едой. Забыл название какого-нибудь паттерна или фамилию автора известной книги по ООП? Гореть тебе в аду, антихрист. В пользу того, что некоторые популярные методологии больше смахивают на религии, сам за себя говорит Agile, в котором есть такие понятия как церемонии, артефакты, графики сжигания и духовный лидер (aka Scrum Master).

Один из многочисленных примеров умопомешательства на «лучших практиках» — это вопрособ идеальной длине метода:

In «Clean Code: A Handbook of Agile Software Craftsmanship», Robert Martin says:

The first rule of functions is that they should be small. The second rule of functions is that they should be smaller than that. Functions should not be 100 lines long. Functions should hardly ever be 20 lines long.

and he gives an example from Java code he sees from Kent Beck:

Every function in his program was just two, or three, or four lines long. Each was transparently obvious. Each told a story. And each led you to the next in a compelling order. That’s how short your functions should be!

This sounds great, but on the other hand, in «Code Complete», Steve McConnell says something very different:

The routine should be allowed to grow organically up to 100-200 lines, decades of evidence say that routines of such length no more error prone than shorter routines.

And he gives a reference to a study that says routines 65 lines or long are cheaper to develop.

So while there are diverging opinions about the matter, is there a functional best-practice towards determining the ideal length of a method for you?

Слабые места методологий

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

Другая уязвимость этих методик заключается в том, что они пытаются объять необъятное. Почему-то считается, что если на заводах Toyota успешно применяется Kanban или Lean, то их стоит использовать и в разработке ПО. При этом многие забывают, что между производством стандартного автомобиля, где на учёте каждый болт, и программой, которая почти всегда уникальна и неповторима, даже если это шаблонный интернет-магазин, — огромная разница. Вот если бы на разработку ПО переносили методологии производства custom-made автомобилей (а ещё лучше — мотоциклов), можно было бы о чем-то говорить.

Третья проблема — перфекционизм, который на этих «лучших практиках» растёт, как на дрожжах. Если на проекте не хватает чего-нибудь из XP или нет 100% покрытия тестами, у некоторых ребят начинают трястись поджилки. Будь сейчас рядом Цукерберг, он бы явно негодовал со своим «Done is better than perfect». Ведь кому нужно всё это «вылизывание» и бесконеный рефакторинг там, где это идет в убыток компании? Разве что разработчику, фанатично преданному «лучшим практикам».

Спор приверженца и отступника (реальный лог чата одной команды)

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

Приверженец: Если посмотреть вакансии, то в 99% случаев на проектах используют Agile.

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

Отступник: Пока ты споришь, другие косят твои деньги. Потому что они запустили прототип и получили клиентов. А у тебя готово 10% проекта, зато с прекрасной архитектурой.

Приверженец: Если ты забьешь на архитектуру, тебе потом своё же болото придется разгребать, почему тогда сразу не делать нормально?
Отступник: Зачем тратить 1 год на то, в чем ты не уверен?

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

Есть ли выгода от методологий и лучших практик

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

Самое время вспомнить старую школьную задачку: Что тяжелее — килограмм пуха или килограмм свинца?

Вопрос о методологиях и «лучших практиках» как раз смахивает на эту задачку. Если у вас есть 7 разработчиков, которым вы платите зарплату, то в год вы потратите X долларов. Если вы используете Agile, то за год вы потратите те же X долларов. Waterfall? — Аналогично. Ваша команда будет с утра до ночи рефакторить и регулярно деливерить, применяя парное программирование, pomodoroи дебаггинг резиновой утки? Вы всё равно потратите X долларов. Да, может быть, они смогут написать программу, которую удобнее поддерживать. Но что, если вам не нужно настолько хорошее качество кода, а достаточно уровня «тяп-ляп — и в продакшен»? Или, допустим, команда закончит проект быстрее чем за год — но ведь скорость тоже далеко не всегда значит качество или соответствие требованиям заказчика.

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

С точки же зрения офисного трудяги всё куда проще: ему платят за часы в офисе. Поэтому ему абсолютно фиолетово, какой дури (18+) обкурились заказчик с менеджером и какую методологию решили внедрить. Лишь бы его поменьше трогали и позволили писать код. Грамотные менеджеры понимают это и становятся между заказчиком и разработчиком, принимая удар на себя. Ведь в конечном счете всё, что требуется от программиста — это programming, motherfucker.

Поэтому не важно, используете вы какую методологию, дебажите ли с помидором или с уткой и сколько раз в неделю у вас парное программирование. «Code wins arguments» — и этим всё сказано.

Что делать?

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

One Hacker Way — Erik Meijer from Reaktor on Vimeo.


219-й выпуск подкаста «Откровенно про IT карьеризм». Экспериментальное HR собеседование Михаила Марченко

$
0
0

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

Ссылка на LinkedIn профайл Михаила: ua.linkedin.com/in/shami13.

В программе:

  • Причины смены работы
  • Долгая история смен работы
  • Как понять, что такое хорошо, что такое плохо
  • Фейлы и достижения
  • Про плюшки компаний

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

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

И мы ждем ваши отзывы про новый формат. И новые микрофоны.


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

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

28 июня, Винница — Java Coders Guild - друга зустріч

$
0
0

Java Coders Guild — це регулярні зустрічі Java-розробників від проекту Coders Guild, спрямованого на розвиток ІТ-спільноти у Вінниці.

В програмі зустрічі цікаві доповіді, вільне спілкування за круглим столом та багато кави/чаю:)
Розробники з інших міст також запрошуються!

Перелік доповідей:
— «Управління якістю коду: основні характеристики, аналіз, покриття тестами»
Спікер:Андрій Яковенко, Lead Software Engineer в Exadel
Рівень слухачів:початковий/середній
Тривалість: 45 хвилин
Короткий опис:буде розглянено основні метрики якості коду; основи роботи з аналізатором коду PMD; налаштування Jacoco; введення в SonarQube

— «Дещо про Unit-тестування. Mockito, як інструмент перфекціоніста»
Спікер:Сергій Сторожев, Java Developer в Playtika
Рівень слухачів:початковий/середній
Тривалість: 45 хвилин
Короткий опис:буде розглянуто основні положення по Unit-тестуванню, навіщо це потрібно і що воно дає. Введення у Mockito, що, як і де потрібно використовувати, а що ні.

— «Introduction to Servlets and MVC»
Спікер:Ігор Ройд, Java Developer в Playtika
Рівень слухачів:початковий
Тривалість: 45 хвилин
Короткий опис:розглянемо, на чому базуються та як працюють веб-додатки, а також спробуємо забезпечити можливість повторного використання коду, використовуючи MVC підхід.

Для участі необхідно зареєструватись.

Додаткова інформація:
vk.com/coders_guild.java
www.facebook.com/events/1623343417947344


Международная компания в контексте

$
0
0
Image via Shutterstock.

Украина, США, Вьетнам, Филиппины, Китай, Голландия, Германия, Бразилия... 10 офисов, 25 национальностей — именно так выглядит настоящая международная компания. Но чтобы она была по-настоящему эффективной, недостаточно просто набрать команду по определенным KPI и построить бизнес-процессы, нужно учесть также и особенности каждой из культур, чтобы задачи выполнялись наиболее эффективно.

Мой опыт подтверждает теорию о высококонтекстных (high-context) и низкоконтекстных (low-context)культурах. Самыми высококонтекстными нациями считаются японцы и корейцы. Эталон низкоконтекстной нации — немцы; за ними идет северная Европа. Американцы находятся посредине шкалы, ближе к низкоконтекстным индивидуалистам, украинцы — посредине, но тяготея к высококонтекстной культуре.

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

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

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

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

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

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

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

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

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

Если вы —тимлид или РМ, полезно знать, что в Европе и США в контексте проектов лучше работают Agile или Scrum, нацеленные на короткие итерации, каждая из которых выглядит как программный проект в миниатюре. В Азии же эффективней использовать Waterfall, следуя которому разработчик переходит от одной стадии проекта к другой строго последовательно.

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

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

В плане общения высококонтекстные культуры используют неявные шаблоны поведения, которые иногда сложно объяснить даже самим представителям культур. Это привычки, предположения, суждения и ценности. К примеру, они размышляют: «Как решить, что человек проявляет к тебе дружелюбие? Он пожимает руку? Держится на почтительном расстоянии с опущенными глазами? Прыгает и обнимает? Называет по имени-отчеству?»Им важно знать, какое поведение «правильное» и когда люди ведут себя «так как нужно», но редко кто потрудится задать вопрос «а почему?», потому что ответ на него скорее интуитивен.

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

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

27 июня, Киев — UAFPUG #51 - StartDown Fest у Києві

$
0
0

51 зустріч групи UAFPUG відбудеться у Києві.

У программі (WIP):

— Андрій Андрєєв: «Як моя доповідь про аналіз звуку перетворилася на аплікацію для Apple AppStore.» Як робилося, та як оптимізувалося.
— Андрій Саломатін: «Внедрения Entity Component System в существующий игровой проект».
— Ростислав Сірик: ECMAScript 2015 затверджено. Що це означає — для нас та для людства.
— Андрій Андрєєв: «Домени пам’яті».
— StartDown Fest!
Закликаємо тих, хто колись почав гру чи експеримент, але за якоїсь причини кинув це або перетворив на щось інше — продемонструвати такий проект на зустрічі.

Приймаємо заявки на доповіді та виступи — пишіть!

До зустрічі!

P.S. Сторінка зустрічі UAFPUG-51 на Facebook
P.P.S. Доповіді з зустрічі UAFPUG-50

5 июля, Киев — Курс "QA Automation"

$
0
0

Бесплатное водное занятие — 3 июля 2015
Старт занятий — 5 июля 2015

Учебный центр SkillUp приглашает пройти курс QA Automation — Basic & Advanced Levels, после окончания которого вы освоите автоматизированное тестирование, а также азы программирования и ООП, как следствие — откроете для себя карьерный путь Automation QA Engineer, где сможете стать более востребованным специалистом!

Почему автоматизированное тестирование?

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

Автоматизация, кроме инструментальной помощи с повторяющимися действиями и разными тестами, даст возможность понять лучше продукт, более глубоко вникнуть в IT сферу, получить навыки программирования на одном из наиболее популярных языков JAVA. Это сделает из вас не просто тестировщика, а специалиста Automation QA Engineer и позволит вам лучше понимать возможности программного продукта, коллег разработчиков и станет следующей ступенькой в профессиональном и карьерном развитии.

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

Что необходимо для поступления на курс — опыт в тестировании, желание учиться и развивать свои навыки!

Что вы изучите и сможете использовать по окончанию курса

Курс BASICдаст понимание особенностей работы инструмента автоматизированного тестирования с веб-приложением, с точки зрения верстки самого интерфейса ПО, научит правильно выбирать верный способ задать Xpath, который позволит всегда обнаружить определенный локатор в пределах DOM документа, раскроет «ноу-хау» использования уже известных всем Firebug и FirePath, научит правильно применять регулярные выражения (RegEx). На примере простейшего инструмента Selenium IDE будет показано как правильно работать с локаторами и основными командами, в чем особенности работы с Ajax и как решить сопутствующие проблемы. После этого Вы сможете познакомится с серьезным инструментом Selenium Remote Control, постичь тонкости кросс-браузерного тестирования, и начать знакомится не только с автоматизацией, а и с прекрасным языком программирования Java.

Второй блок ADVANCED, даст вводную в язык Java и применение его для создания авто-тестов на основе Junit и работы с Selenium WebDriver. Начиная от азов программирования (data types, if then else, strings, loop, files, arrays, ООП) слушатели будут постепенно знакомится с средами разработки (Eclipse, IDEA), паттернами ООП, системами версионного контроля(git), особенностям и хитростям работы с Selenium, и наконец — применению всего этого арсенала на практике — разумеется с целью создания функционального комплекта автоматических функциональных тестов на языке Java на базе true-OOP фреймворка.

Длительность курсов:

Курс QA Automation BASIC — 14 ак. часов.
Курс QA Automation ADVANCED — 28 ак. Часов.

Не упустите свой шанс и записывайтесь на курс!

Приходите на бесплатное вводное занятиена котором вы сможете познакомиться с нашим преподавателем, узнать больше о курсе и задать интересующее вас вопросы!

БОНУС: Придите с друзьями и получите скидку!

Запись на курс

Ждем Вас!

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

$
0
0

Одеська компанія Augmented Pixelsшукає крутого C/C++ девелоперадля розробки системи у сфері робототехніки. Зарплата від $4000.

Український продуктовий стартап YouScan/LeadScannerзапрошує на роботу React JavaScript розробника.

Інтернет-сервіс «Метнись кабанчиком», який нещодавно був куплений компанією Prom.uaшукає Python-розробника.

SmartyAdsзапрошує на віддалену фултайм роботу Machine Learningрозробника, бажано зі знанням Python.

Компанії Playtechпотрібен Game Mathematician. Знання Java буде плюсом.

Lanteriaзапрошує студентів 4+ курсу на стажування з Microsoft Dynamics AX.

Компанія scrummaster.com.uaшукає менеджера з продажів. Зарплата 5000 грн + 3-5%від продажів.

Київське інвестиційне агентствошукає керівника проектів, можливо учасника АТО. Зарплата 6000 грн.

НБУ шукає спеціаліста з візуалізаціїдля того, щоб доносити до людей складні фінансові і економічні ідеї і концепції просто.

Державний науково-технічний центр з ядерної та радіаційної безпеки (ДНТЦ ЯРБ) запрошує на роботу інженера з систем інформаційної безпеки. Зарплата 5000 грн.


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


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

Дайджест: сумасшедшие руководители, IT как катализатор, роль сеньоров, идеальная система налогообложения

$
0
0

Новые версии

Интервью

Howto

Для поднятия настроения

Emoji-based programming language.

Mega-processor.





Украинские программисты и музыканты сыграли электро-рок на катушке Тесла


xkcd: Types


Майкл Щур про електронний документообіг


When you find a bug in your code


“Deadlines”


When you think that you are dealing with a small bug

Android-дайджест #7: По следам Google I/O 2015, LeakCanary, Golang на Android

$
0
0

Новости

Best-In-Class Android Design: приложения с лучшей, по мнению Google, реализацией концепции Material Design.

Google начал выплачивать деньги за уязвимостив Android.

Chrome для Android теперь почтиполностью open-source.

Google запустил сервис для подбора Android-смартфона.

Конкурс идей мобильных приложений от Digital Future. Призовой фонд от $20K.

По следам Google I/O 2015

Android M и инструменты для разработчиков: доступный обзор на Хабре. И весьма ёмкий пользовательский обзор Android M.

Ещё один обзоробновлений инструментов разработчиков для Android.

Exploring the new Android Design Support Libraryс иллюстрациями и примерами кода. И полнофункциональный пример на GitHubот Chris Banes.

A Closer Look at Google Play services 7.5.

Introducing the Google Identity Platform.

В Android M пользователь может выключить каждый permission вручную. Что случится с вашими приложениями и как с этим жить.

Мнение: Почему анонс новой ОС Android M не вызвал ажиотажа среди поклонников платформы.

Brillo: Android-based OS для Интернета вещей (IoT) от Корпорации добра.

Project ARA: телефон собрали из частей непосредственно во время докладаи даже включили, конкретных новостей или обновлений спецификации пока нет.

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

LeakCanary от команды Square. Быстро и легко обнаруживает утечки памяти, нотификация непосредственно в приложении.

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

Material Design ViewPager. Весьма нужная вещь, судя по количеству «звёзд» на GitHub.

Carbon: очередной Material Design implementation для Android 2.1+.

И ещё раз Material Design: Topeka — пример Material Design приложения от Google.

Почитать

Developing for Android: серия статей от Chet Haase на Medium — must-read для каждого Android-разработчика.

Что вы хотели знать про Android Animation Framework, но боялись спросить.

Styling Views on Android (Without Going Crazy).

Dagger 1 to 2 migration process. Мейнстримная тема у многих авторов сейчас.

Пример open-source игры от Googleс использованием Google Fit и Android Wear.

Automating Android development. Подобные материалы включаю в каждый дайджест, а неавтоматизированных проектов на рынке все равно хватает.

Automating Android Screenshotsс помощью UI Automator.

The Ins and Outs of Gradle. Все, что нужно знать о Gradle для Android, чтобы начать разработку — в одной статье.

Ускоряем приложение на Androidс помощью Golang.

Видео доклада Building for Smartwatches with Android Wearот Paul Lammertsma с mdevcon 2015.

How to Use Image Recognition for Mobile App and Game Testing.

How We Developed the Guillotine Menu Animation for Android. И хороший англоязычный технический блог украинской компании.

Для хорошего настроения

Android 1.6 запустили на калькуляторе Texas Instruments TI-Nspire CX. Исходные коды доступны на GitHub.



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

Новых идей вам и продуктивных выходных :)

6 июля, Киев — Курс «FrontEnd» (профессиональный уровень)

$
0
0

Преподаватель:
Юрий, FrontEnd-разработчик, со стажем более 10 лет. Имеет опыт работы преподавателем, действующий разработчик. Основной интерес — атоматизация фронтенда, все, что должно быть автоматизировано — автоматизируется.

Занятия:с 19.00 до 22.00, пн и ср

Длительность курса: 6 месяцев

Кол-во слушателей в группе:4-6человек

Подробности и регистрация

Успейте зарегистрироваться. Количество мест ограничено. Будем рады видеть Вас в нашем учебном центре!


Рейтинг вузов с ИТ-образованием, июнь 2015

$
0
0

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

Более половины опрошенных — программисты:

88% участников опроса учились очно.
83% — мужчины, 17% — женщины.

Общий зачет (вниз)

ТОП-15 ИТ-вузов Украины

В общий рейтинг попали вузы с количеством анкет от 70 и выше.

Для каждого вуза выведено соотношение ответов и средний балл (хорошо, посредственно и негативно: 5, 3 и 1 балл соответственно). Кроме того, собраныоценки сильных и слабых сторон каждого вуза и данные о коррупции.

РейтингВузГородКол-во анкетОбщий балл
1 ГУТКиев 72 3,83
2 СумГУСумы 172 3,49
3 ХНУ им. КаразинаХарьков 70 3,18
4 ХНУРЭХарьков 218 3,04
5 КНУ им. ШевченкоКиев 162 2,93
6 ХАИ им. ЖуковскогоХарьков 77 2,90
7 ДонНТУДонецк 103 2,79
8 ЛНУ им. ФранкоЛьвов 77 2,71
9 НТУУ «КПИ»Киев 798 2,54
10 ДНУ им. ГончараДнепропетровск 139 2,50
11 НТУ «ХПИ»Харьков 136 2,46
12 Львовская ПолитехникаЛьвов 192 2,38
13 ОНПУОдесса 76 2,13
14 ВНТУВинница 72 1,89
15 НАУКиев 171 1,88

От 15 до 70 анкет набрали НГУ (Днепропетровск), ДНУЖТ им. Лазаряна, НаУКМА, ЗНТУ, ЧГУ им. Петра Могилы, ОНУ им. Мечникова, ЖГТУ, ВНУ им. Даля, ДонНУ, КНУБА, ХНЭУ им. С. Кузнеца, ОНАС им. А.С. Попова, КНУТД и ХНУ (Хмельницкий).

ГУТ

Государственный Университет Телекоммуникаций


Собрано 72 анкеты

Общий балл: 3,83.

Сильные стороны вуза:
— Сотрудничество с работодателями
— Изучаемые предметы, программа обучения
— Сильные преподаватели

Слабые стороны вуза:
— Слабые студенты
— Устаревшая программа обучения
— Вуз не мотивирует учиться

Уровень коррупции:

СумГУ

Сумский государственный университет


Собрано 172 анкеты

Общий балл: 3,49.

Сильные стороны вуза:
— Сильные преподаватели
— Изучаемые предметы, программа обучения
— Культурная жизнь в вузе

Слабые стороны вуза:
— Устаревшая программа обучения
— Нет современного оборудования
— Слабые студенты

Уровень коррупции:

ХНУ им. Каразина

Харьковский национальный университет имени В. Н. Каразина


Собрано 70 анкет

Общий балл: 3,18.

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

Слабые стороны вуза:
— Нет современного оборудования
— Устаревшая программа обучения
— Нет сотрудничества с работодателями

Уровень коррупции:

ХНУРЭ

Харьковский национальный университет радиоэлектроники


Собрано 218 анкет

Общий балл: 3,04.

Сильные стороны вуза:
— Сотрудничество с работодателями
— Сильные преподаватели
— Изучаемые предметы, программа обучения

Слабые стороны вуза:
— Устаревшая программа обучения
— Вуз не мотивирует учиться
— Нет современного оборудования

Уровень коррупции:

КНУ им. Шевченко

Киевский национальный университет имени Тараса Шевченко


Собрано 162 анкеты

Общий балл: 2,93.

Сильные стороны вуза:
— Сильные студенты
— Сильные преподаватели
— Престижность и котируемость диплома

Слабые стороны вуза:
— Устаревшая программа обучения
— Нет современного оборудования
— Нет сотрудничества с работодателями

Уровень коррупции:

ХАИ им. Жуковского

Национальный аэрокосмический университет им. Н. Е. Жуковского «Харьковский авиационный институт»


Собрано 77 анкет

Общий балл: 2,90.

Сильные стороны вуза:
— Сильные преподаватели
— Культурная жизнь в вузе
— Изучаемые предметы, программа обучения

Слабые стороны вуза:
— Устаревшая программа обучения
— Нет современного оборудования
— Нет сотрудничества с работодателями

Уровень коррупции:

ДонНТУ

Донецкий национальный технический университет


Собрано 103 анкеты

Общий балл: 2,79.

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

Слабые стороны вуза:
— Нет современного оборудования
— Устаревшая программа обучения
— Нет сотрудничества с работодателями

Уровень коррупции:

ЛНУ им. Франко

Львовский национальный университет имени Ивана Франко


Собрано 77 анкет

Общий балл: 2,71.

Сильные стороны вуза:
— Сильные студенты
— Сильные преподаватели
— Престижность и котируемость диплома

Слабые стороны вуза:
— Устаревшая программа обучения
— Нет современного оборудования
— Нет сотрудничества с работодателями

Уровень коррупции:

НТУУ «КПИ»

Национальный технический университет Украины «Киевский политехнический институт»


Собрано 798 анкет

Среди участников опроса 27% выпускников КПИ окончили ФИВТ, 13% — ФПМ, по 9% — ИПСА и ТЭФ, по 6% — ФТИ и ФЭЛ.

Общий балл: 2,54.

Сильные стороны вуза:
— Престижность и котируемость диплома
— Сильные студенты
— Сильные преподаватели

Слабые стороны вуза:
— Устаревшая программа обучения
— Нет современного оборудования
— Вуз не мотивирует учиться

Уровень коррупции:

ДНУ им. Гончара

Днепропетровский национальный университет имени Олеся Гончара


Собрано 139 анкет

Общий балл: 2,50.

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

Слабые стороны вуза:
— Нет современного оборудования
— Устаревшая программа обучения
— Нет сотрудничества с работодателями

Уровень коррупции:

НТУ «ХПИ»

Национальный технический университет «Харьковский Политехнический Институт»


Собрано 136 анкеты

Общий балл: 2,46.

Сильные стороны вуза:
— Сильные преподаватели
— Сотрудничество с работодателями
— Культурная жизнь в вузе

Слабые стороны вуза:
— Устаревшая программа обучения
— Нет современного оборудования
— Вуз не мотивирует учиться

Уровень коррупции:

Львовская Политехника

Национальный университет «Львовская политехника»


Собрано 192 анкеты

Общий балл: 2,38.

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

Слабые стороны вуза:
— Устаревшая программа обучения
— Вуз не мотивирует учиться
— Нет современного оборудования

Уровень коррупции:

ОНПУ

Одесский национальный политехнический университет


Собрано 76 анкеты

Общий балл: 2,13.

Сильные стороны вуза:
— Сильные студенты
— Сотрудничество с работодателями
— Культурная жизнь в вузе

Слабые стороны вуза:
— Устаревшая программа обучения
— Нет современного оборудования
— Вуз не мотивирует учиться

Уровень коррупции:

ВНТУ

Винницкий национальный технический университет


Собрано 72 анкеты

Общий балл: 1,89.

Сильные стороны вуза:
— Сильные студенты
— Сотрудничество с работодателями
— Культурная жизнь в вузе

Слабые стороны вуза:
— Устаревшая программа обучения
— Нет современного оборудования
— Слабые преподаватели

Уровень коррупции:

НАУ

Национальный авиационный университет


Собрано 171 анкет

Общий балл: 1,88.

Сильные стороны вуза:
— Культурная жизнь в вузе
— Престижность и котируемость диплома
— Сильные преподаватели

Слабые стороны вуза:
— Устаревшая программа обучения
— Нет современного оборудования
— Нет сотрудничества с работодателями

Уровень коррупции:

Общий зачет

Только 20% выпускников и студентов считают, что в их альма-матер читали актуальные предметы и давали знания в достаточном объеме (оценка «хорошо»). Треть респондентов — 32% — называют полученные знания в большей мере неактуальными (оценка «плохо»). Остальные придерживаются золотой середины и поставили своему вузу «удовлетворительно»:

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

Больше всех довольны образованием дизайнеры и ТОП-менеджеры. Наименее удовлетворены — разработчики и тестировщики:

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

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

Что полезного для себя приобретают студенты за время учебы:

Всего треть участников опроса достигли основной цели обучения — получили полезные знания по специальности. А 6% считают, что потратили 5 лет впустую — не приобрели ничего.

Пригодился ли диплом?

Как часто в украинских вузах берут и дают взятки?

Выводы

— Больше всех довольны образованием дизайнеры и ТОП-менеджеры. Наименее удовлетворены — программисты и тестировщики;
— Главная гордость нашего образования — сильные преподаватели. Это отметили все вузы из ТОП-15, за исключением ВНТУ.
— Не словом, а делом обеспечивают трудоустройство своих выпускников ХНУРЭ, ХПИ, ЛП, ОНПУ, ВНТУ и ГУТ. Студенты остальных вузов, напротив, пеняют на отсутствие сотрудничества с работодателями;
— Главный минус отечественных альма-матер — устаревшая программа обучения. Только 20% выпускников и студентов считают, что им читали актуальные предметы и давали знания в достаточном объеме;
— Ни один из передовых украинских технических вузов не может похвастаться современным техническим оборудованием;
— 60% студентов сталкивались с коррупцией;
— Примерно половина выпускников в общем и целом удовлетворены образованием, и еще половина жалеют, что потратили время на очную учебу.

Plarium Parties

$
0
0

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

Что это такое

Вы наверняка слышали о вечеринках Plarium. Они проводятся раз в полгода, и каждая из них становится инфоповодом, медийным прецедентом и вообще долгожданным событием как для сотрудников компании, так и для всех, кто наслышан о масштабах. В нашей статье мы кратко расскажем об опыте организации таких вечеринок, как Stormfall, Freak Theatre и Post-Apocalypse Parties.

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

Как это работает

Мы не нанимаем сторонние агентства. Организацией вечеринок, концертов и других мероприятий в Plarium занимается собственный Event Department. Цель работы этих ребят — вдохновлять.

Подготовка к вечеринке делится на 3 части, каждая длительностью в 2 месяца. Начинается всё с идеи. Ребята рассматривают множество вариантов, вдохновляются западными фестивалями, кино и собственными путешествиями. Выбранная концепция детально прописывается и проецируется на любую мелочь. Чтобы участники погрузились в атмосферу, соответствовать теме должно всё, включая развлечения, декорации, костюмы аниматоров и персонала. Помимо этого, мы выбираем необычного хедлайнера для концерта, который органично впишется в тему вечеринки: так, на Plarium Parties выступали SunSay и «Серебряная свадьба».

Главный принцип организации события: нельзя сделать праздник на твердую четверку — нужно удивить. Например, в декабре 2014 года мы провели Stormfall Party. У нас было огненное шоу, в котором участвовали сорок артистов, а также три десятка пеших и конных рыцарей. Желающие могли пострелять из лука по мишеням, сразиться на мечах или отведать мяса кабана, приготовленного на вертеле. И всё это — зимой, под открытым небом.

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

Дальше — поиск подрядчиков. И это вторая сложность: рынок услуг в Украине только развивается. Если вы за что-то заплатили, это совсем не значит, что вы это что-то получите. Может быть, получите не совсем то, за что заплатили. Например, за немалые деньги вам на полном серьезе могут предлагать выгоревший воздушный шар с облезлой корзиной. Поэтому наши Event Managers привыкли лично проверять абсолютно всё, что касается праздника: от кондиционеров в автобусах, на которых приедут сотрудники, до запаса лака для волос у артистов. А еще наши ребята научились неплохо разбираться в мощности звукового оборудования и правилах хранения разных блюд на свежем воздухе.

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

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

Третья сложность — это погода. Если вы делаете вечеринку под открытым небом, всегда готовьте план Б. Справиться с погодой помогают только шаманские приемы. По крайней мере, по-другому объяснить следующее мы не можем: в день вечеринки с четырех утра декорации заливает дождем, а за час до начала выходит солнце, высушивает площадку и слезы Event Department — дальше всё идет по плану.
А когда праздник заканчивается, организаторы машут ручкой последней машине, увозящей технику, и начинают планировать следующую вечеринку.

Что это дает сотрудникам

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

Что это дает студии

• Лояльность сотрудников и хороший климат в коллективе.
• Позиционирование. Наши вечеринки — это еще одна отличительная черта Plarium. Мы не устраиваем классические корпоративы с шашлыком на природе или тортом в клубе. Мы реализуем безумные идеи: например, устраиваем театрализованное танцевальное шоу с участием труппы из 50 человек.
• Пиар. Шумиха до и после вечеринок: упоминания, рассказы, слухи, фото- и видеоконтент повышают интерес к нам и нашим проектам.
• Рекрутинг. Мы ищем таланты. Вечеринки — довольно мощный инструмент, чтобы привлечь их внимание.

Что это дает всем вокруг

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

Краткое резюме:

За Plarium Parties стоят месяцы кропотливой работы. Наши вечеринки — это не только безудержное веселье, но и важные бизнес-процессы: формирование лица бренда и работа над лояльностью сотрудников.

Беседа с Евгением Биренбаумом, ведущим HR’ом харьковского Gameloft’а

$
0
0

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

В программе:

  • Про во’IT’и
  • Детектор лжи
  • Стресс собеседования
  • Разница HR в IT и ритейле
  • Оценка персонала
  • Приход в Gameloft
  • Тесты
  • Игры и взрослые
  • Специфика игр
  • HR директора и гендерный вопрос
  • 8 лет в одной компании
  • Ubisoft и Gameloft
  • Разница между Game-индустрией и Enterprise-индустрией
  • Нетипичные истории игровых программистов
  • Специфика менталитета разных стран

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

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

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


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

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

5 июля, Киев — Online курс выходного дня «Тестирование ПО для начинающих»

$
0
0

У Вашей профессии нет перспектив, и Вы хотите изменить свою жизнь, перейдя в IT-сферу? Тогда курс по тестированию ПО, как наиболее распространенный путь для старта карьеры в IT — это Ваш первый шаг на пути к новой жизни!

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

Наш учебный центр успешно работает с 2012 года, и за это время мы успели подготовить более 600 специалистов по 15 различным IT-направлениям, собрать команду из 24 преподавателей-практиков и получить звание «Самой активной образовательной инициативы» (IT Education Awards 2015).

Курс стартует 5 июля и состоит из 15 занятий по 2 часа, 2 раза в неделю (суббота и воскресенье с 10:00 до 12:00).

Что Вы узнаете/чему научитесь в ходе данного курса:

Теоретические знания:
●Методологии тестирования ПО
● Цикл разработки программного обеспечения
● Методики и логика поиска дефектов
● Bug report — оформление, правила, стандарты
● Правила и особенности написания тест-кейсов

Практические навыки:
● Использование багтрекинг системы Jira.
● Использование тестовой документации с помощью TestRails
● Участие в реальном проекте

Подготовка к собеседованию:
● Составление «правильного резюме»
● Подготовка к собеседованию
● Прохождение собеседования в «домашних условиях»

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

Пришло время изменить свою жизнь к лучшему!

С наилучшими пожеланиями, команда IT Labs

9 июля, Киев — Курсы Автоматизированное тестирование и Базовая подготовка тестировщиков

$
0
0

Друзья! Сейчас, лучшая инвестиция — инвестиция в себя, свое развитие!
Тем более, что пройти обучение вы можете по ЗАФИКСИРОВАННОМУ КУРСУ — 1$ = 15,0 грн. и, уже через пару-тройку месяцев, устроится на работу с зарплатой в долларах!)

Немного о курсе «Автоматизированное тестирование. Selenium WebDriver». Стартует, 09 июля 2015 г.. Длительность 8 недель (30 часов, по 2 часа 2 раза в неделю — вторник и четверг с 19:00 до 21:00). Стоимость курса 6000 грн., за весь курс. Оплата возможна частями. Занятия проходят в группах до 15 человек, в комфортных залах, оборудованных компьютерами, проектором и доступом в Интернет в аудиториях НТУУ КПИ.
На данном курсе вы узнаете, что такое автоматизация тестирования, как ее применяют в современных методах ведения проектов и поработаете с автоматизацией реальных веб приложений, используя Selenium WebDriver. А также, приобретете навыки в программировании, необходимые для написания автоматических тестов.

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

Программа курса
— Философия тестирования и ведение проекта разработки
— о тренере;
— тестирование: определение, назначение, виды, основные понятия, примеры из реальной жизни;
— автоматизация тестирования: зачем проекту, зачем менеджеру проекта, что можно и что нужно автоматизировать, как извлекать пользу из автоматизации;
— процессы на проекте: пирамида автоматизации тестирования в Agile и место- автоматизации в Agile, взаимодействие с разработчиками, Continuous Integration, Definition of Done.
— Основы программирования (на примере Java) и его культуры
— переменные;
— типы данных и преобразования;
— ветвления и циклы;
— простые структуры данных;
— лёгкое введение в ООП;
— системы контроля версий;
— правила написания поддерживаемого кода: code conventions, comments, readability, code reuse;
— базовые техники разработки: debugging, refactoring.
— Создание пакета тестов при помощи WebDriver
— настройка окружения, set up и tear down;
— компоненты задействованной системы (взаимодействие клиента, сервера, браузера и WebDriver);
— структура страницы и селекторы;
— написание тестов (основная часть курса);
— консольный запуск тестов;
— отчёты о прогоне тестов.
— Финальный тест

Подробнее читайте на сайте qafactory.ua.

Если возникнут вопросы, пишите, звоните:
E-mail: nikag@qafactory.ua
Тел.: (093) 15-55-242
Тел.: (097) 55-35-232
Тел.: (095) 68-02-185

Viewing all 8151 articles
Browse latest View live