Рубрика «программисты» - 7

На данную статью меня сподвиг следующий пост “Как улучшить свой стиль программирования?” плюс недавний спор среди коллег.
Представьте себе такой диалог:

Админ: Господа, разработчики, ваш код на сервере стал поедать много оперативки. Сервер уже свопиться начинает. Сами понимаете, все может встать колом!
Представитель разработчиков (например, тимлид): Блин, беда. Сейчас займемся проблемой.
Эй, команда, нас тут админы стыдят за неоптимальный код. Нужно срочно все бросить и оптимизировать старый код.
Менеджер проекта: Эй, вы куда? Какая оптимизация? Пусть админы докупят памяти в сервера и проблемы нет. А у вас вон кучу нового функционала нужно разработать. Никакой оптимизации! Сосредоточьтесь на новом функционале. Нам нужно опередить конкурентов с новыми фичами. Потом как-нибудь оптимизируете свой код.

И кто по вашему прав? Что нужно сделать? Сделать апгрейд железа или заняться оптимизацией?
В конце статьи будет голосование.
Читать полностью »

Давеча в блоге одного моего хорошего друга наткнулся на детскую задачку, которую по его словам дают детям дошкольного возраста. Согласно легенде, решить подобную заморочку могут 95% детей в возрасте до 10 лет и только четверть процента людей после 20 лет. В общем, взялся за решение этой головоломки… Да, кстати, вот и она:

8809 = 6 7111 = 0
2172 = 0 6666 = 4
1111 = 0 3213 = 0
7662 = 2 9312 = 1
0000 = 4 2222 = 0
3333 = 0 5555 = 0
8193 = 3 8096 = 5
7777 = 0 9999 = 4
7756 = 1 6855 = 3
9881 = 5 5531 = 0

Вопрос: 2581 =?

Конечно же, интереснее всего решать подобные вещи самому. И ни в коем случае не читать текст далее…

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

Исповедь 1

Я — разработчик. От своих работодателей я постоянно слышу, что работаю медленно и часто всё усложняю без веской причины. И что мне пора бы что-то с этим сделать. Во избежание.

Весь мой опыт программирования складывается из университетских работ и пары лет пребывания в различных компаниях. Критикующие меня люди неоднократно говорили мне, что в целом я разбираюсь в теме, так что я далеко не клинический случай, как можно было подумать. Однако, очевидно, я выработал совсем не те программистские привычки (как минимум, на взгляд работодателя) и мне нужно срочно изменить их. Везде, где бы я ни работал, мои решения, использующие иерархии мелких классов с делегированием поведения, признавались плохими. Говорят, будто так и надо писать, но это не так. Потому что всё это «как надо» может стоить мне работы.
Читать полностью »

Мифы о программистах: равнодушие к стриптизёршам, пельмени и управляемый хаос

Не секрет, что любая профессия обрастает неким количеством мифов, которые кажутся убедительными для тех, кто далёк от темы. В IT одной из самых мифологизированных стала профессия программиста. Мы собрали все известные нам мифы о программистах и проверили их на правдивость. Для этого провели опрос среди технических специалистов нашей компании (78% из которых программисты) о том, какого стиля жизни они придерживаются.
Читать полностью »

Исправительные колонии — новая кузница кадров IT специалистов?

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

Из разработчика в дизайнеры: опыт и советы

Как человеку с опытом разработчика стать дизайнером? Советы от человека, который сделал это.
Читать полностью »

Nerd Rage — производительность программистов«Главная проблема цитат в Интернете в том,
что люди сразу верят в их подлинность».
В.И.Ленин

Каждого из нас нечто раздражает. Это может быть фильм с отличными диалогами, но запоротой идеей. Это может быть скрип пенопласта или звук резки стекла. Ну а меня раздражают вырванные из контекста цитаты! Но ладно бы просто вырванные, некоторые мысли «атомарны» и интересны сами по себе. Но люди идут дальше – они воспринимают как руководство к действию цитаты, смысл которых вне контекста совершенно не соответствует задумке автора! А это уже серьезно. И сегодняшней темой станет фраза «отношение производительности лучших сотрудников к производительности худших составляет примерно 10:1».
Читать полностью »

В Яндексе работает больше 6000 человек, и, по некоторым оценкам, больше половины наших сотрудников имеют опыт в программировании. И конечно же, у каждого из этих людей есть своё самое правильное мнение о том, каким должен быть идеальный код.

В результате у нас нередки споры споры о том, должен ли код быть красивым. Причём оказывается, что понятие красоты здесь, как и везде, субъективно: «Предпочтение в коде у программистов — это как предпочтение в женщинах. Кому-то нравятся брюнетки, кому-то — блондинки».

Чтобы понять, какие свойства кода отстаивают разные стороны, я по горячим следам очередных бурных обсуждений решила спросить коллег, что такое красивый код и должен ли он вообще быть красивым? Достаточно того, чтобы он хорошо работал и был понятным? Или понятный код по умолчанию красивый?

В опросе участвуют bobuk, anatolix, anton, Андрей yafinder Плахов, Антон Самохвалов, Андрей Гулин, Владимир Иванов и другие. Суммарный опыт программирования всех участников этого микро-интервью на восьмерых составляет 198 лет.
Читать полностью »

Друзья! Мы все очень любим (или не любим) поговорить о шаблонах проектирования. Лично я их сильно недолюбливаю, т.к. большинство из них достаточно очевидны для более или менее опытного разработчика, а шаблонность мышления еще никому в жизни не помогала.

Но поговорим мы сегодня не о них, а о других шаблонах, а именно шаблонах поведения, наших людских паттернах, а скорее даже антипаттернах. Чтобы подлить масло в огонь хотел бы немного расшифровать название этого поста.

В повседневной жизни я стараюсь не употреблять слово «программист». Оно для меня несет негативный оттенок и сразу вспоминаются 90-е, когда кого только программистами не называли. Они и картриджи у принтеров меняли и бабушкам-бухгалтерам помогали их первый комп осваивать. Помните это нетленное «Ты же программист!»? В общем дискредитировало себя это слово.

Я как-то привык своих людей называть разработчиками (developers) и для меня программист — это эдакий антипод разработчика. Ну и с годами опыта я познал большое количество антипаттернов для хорошего разработчика, пользоваться которыми он должен как можно реже. Чем реже я их слышу, тем я счастливее. Итак, приступаем.

001. А у меня на компе работает

Эта фраза знакома всем, кто хотя бы несколько месяцев работает в индустрии и просто должна быть исключена из лексикона любого разработчика. Чувак, если ты отправляешь на тестирование код, который не работает у тебя на компе, то тебе не место в профессии! По определению у тебя на компе код всегда работает. Разве может быть иначе? А не работает он у тестировщика, клиента, да кого угодно, потому, что ты не учел какие-то нюансы, различия в окружении, данных, погоде на Марсе и твоя задача выяснить, что именно и исправить, а не пытаться сразу откосить и доказать свою невиновность. Нет ничего страшного в том, что ты чего-то не учел. В моей практике бывали случаи учесть которые мог бы только… Да никто не мог бы!

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

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

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

Если не хоите ходить по моим граблям, добро пожаловать под кат.Читать полностью »


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