Рубрика «психология программирования»

Помню Ванкувер, 2005 год. Сижу над монолитом на Java в команде того самого автора книги, которую швыряют в каждого джуна. Баги, дедлайны, бессонные ночи. И ловлю себя на мысли: я перестал видеть лес за деревьями. Вернее, систему за строчками кода. Стал «исполнителем»: получил таску → закрыл → получил следующую. Творчество? Инновации? «Да кому это надо, когда прод падает!».

Так вот, брат: это смерть. Ты либо растешь, либо ржавеешь. За 30 лет я выработал правила, как не дать мозгу засохнуть. И да, один мой «соавтор» из XV века шептал на ухо: «Рисуй, сомневайся, разбирай на части»Читать полностью »

Помню Ванкувер, 2005 год. Сижу над монолитом на Java в команде того самого автора книги, которую швыряют в каждого джуна. Баги, дедлайны, бессонные ночи. И ловлю себя на мысли: я перестал видеть лес за деревьями. Вернее, систему за строчками кода. Стал «исполнителем»: получил таску → закрыл → получил следующую. Творчество? Инновации? «Да кому это надо, когда прод падает!».

Так вот, брат: это смерть. Ты либо растешь, либо ржавеешь. За 30 лет я выработал правила, как не дать мозгу засохнуть. И да, один мой «соавтор» из XV века шептал на ухо: «Рисуй, сомневайся, разбирай на части»Читать полностью »

Привет! Меня зовут Алексей Пьянков, я разработчик в компании Спортмастер. В этом посте я рассказал, как начиналась работа над сайтом Спортмастер в 2012 году, какие инициативы удалось «протолкнуть» и наоборот, какие грабли мы собрали.

Сегодня я хочу поделиться мыслями, которые следуют за другим сюжетом – выбор системы кеширования для java-бэкенда в админке сайта. Этот сюжет имеет особое значение для меня – хотя история разворачивалась всего 2 месяца, но эти 60 дней мы работали по 12-16 часов и без единого выходного. Никогда раньше не думал и не представлял, что можно так много работать.

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

Как мы в Спортмастере выбирали систему кеширования. Часть 1 - 1
Читать полностью »

Привет! Меня зовут Алексей Пьянков, я главный программист в компании Спортмастер. Скажу сразу, что «главный» не значит «самый главный из всех программистов», нет, это только название, такой очаровательный перевод для «Senior+"».

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

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

image

И начну именно с 2012 года.

Читать полностью »

Доводилось ли тебе, дорогой читатель, когда-нибудь писать рассказы? Может быть это было сочинение в школе или эссе на тему «Как я провел Лето» «Смысл жизни» на факультете психологии в университете. Всегда от пишущего требовали одного, донести свои мысли четко и, по возможности, интересно. Мне хотелось бы поделиться с тобой историей о том, как я писал рассказ, в котором объяснял почему $inline$2+2=4$inline$ и почему $inline$2+2*2=6$inline$. Статья несет в себе цель не сколько описать техническую сторону программирования, сколько ее эстетическую часть и, что главное, описать психологию программирования. Сопровождаться сия статья будет ссылками на коммиты в GitHub.

Читать полностью »

Зло в функциях сравнения
Возможно, читатели помнят мою статью под названием «Эффект последней строки». В ней идёт речь о замеченной мной закономерности: ошибка, чаще всего, допускается в последней строке однотипных блоков текста. Теперь я хочу рассказать о новом интересном наблюдении. Оказывается, программисты тяготеют к тому, чтобы допустить ошибку в функциях сравнения двух объектов. Такое утверждение выглядит неправдоподобным, однако, я покажу огромное количество примеров ошибок, которые шокируют читателя. Читайте новое исследование, будет интересно и страшно.
Читать полностью »

Микроклоны — это дублированные фрагменты кода очень малого размера — всего лишь несколько инструкций или строк. В этой статье мы рассмотрим «эффект последней строки» — явление, при котором последняя строка или инструкция в микроклоне с гораздо большей вероятностью содержит ошибку, чем предыдущие строки или инструкции. С этой целью мы изучили 219 открытых проектов и 263 предупреждения о дефектных микроклонах, а также опросили шестерых авторов реальных приложений, допускавших такие ошибки в своем коде. В нашей междисциплинарной работе также изучаются психологические механизмы, обуславливающие сравнительно тривиальные ошибки этого типа. Опираясь на результаты опросов и дальнейшего технического анализа, мы предполагаем, что в существовании эффекта последней строки ключевую роль играют так называемые «ошибки последовательности действий»: при копировании кода внимание разработчиков переключается на другие задачи из-за отвлекающих факторов и монотонной природы самой этой процедуры. Более того, все микроклоны, чье происхождение мы смогли установить, были обнаружены в непривычно больших коммитах. Знание о данном эффекте имеет два полезных следствия для программистов: 1) им будет легче распознавать ситуации, в которых особенно велика вероятность допустить ошибку в микроклонах; 2) они смогут использовать автоматический детектор микроклонов / PVS-Studio, что упростит обнаружение ошибок этого типа.
Читать полностью »

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

Такие вопросы, помимо нервного тика, приводят и к другим последствиям: у программистов не остается другого выхода кроме как соврать. Потому что дать человеку, далекому от программирования, экспресс-курс «Как писать код» за несколько минут, задача не из легких.

Итак, встречайте топ-7 фраз менеджеров, которые не оставляют выбора программистам.

Практическое пособие «Как вывести из себя программиста» - 1
/ Flickr / Kenny Louie / CC
Читать полностью »

Это статья о простом приеме мотивации молодого специалиста. Если коротко: сильный специалист признается, что не знает как решить задачу, что бы мотивировать новичка. О паре случаев из жизни под катом.
Читать полностью »

Для тех, кто будет читать эту статью пару лет спустя в нашем светлом будущем, когда, по современным представлениям, мы должны уже пройти все пики «новой экономической реальности»™, коротко и ёмко объясню причину: это не деньги, это перспектива. Автор еще молод и полон сил, а экономика уже второй год как на пенсию вышла.

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js