Весна постепенно набирает обороты. Март уже заканчивается и скоро наступят солнечные (мы искренне надеемся) апрель с маем. Мы запланировали много событий на эту весну. Что же вас ждет?
29 марта состоится 14-ая встреча “Клуба анонимных разработчиков”. Мы смело можем назвать ее одной из самых интересных встреч – ведь будет рассматриваться “горячая” тема облачной разработки. На суд участников будут представлены доклады о разработке на облаке Amazon и Windows Azure. Поэтому каждый найдет для себя что-то интересное. Встреча пройдет в уютном офисе ДатаАрт по адресу Бехтеревский переулок 14Е. Начало в 19:00.
6-7 апреля состоится новый тренинг «Инженерные практики в Agile». 2 тренера (Николай Алименков и Алексей Солнцев) в течение 2-ух дней познакомят участников с 8-ью современными инженерными практиками. Будут затронуты вопросы внедрения, поддержания и пользы от этих практик. Все практики будут демонстрироваться на реальных примерах и включают в себя многолетний опыт использования наших тренеров. Это один из лучших наших тренингов. Группа почти набрана, осталось всего 5 мест.
13-14 апреля мы впервые проведем новый тренинг Дмитрия Ефименко под названием «Практики эффективного, но экономного проектирования». Дима вложил в этот тренинг весь свой опыт по проектированию программного обеспечения. Тренинг отлично сочетает в себе информацию о процессах разработки и проектирования, работу с требованиями, инженерные практики и подходы, анализ и управление рисками, а также несколько интересных практических заданий. Участники даже будут писать реальный код. 🙂 Группа еще формируется и не поздно присоединиться к составу участников.
21-22 апреля состоится важное событие в мире тестирования – международная конференция SQA Days 11. Наш тренер Николай Алименков выступит на конференции с докладом «А вы знаете что тестируют ваши тесты?». В докладе речь пойдет о связывании тестов с самыми важными артефактами вашего проекта – требованиями и кодом. Николай на практических примерах продемонстрирует как полностью контролировать что и как тестируют ваши тесты. Помимо этого, 20 апреля мы проведем популярный тренинг «QA в Agile». Этот тренинг позволит участникам познакомиться с ролью тестировщика в Agile процессах, грамотно настроить процесс QA в Agile команде, разобраться с ролью автоматизации тестирвания и современными веяниями в мире тестирования. Тренинг будет полезен как менеджерам, так и обычным тестировщикам.
В апреле проходит еще несколько интересных конференций в России и Украине, но побывать везде просто не хватает времени. Вот некоторые из них: CodeFest 2012, Cloud Foundry Open Tour 2012, Software People’12, РИТ++, Quality Assurance Day’12, Fun ConfeT&QA. Мы также постараемся провести очередную бесплатную онлайн конференцию IT Brunch. Тема еще окончательно не выбрана, но в этот раз мы планируем сделать ее более технической.
28 апреля пройдет еще один наш новый тренинг «Успешный старт проекта». Сергей Поволяшко подготовил этот тренинг на основании своего многолетнего опыта управления проектами. На тренинге вы сможете узнать какие активности стоит проводить на стадии инициирования проекта, какие риски есть и как с ними бороться, как оценивать проекты с финансовой и временной точек зрения, что необходимо включить в контракт и как это сделать. Если вы менеджер и ваша работа связана со стартом новых проектов, то этот тренинг для вас!
27-28 апреля Александр Белецкий проведет свой новый тренинг «Веб-разработка с использованием ASP.NET MVC». Этот тренинг рассчитан на программистов, знакомых с концепциями ASP.NET, возможно уже имеющие опыт с Web Forms, но желающих приобрести практические навыки с новой, популярной технологией ASP.NET MVC. Тренинг очень насыщенный и на нем будут рассмотрены практически все аспекты разработки современных веб приложений с использованием ASP.NET MVC.
11-12 мая в Москве состоится очередная конференция для разработчиков Application Developer Days-3. На протяжении двух дней участники смогут посетить множество совершенно разных докладов на тему разработки, а также пообщаться с коллегами. Николай Алименков выступит с докладом «Разработка распределенных приложений на AWS», в котором поделится своим опытом (более 2-ух лет) в разработке приложений в облачной среде. Николай рассмотрит сервисы, предоставляемые Amazon (самым популярным облачным провайдером на данный момент) и даст множество полезных советов тем, кто начинает или только задумывается над переездом в облака.
19 мая мы уже во второй раз соберем Java разработчиков в Киеве на большую конференцию для Java практиков – JEEConf 2012. В этот раз мы собрали еще более интересную программу. Докладчики приедут в Киев с разных стран и будут освещать различные инструменты, методики и практики из мира Java. Николай Алименков выступит на конференции с докладом «За что я ненавижу Hibernate?», в котором рассмотрит недостатки одного из популярных ORM решений и способы их обхода. На данный момент уже более 300 участников изъявили свое желание участвовать в конференции. Это будет действительно яркое событие наступающей весны.
Перед конференцией мы организуем ряд тренингов, посвященных Java разработке: «JavaScript for Java developers», «TDD в Java», «Introduction to Java EE 6?. Все тренинги проводятся опытными профессионалами индустрии. Группы наполняются очень быстро, поэтому поторопитесь занять себе место в составе участников.
Завершит весеннюю гонку конференция AgileBaseCamp CREW DRILL в Харькове 26-27 мая. Это два дня, насыщенных докладами экспертов, воркшопами и вдохновляющими блицами. Панельные дискуссии и Open Space, демонстрации от практиков и два полномасштабных мастер-класса. Наши тренеры Александр Белецкий, Дмитрий Ефименко и Николай Алименков готовятся выступить с докладами. Программа конференции еще формируется.
А еще на апрель и май у нас запланированы корпоративные тренинги в Киеве, Днепропетровске, Воронеже и Москве. Приглашайте нас в свой город и мы с радостью приедем!
Вот такая интересная выдалась весна. Будем рады видеть вас на перечисленных мероприятиях!
Две недели рубрика «Полезного чтива» не выходила в свет. Это было связано с заслуженным отдыхом. Зато за это время накопилось много всего:
И порция добротного видео для просмотра:
Читайте и набирайтесь новых знаний!
Сегодня решил написать очередную статью из серии статей на тему отбора сотрудников. Статья будет короткой, но я постараюсь сделать ее интересной. Будут рассмотрены несколько вещей, на которые я обращаю большое внимание при отборе кандидатов, при этом не связанные напрямую с его уровнем подготовки.
Итак, первый тип “плохих” кандидатов – так называемые бегунки. Это люди, которые постоянно меняют работу и не могут проработать на одном месте больше полугода. Когда таких места 2 или 3, это еще не вызывает подозрения. В этом случае можно сослаться на неудачный опыт, быстрый карьерный рост, короткие проекты и т.д. Но если кандидат за 4 года сменил 6-8 проектов, то для меня это практически красный флаг.
Я хочу брать в проект людей, которые потенциально готовы работать в нем достаточно долго (хотя бы год-полтора). Ради нескольких месяцев нет смысла вкладывать в человека – передавать ему знания доменной модели, технологического стека, процессов и практик. Это замедляет команду, поэтому такие инвестиции хочется потом вернуть сполна. А бегунок уже имеет совершенно другие планы.
Приведу несколько примеров почему такие кандидаты встречаются. Наиболее распространенный типаж – “я работаю работу там где больше платят и лучше живется”. Это значит, что при появлении на рынке более “жирной” вакансии этот человек может не раздумывая “подать на развод”.
Второй пример – “карьеристы”. Они действуют по принципу “каждые полгода я очень сильно расту и мне нужны новые горизонты”. Но вам то нужен надежный грамотный человек на изначальной позиции. У вас может не быть интереса в такой короткий срок на другие позиции. И, признаться откровенно, большая часть подобных “карьеристов” только мнят себе профессиональный рост. На самом деле они знают все по верхам и пытаются вылезть наверх, пользуясь ситуацией на рынке.
Третий тип – люди, которые ни с кем не могут ужиться в команде. Вот сидит перед вами отличный технический специалист, но в команде он скорее тормозит работу, чем помогает добиваться поставленных целей.
В любом случае, с таким типом кандидатов лучше не рисковать. Я встречал их очень много и каждый раз оказывался прав. Некоторые заранее имели свои планы на работу в компании, дожидаясь выезда за границу. Другие начинали играть на проблемах и интересах проекта. Для себя я точно решил, что риск в подобных случаях совершенно неоправдан. Кандидат может оказаться адекватным, но ошибка будет стоить гораздо дороже.
Второй тип “подозрительных” кандидатов, о котором я хочу поговорить, легко распознать по отношению к собеседованию. Обычно такой кандидат опаздывает на собеседование или же и вовсе приходит со второй попытки. К вопросам на собеседовании у него похожее отношение – все знания очень поверхностные, несколько “неряшливые”. При этом в резюме у человека перечислены все возможные технологии, с которыми он хотя бы раз в жизни сталкивался. Обновлять резюме такие кандидаты ленятся.
Часто создается ощущение, что человеку эта работа вообще не так уж и нужна. Он может задавать встречные вопросы наподобие “а зачем мне это знать” или “почему мне задают такие вопросы”. Из моего опыта точно так же кандидат будет относиться и к работе в вашей компании – не утруждать себя приходить вовремя на важные мероприятия, не заморачиваться детальным пониманием системы и технологий, выполнять только работу, за которую по его мнению ему платят. Работать с таким человеком в одной команде сложно. Мы работаем далеко не за маленькие деньги в IT индустрии и стоит нанимать только тех людей, которые хотят работать и понимают ответственность этой работы.
Удачного вам найма!
В последнее время стало модно писать про проведение собеседований. Вопросам правильного найма сотрудников уделяется все больше внимания. Я хочу поделиться своим мнением по поводу подхода, в котором у кандидата не спрашивают про конкретные примеры использования инструментов, API, библиотек языка программирования. Мол, главное чтобы соображал хорошо, а для остального есть Google.
Мне данный подход кажется более чем неправильным. Я не призываю спрашивать наизусть заученные названия классов и методов. Это как раз можно решить с помощью IDE и того же Google. Но вот в какую сторону копать надо знать четко. Особенно если именно в этой области вам предстоит работать достаточно долго.
Отличным примером такой области является многопоточность. Я не верю, что можно найти правильное решение задачи параллельного доступа к ресурсам, если ты не знаешь основных подходов и шаблонов. Более того, можно даже не подозревать, что проблема вообще возможна. И даже не будет необходимости искать решение.
А если начать искать, то в топе будут обычные классические примеры на “чистой” Java или другом языке программирования. И что происходит дальше? Человек просто копирует решение к себе и не переживает. Откуда ему знать про Java Concurrency API, про Google Guava и другие полезные библиотеки? Что получается в итоге? Куча времени на поиск и понимание решения, бездумное копирование и минимум новых знаний. Потом это решение в коде находит грамотный разработчик и исправляет его на более быстрое, надежное и грамотное. А за все уже заплачено!
И зачем платить больше? Ведь дешевле нанять заведомо хорошо разбирающегося в данной области человека, возможно за большее количество денег, чем платить постоянно. Расходы гораздо более предсказуемы. И это мы рассмотрели позитивный сценарий, когда найденное решение или его копирование не приводит к ошибке. Иначе стоимость будет гораздо выше.
Еще один банальный пример из Java мира – поиск в строке. Казалось бы безобидный поиск, но каждый раз создается и компилируется шаблон регулярного выражения, что замедляет работу метода в десятки раз. Это нереально найти, если ты заранее не знаешь о таком поведении. Логично ли задать такой вопрос для проекта, где работа со строками идет очень интенсивно? Или лучше потерять потом часы и дни на отладку и тюнинг производительности?
Приведу еще один пример, более “бытовой”. Все знают, что ORM библиотеки умеют подгружать коллекции дочерних элементов автоматически по заданному маппингу. Но задумается ли человек, который не изучал как работает используемый в вашем проекте ORM инструмент, как и когда это происходит? Я думаю нет! И, в итоге, код будет делать сотни запросов в базу данных по совершенно простому действию с коллекцией (к примеру поиску по ней). И ничего не будет предвещать беды, пока приложение не будет под реальной нагрузкой. Стоит ли разбирать такие куски кода на собеседовании, если ORM у вас используется очень активно? Думаю да!
Резюмируя, очень важно убедиться, что кандидат понимает важную для вашего проекта область разработки на должном уровне. И для этого можно и нужно разбирать реальные примеры, задачи из жизни и реальный код. Ничего плохого в этом нет. Но и требовать от кандидата держать в памяти все методы и классы глупо. Важно убедиться в том, что при проблеме человек точно знает направление поиска. Беспорядочный поиск будет стоить вам очень дорого! Помните, что дешевле не нанять правильного человека чем нанять неправильного!
Давно собирался написать на тему нашего аутсорсинга, но все не хватало времени. На пляже его вдоволь, поэтому немного пофилософствую.
Начну я с одной реальной истории, не имеющей отношение к миру IT. Слышал ее в какой-то передаче по Discovery. Она про один замечательный красивый остров в океане. Он был очень густо заселен лесом. И люди решили продавать лес, в связи с чем начались массовые вырубки. Естественно, никто не думал о новых посадках или экологии – ведь надо было рубить бабло. И все больше людей занимались этим бизнесом, перекупая лес, землю и готовую древесину. Чем меньше леса оставалось, тем дороже он стоил. Но это никого не волновало – ведь можно было просто продавать больше и дороже, получая ту же прибыль.
В итоге, леса на острове почти не осталось и началась экологическая катастрофа. Вымирали некоторые виды животных, насекомых и растений, которые были связаны с лесом. Оказалось, что корни деревьев держали почву и не давали ей двигаться. Когда их не стало, остров стал медленно разваливаться. На данный момент ученые прогнозируют, что достаточно скоро он может полностью уйти под воду. Вот такая вот печальная история.
Теперь вернемся к нашему рынку IT. Компании на нашем рынке ведут бизнес “по-украински”, плюя с высокой колокольни на будущее индустрии в Украине. Бабло нужно колотить сегодня и сейчас. А завтра будет завтра. Поэтому они переманивают сотрудника за +X к зарплате и не задумываются о последствиях. А последствия очень печальны – растут зарплаты и запросы у разработчиков. Мы пилим сук, на котором сами сидим. Очень скоро работать с Украиной станет просто невыгодно.
При этом качество разработчиков с каждым годом становится все печальнее. Да и зачем развиваться? На перегретом рынке можно запросто перескочить на +500 к зарплате просто потому, что на очередном “фабричном” проекте появились 20 горящих вакансий. Доходит до абсурдного – люди с 5 годами опыта на собеседовании ничего не знают и не могут написать простейший код в IDE. А ожидания по зарплате выше среднего по рынку. И в глазах немой вопрос: “А зачем мне уходить с текущего места, где я в команде из 40 человек ни черта не делаю и получаю XXX?”.
И при этом никто не хочет вкладывать в рынок. Просто безвозмездно вкладывать. Чтобы на рынке было много качественных специалистов и они искали работу, а не компании заманивали их в свои сети. Чтобы их было больше, чем нужно на данный момент. Чтобы рынок толкал их к развитию. Чтобы люди дорожили своей работой. Чтобы не было безумного роста зарплат и мы оставались интересным рынком для иностранных проектов.
Но вместо этого все только жалуются на жизнь и считают каждый потраченный доллар на публичное мероприятие. Компания на 500+ сотрудников “серьезно задумывается” дать ли $1000 на поддержку конференции. Это просто смешно! Не хотите поддерживать чужие мероприятия? Делайте свои! Делайте много и в разных областях! Делайте бесплатными или почти бесплатными! Делайте большие обучающие программы дешево и качественно! Просто развивайте рынок!
Но для этого нужно изменить подход. Цели развития рынка и получения максимальной прибыли прямо сейчас противоречат друг другу. Не пытатесь хватать все проекты подряд, даже если полностью уверены в их прибыльности. Нас мало и наша сильная сторона – интеллект и способность решать сложные задачи. Давайте оставим “фабрики клонов” индусам и китайцам. Иначе они просто оставят нас без работы.
Индия очень уверенно развивается, причем развивают ее большие компании с огромными бюджетами. С их возможностями можно сделать очень много. Взгляните на статистику в интересных и толковых группах LinkedIn, информационных порталах о разработке, форумах. Там огромный процент индусов. И многие очень достойного уровня.
Когда я был в Индии, мне удалось пообщаться с семьей, сын которой учится на программиста. Они все гордятся его специальностью, а он прилагает максимум усилий для учебы. А у нас? Никто не хочет учиться! Всем откровенно наплевать на развитие. Научился писать хоть как-то – добро пожаловать на “фабрику” и получать бабло! Ситуацию надо менять иначе может быть уже слишком поздно…
Мы же, в свою очередь, будем организовывать еще больше образовательных мероприятий по различным направлениям. Платных, бесплатных, в формате клуба, онлайн, тренингов, мастер-классов, конференций, встреч – для всестороннего развития “жителей” IT мира. Будем привлекать зарубежных экспертов, для большинства из которых Украина – это дикая страна, и поднимать уровень рынка IT Украины на международной арене. Будем искать и открывать местные дарования и давать им возможность делиться своим опытом и знаниями. Ведь у нас много талантов и нам есть чем гордиться!
Очень хотелось провести 14-ую встречу клуба пораньше, но не сложилось. Поэтому в очередной раз мы соберем разработчиков пообщаться и послушать выступления докладчиков 29 марта. В этот раз темой выбрана облачная разработка. Будут обсуждаться вопросы построения приложений с облачной архитектурой, а также провайдеры облачных платформ.
Одним из докладчиков станет Николай Алименков. Он расскажет о своем двухлетнем опыте разработки проекта полностью на платформе Amazon Web Services (AWS). Николай расскажет о преимуществах и недостатках данного решения, о важных моментах, которые стоит учитывать при переходе на облачную инфраструктуру. Также участники смогут узнать об особенностях использования различных облачных сервисов от Amazon и задать любые вопросы на данную тему.
Виктор Цикунов и Антон Бойко представят участникам сервис Windows Azure. Помимо краткого обзора Windows Azure будут затронуты темы создания распределенных приложений, нагрузочного тестирования приложений, автоматического масштабирования ресурсов. В рамках этого выступления не планируется показывать слайды – только живые демонстрации. Поэтому выступление получится более чем практическим.
Мы приглашаем выступить и поделиться опытом других докладчиков. Вы сможете в неформальной обстановке рассказать о своих достижениях и провалах, обсудить их с участниками, выслушать вопросы, советы и критику. Это отличная возможность попробовать себя в роли докладчика.
Итак, встреча пройдет в четверг 29 марта. Место проведения мы объявим ближе к дате мероприятия. Это связано с тем, кто число членов клуба постоянно растет и мы рискуем не влезть в уютный Киевский офис компании DataArt. Этот офис полюбился членам клуба своей уютной обстановкой и наличием всего необходимого для продуктивного общения. Но, по итогам прошлых встреч, есть риск, что все желающие не поместятся.
Официальное начало встречи по-прежнему в 19:00, завершение в 23:00. Стоимость участия 80 гривен при оплате заранее, 120 гривен при оплате на месте. Пива, пиццы и кофе с печеньками хватит на всех. Регистрация обязательна. Все детали по оплате будут высланы вам после успешного прохождения регистрации. Количество мест ограничено 60 участниками.
Раннее утро понедельника и есть время подготовить очередной выпуск рубрики «Полезного чтива». Это первый из “отпускных” выпусков прямиком из аэропорта Абу-Даби. За последнюю неделю перед отпуском получилось разгрести свою RSS подписку, поэтому почитать есть что:
И порция добротного видео для просмотра:
Читайте и набирайтесь новых знаний!
Мы постоянно развиваемся и растем, приглашаем новых тренингов, организуем новые интересные мероприятия в различных сферах IT. Изначально наш тренинг-центр предоставлял услуги только в области Agile и инженерных подходов. И этот статус твердо за нами закрепился. 🙂 Но жизнь меняется и мы стараемся расширять спектр предоставляемых услуг.
На данный момент мы имеем полный цикл тренингов для менеджеров и всех, кто хочет стать менеджером. Предлагаемый набор тренингов покрывает практически все сферы в области управления проектами, за исключением так называемых soft skills. Но это немного не наш профиль. Итак, что мы готовы предложить менеджерам:
При этом, у нас также есть тренинги по инженерным практикам, которые по-хорошему менеджерам должны быть тоже небезразличны для общего развития и современного взгляда на разработку. Все перечисленные тренинги проводятся опытными специалистами, которые знают толк в менеджменте и управлении проектами, имея за плечами немало жизненного опыта в реальных проектах.
Сергей Поволяшко имеет 15 лет стажа в IT. Работал по нескольким IT специальностям (разработчик, системный администратор, тестировщик). С 2001 года является практикующим проектным менеджером и менеджером IT подразделений. Сергей имеет многолетний практический опыт эффективного применения разнообразных методологий и практик на стыке интересов проектной команды, компании и заказчика. А также опыт организационного управления IT подразделений. Сертификации PMP и ITIL. Принимал лидирующее участие во внедрении CMMI L3.
Дмитрий Ефименко является экспертом в управлении проектами и командами, бизнес и системном анализе, проектировании, разработке, тестировании и построении процессов. Более 13 лет в разработке софта, последние 4 года – лидер продуктовой команды. Категорический сторонник вытягивающих подходов в проектировании и разработке, самоуправляющихся команд, бережливых и легковесных процессов. Увлекается синтезом эффективных процессов «под команду» из известных и не очень методов и практик.
Николай Алименков является экспертом в разработке приложений на Java и управлении командами. Имея опыт разработки более 7 лет, уже более 5 лет Николай работает с Agile методологиями. На текущий момент практикующий технический лидер и Scrum Master.
Отличительная особенность представленных тренингов в том, что каждая тема освещается с разных точек зрения и подходов (классических, Agile, собственных). Благодаря этому, каждый участник получает возможность перенять и применить на практике опыт тренеров в совершенно разных окружениях, методологиях и подходах к управлению проектами. Каждый найдет в представленном списке что-то интересное для расширения диапазона своих знаний и возможностей внедрения новых подходов.
Менеджеры, мы будем рады видеть вас на публичных тренингах и корпоративных мероприятиях в вашей компании!