• Визуальные спецификации

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

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

      Agile движение имеет свой взгляд на спецификации. Наиболее экстремальное крыло выражает свои взгляды так:

      В жопу спецификации!
      Дальше еще интереснее...
    • Резюме программистов. Часть 2 (хорошие)

        Я сполна получил п***й за первый пост. Самое время писать продолжение! Итак, чего же мне надо от резюме разработчика?

        Все ниже в порядке приоритета.

        Код


        Я хочу видеть код, которым вы гордитесь. Я хочу знать, как вы называете переменные, как декомпозируете систему, как проверяете входные условия и насколько любите все усложнять. Очень желательно, если будет описание проблемы, иначе понимание кода и решения затруднено.
        Читать дальше →
      • Резюме программистов. Часть 1 (плохие)

          Честно скажу, когда я искал работу, мое резюме смело можно было отнести к категории плохих. Да, там было несколько хороших секций (типа, а вот я написал 2 книжки и 30 статей), но также там была и таблица скилов со строчкой: C#, 1 year of experience, Intermediate (!).

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

          Шаблоны


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

          Читать дальше →
        • Наши принципы

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

            Летом 2010 руководство компании в срочном порядке выехало на море в Республику Кипр. Купаясь ночью в теплых Средиземных водах и общаясь много часов подряд, была выработана новая концепция и стратегия, которая оказалась на редкость удачной и верной.

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

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



            скучные подробности
          • Наш процесс разработки: 50 месяцев эволюции

              Нашей компании уже 6 лет. Она была основана на принципах agile и росла на них. Мы использовали Extreme Programming с самого первого дня, добавили немного Scrum позже и в конце концов переключились на Kanban. Хочется поделиться бесценным опытом и рассказать об изменениях нашего процесса разработки за последние 4 года.



              Много ужасных таблиц и красивых картинок
            • Как мы на самом деле работаем

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

                Сегодня мы хотим рассказать вам, как мы на самом деле работаем.

                Кухня


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

                Начнем с самого главного — с пищи материальной. Все, что написано ниже, бесплатно для всех сотрудников. У нас стоит итальянская кофе-машина:


                много фотографий и немного текста
              • Как мы работаем

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

                  Смотритель за Функциональными Тестами (СФУТ)


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

                  Для обозначения СФУТ разработчика у нас есть кот. Кот целый день сидит на столе возле СФУТ и улыбается.



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

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

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

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



                    Узнать интригующие подробности
                  • Как мы учимся

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

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

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

                      Карта


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



                      Читать дальше →
                    • Будущее гибкой разработки ПО


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

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

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

                          1. Вы не будете тратить время на оценки


                          Оценки занимают время. Даже если вы оцениваете в абстрактных поинтах, играя в покер, все равно тратится прилично времени. А что, если вы хотите улучшить точность оценок? Тогда вы собираете данные, анализируете данные и обсуждаете результаты анализа. Все это тоже занимает прилично времени. Но подумайте, вам на самом деле нужны оценки? Часто это waste. Лучше потратить время на что-то действительно полезное для продукта.
                          узнать остальные причины
                        • Компания Taucraft. Инфографика




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

                            Читать дальше →
                          • Эффективная команда

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

                            А нужны ли нам вообще команды?

                            Работа в одиночку


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

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

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

                            Так зачем же люди формируют команды?
                            Читать дальше →