Первая встреча Гомельского Архитектурного Сообщества

Несмотря на то, что прошло всего несколько дней с момента создания Гомельского Архитектурного Сообщества, нас уже 60 человек (а мы ведь даже еще и не начинали ничего делать)! Значит, тема интересна многим из нас, и мы не зря организуем сообщество.

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

Первая встреча пройдет 24 ноября в 7 часов вечера в кафе «ФЛЭТ» (как раз успеть доехать до гостиницы “Турист” после работы). Мы не хотим большой аудитории, это не конференция. Это, скорее, клуб по интересам. Будет человек 30.

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

Read more →


Solution Architecture Community Gomel

В последние годы значительно вырос спрос на специалистов в области проектирования и дизайна систем. Что и не удивительно, потому что приложения и системы с каждым годом становятся все сложнее. Размер команды и команд участвующих в одном проекте растет. Бизнес (заказчик) хочет недорогих решений и быстро. С этим всем приходится сталкиваться Архитектору Программных Решений (Solution Architect или сокращенно SA). Наша индустрия хоть и молода, но уже накопила множество готовых решений, начиная от библиотек и фреймворков до подходов, практик и паттернов.

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

Read more →


Как cпроектировать систему

Помните картинку “как нарисовать сову”? Мол рисуем две окружности и добавляем все остальное. То же самое происходит с дизайном системы. Берутся требования и… превращаются в архитектуру системы. И совершенно непонятно почему тут ASP .Net MVC, тут Message Queue, а тут availability кластер. И есть ли обоснование для кластера и MQ в требованиях? Тоже непонятно.

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

А потому, что исходя из

Read more →


Начался курс Introduction to Enterprise Architecture

В понедельник начался курс по Энтерпрайз Архитектуре на open2study Introduction to Enterprise Architecture. Я вчера закончил первый модуль этого курса. Очень нравится. Не напряжно. У меня ушло где-то 1.5 часа в 2 приема.

Рекомендую.

Enterprise Architecture

Энтерпрайз архитектура это “a well-defined practice for

Read more →


Понимание роли Архитектора

Я провел 6 Unified Assessment сессий на Солюшен Архитектора (SA) в этом году и несколько в прошлом (что это такое смотрите в конце сообщения). И я вижу большую проблему с пониманием того, кто такой Архитектор, его роль и обязанности. Большинство кандидатов и их руководителей не понимают кто такой SA, что он должен делать, и чем он отличается от разработчика. Кроме того, у всех отсутствует системный подход к созданию архитектуры.

Эта проблема давно известна, и ее решением ЕПАМ активно занимается. Для этих целей, например, была создана

Read more →


Обзор конференции Microsoft //build/

Возможно вы знаете про конференцию MS //build/ прошедшую в конце апреля в Сан Франциско. Это самое большое событие Майкрософт в году на котором она анонсирует новые продукты, а так же задает направление развития на весь год.

Моя версия краткого содержания //build/ ниже. Если у вас нет времени читать, то можете

Read more →


Итоги года в ЕПАМ

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

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

Read more →


EPAM Competency Center

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

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

Read more →


Бот для игры 2048

Коллеги показали игру 2048. Смесь пятнашек с… эээ… тетрисом, что-ли. Сама игра меня не сильно заинтересовала (был очень занят по работе), но вечером меня торкнуло и я решил сделать бота для нее. Захотелось применить пылившиеся знания по основам AI полученным после прохождения курса CS188.1x: Artificial Intelligence на edX.

Результат можно посмотреть на

Read more →


Как настроить Network Tracing в .net

Если вы, как и я, изучали .net в “боевых условиях” под лозунги “вперед на мины, за вами Родная Компания”, а первым встретившимся вам инструментом логирования был log4net, вы, позже, узнали про стандартные средства логирования в .net (System.Diagnostics.Trace, например), но не видели смысла разбираться с еще одним логером, когда

Read more →


Google Calendar, как бесплатный СМС гейт

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

Read more →


Интересный совет от Стратоплана на тему что и как читать

Всем кому лень читать, вот цитата:

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

Смотрите, как просто получается: сначала моя задача — потом книга

Read more →


nginx: избавляемся от localhost:XXXX

Наконец-то дошли руки поставить nginx на тестовый сервер, что позволило избавиться от всех этих kavaleu-al:1080, kavaleu-al:8500, kavaleu-al:3000. TeamCity-серверу повезло еще больше, он получил свой собственный субдомен teamcity.kavaleu-al вместо “стыдного” kavaleu-al:8080

Что я люблю в современном IT, так это то, что большинство вещей решаются за 10-20

Read more →


Гибкое управление продуктом в двух словах (русская версия)

Отличный ролик в котором за 15 минут (реальных) на русском рассказывают о принципах гибкого управления продуктом. Это перевод на русский язык видео-презентации Хенрика Книберга Agile Product Ownership in a nutshell. Сделанный Борисом Вольфсоном. Ссылка на оригинальное сообщение на хабре.

Я составил содержание ролика для удобства и привлечения внимания.

Read more →


Получаем оплату через PayPal

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

Воркфлоу наш очень прост:

Read more →


What-if научно-популярные ответы на глупые вопросы

Думаю, вы уже сталкивались сайтом http://xkcd.com/ и его комиксами, нарисованные Рэндаллом Монро, сотрудником NASA (если нет, то рекомендую, Уверен, что есть переводы этих комиксов). В 2012 году этот проект дополнился блогом http://what-if.xkcd.com/. В котором Рэндалл отвечает на глупые, на первый взгляд вопросы.

Перевод выкладывается на

Read more →


Предложение о сотрудничестве

Если вас интересовало зачем я развел всю эту бурную деятельность в блоге (1, 2, 3), проводил семинар и грузил людей в личном общении, а главное какая польза от этого всего лично мне, то это сообщение должно прояснить вам мои мотивы. И не только прояснить, но и, надеюсь, побудить вас откликнуться на мое предложение или даже, чем черт не шутит, помочь мне в осуществлении моих планов. А планы у меня не больше не меньше, а “захватить мир”… Заинтриговал? Надеюсь. Поехали.

Read more →


Шпаргалка по алгоритмической сложности операций и структур данных. O-нотация

http://bigocheatsheet.com/

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

Я сделал всего ДВА скриншота. По ссылке информации много больше.

Что эти все O(n*log(n)) означают на практике: complexity chart

Характеристики структур данных: data structures complexity

Задачки на осознание

1) В каких ситуациях QuickSort (“Best ever”, фактически стандарт сейчас) может дать “плохой” результат, хуже любого другого алгоритма (дает (O(n^2)).

2) В каких случаях Insert Sort (или BubbleSort) рвет все другие алгоритмы сортировки (выдают O(n))? // hint: частично отсортированные данные

3) В каких случаях HashTable превращается в LinkedList (со всеми вытекающими) и что с этим делать? // hint: алгоритм хэширования

4) Ваш алгоритм на HashTable стал потреблять слишком много памяти, что можно сделать? // hint: найти другую структуру данных, можно по шпаргалке выше.

5) ….

… … …

Read more →


Популярно о научных достижениях

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

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

Read more →


Как стать программистом

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

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

Основная цель – устроиться на работу “хоть куда”/”хоть за еду”. Потому что я твердо уверен, что обучение в “боевых условиях” на порядок эффективнее.

Read more →


Секция Вопрос-Ответ

4 часть сообщения “Инструменты управления. Стратоплан, 30.11. Обзор”, начало вы можете найти здесь. Продолжим.

Как я уже говорил, отличная секция. Грамотные, компетентные ответы. То что я записал/запомнил (могут быть неточности! Как, впрочем, и везде)

В: Какие книжки посоветуете?

О: Книжки это про знания, не про умения. Чтобы получить умения нужна практика, которая запускает Цикл Коба. Книжки можно найти http://www.stratoplan.ru/books/

Read more →


Инструменты, которые скорее всего не буду использовать (они тоже хороши)

3 часть сообщения “Инструменты управления. Стратоплан, 30.11. Обзор”, начало вы можете найти здесь. Продолжим.

4 принципа конструктивизма

Своевременность: Проблему нужно решать своевременно (а не после). Адресность: Проблему нужно решать с людьми которые могут ее решить (а не с женой на кухне, другом в курилке). Факты и данные: Нужно подтвердить наличие проблемы

Read more →


Подробно про инструменты, которые буду использовать

2 часть сообщения “Инструменты управления. Стратоплан, 30.11. Обзор”, начало вы можете найти здесь. Продолжим.

Алгоритм решения проблем с людьми.

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

Read more →


Инструменты управления. Стратоплан, 30.11. Обзор

В субботу (30.11.2013) прошла трансляция вэбинара “Управленческие инструменты: 16 концептов на каждый день” о которой я рассказывал на доске. Масса впечатлений, мыслей, новых задач, переосмыслений, впрочем я именно этого и ожидал после первого стратоплана этим летом. Александр Орлов рассказал о 16 инструментов, которые мы можем использовать каждый день на работе, а так же в жизни, для прояснения чего-то, мотивации и саморазвития.

Кто такие Стратоплан вы можете узнать на сайте. Я могу только сказать,

Read more →


Начинается курс «Принципы реактивного программирования»

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

Сам курс: http://www.coursera.org/course/reactive

Его обзор на Хабре: http://habrahabr.ru/post/200338/

Перевод Реактивного Манифеста: http://habrahabr.ru/post/195562/

Read more →


Дайджест ссылок #2

Продолжаем, дайджест ссылок.

Все сейчас движется в стороны вэба, а в вэбе в абсолютных лидерах html+css+js. Похоже, лучше всего в эту сторону двигаться. Отличный сборник того что же нужно рассматривать в первую очередь: Changing Times For Web Developers – 6 Tips You Should Read To Survive

Read more →


Дайджест ссылок #1

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

Начну с двух вещей которые очень впечатлили на этой неделе.

Read more →


Улучшаем зрение: пальминг

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

Глаза, как и любую часть организма можно

Read more →


Бага в релизе. Анализ

Это продолжение серии статей о принятии ответственности. Предыдущая статья была здесь.

Давайте ответим на несколько вопросов (каждый себе, а после я попробую).

  • Хорошо ли работала команда для того, чтобы выпустить продукт в срок?

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

  • Кто виноват в провале?

  • Кого можно сделать виноватым?

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

  • По мне очень хорошо. Не уверен, что реальная команда сделала хотя бы половину. Другое дело, что ни пытались тушить пожар, когда “дому было бы лучше сгореть”, ИМХО.

  • Написать письмо вместо звонка. Отказаться помогать “сегодня выходной, что ты от меня хочешь”, “я на ДР и я пьяный”, “я к теще собираюсь”, “моя жена итак меня ненавидит”, …

  • Я не могу назвать виноватого. По мне все виноваты в разной степени. Даже тестер, хотя я “играл” за него.

  • Любого. Обычно это самый молодой и/или нестойкий. Р за то, что поздно предоставил. А за то, что сервак сломался и отключил наш сервис. Т за то, что все же пропустил баг.

Read more →


Бага в релизе. История

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

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

Живописание ОПЫ закончено, начинается собственно разбор полетов:

Read more →


Проектирование как процесс решения проблем

Обнаружил видео с доклада Гапертона (Владислава Балина) на Software People “Проектирование как процесс решения проблем”. Об этом докладе я узнал почти год назад. Далее Влад выложил слайды.

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

Основные тезисы

  • Разработка это не конвейерное производство, а проектирование от начала до конца (код – это не более чем тех документация для конвейера который производит ПО).
  • Разработка это решение проблем. Проблема имеет не одно решение, а множество (пространство решений) 8m45s

Read more →


Парный тайм менеджмент

Многие, думаю, в курсе про техники Тайм Менеджмента, в инете их вагон, пиарных статей куча. Самая известная, наверное, это GTD.

Я узнал про GTD пару лет назад и загорелся. На первых порах было круто им следовать, получалось действительно хорошо (меньше стал забывать, сделать получалось больше). Потом появилась усталость и скепсис (в конце концов я не робот, чтобы следовать чеклисту). Далее пришло понимание, что тайм-менеджмент все же неплох, но нужно упрощать/адаптировать методику под себя. В итоге появились правила которыми я пользуюсь уже больше года и очень доволен результатами.

Read more →