Pull to refresh
0
0
Send message

Ой не смог, ой не успел, ой забыл

Level of difficultyMedium
Reading time3 min
Views38K

Получали когда‑нибудь от своих сотрудников подобные ответы? Особенно часто это бывает, когда речь идёт не о задаче в Jira, которая видна на доске, а о менее формальных договорённостях.

— прочитал доку к сегодняшней встрече? — не, не успел.

Читать далее
Total votes 32: ↑8 and ↓24-15
Comments61

Как два программиста хлеб пекли

Reading time5 min
Views260K


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

Итак, представим себе, что есть два программиста. Один из них умный, прочёл кучу статей на Хабре, знает каталог GoF наизусть, а Фаулера — в лицо. Другой же делает всё просто. Первого будут звать, например, Борис Н., а второго — Маркус П. Само собой, имена вымышленные, и все совпадения с реальными людьми и программистами случайны.

Итак, к ним обоим приходит проектный менеджер (если в вашей вселенной PM не ходит сам к программистам, назовите его как-то иначе, например BA или lead, сути это не изменит) и говорит:
— Ребята, нам нужно, чтобы делался хлеб.

Именно так, «делался», без уточнения способа производства.

Как же поступят наши программисты?
Читать дальше →
Total votes 380: ↑348 and ↓32+316
Comments328

Даже муравьи работают слаженнее. Почему ваши сотрудники не создают результаты?

Reading time7 min
Views7.3K

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

Но...

Что «НО»?
Total votes 22: ↑12 and ↓10+5
Comments30

Проблема «Низкая производительность интеллектуального труда»

Reading time7 min
Views14K

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

Сказал, что низкая производительность труда приводит к тому, что в действительности не выполняются конкретные задуманные задачи в рамках реализации стратегического плана. А раз не выполняются конкретные задуманные задачи в рамках реализации стратегического плана, то нарушаются сроки выполнения запланированных стратегических задач. Если сроки стратегических задач нарушаются, то получаются скудные результаты в установленный период времени, скудные результаты не позволяют достичь стратегических целей. А если стратегические цели не достигаются, НЕ происходит фактического перехода из одного действительного НЕ желательного состояния и/или положения в другое действительное, но уже ЖЕЛАЕМОЕ, состояние и/или положение в заданные сроки. То есть случается «несбытие мечт».

При этом я не указал, о каком труде идёт речь? О физическом или интеллектуальном (умственном)[1]? Или об обоих?

Сейчас уточняю.

В настоящем блоге я говорю об интеллектуальном труде, поэтому здесь речь идёт о низкой производительности, именно, интеллектуального труда.

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

Почему здесь внимание акцентировано на интеллектуальном труде?

Читать далее
Total votes 23: ↑1 and ↓22-21
Comments21

Простой саботаж в мире ПО

Reading time6 min
Views34K

В кульминационный момент Второй мировой войны ЦРУ выпустило потрясающую книгу Simple Sabotage. В ней изложены различные способы, которыми диверсанты могут снижать продуктивность компании. Некоторые из этих советов не стареют, например, раздел «Общие помехи организациям и производству»:

1. Настаивайте на том, чтобы всё выполнялось через «каналы». Не допускайте того, чтобы для ускорения реализации решений выбирались кратчайшие пути.

2. Делайте «доклады». Говорите как можно чаще и пространнее. Иллюстрируйте свои «идеи» долгими историями из жизни и ссылайтесь на личный опыт. С готовностью делайте «патриотические» комментарии.

3. По возможности отправляйте все вопросы в комитеты для «более глубокого изучения и рассмотрения». Стремитесь делать комитеты как можно больше, не менее чем из пяти членов.

4. Как можно чаще поднимайте вопросы о несущественных проблемах.

5. Спорьте о чётких формулировках в общении, протоколах, резолюциях.

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

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

8. Беспокойтесь о правильности каждого решения, поднимайте вопрос о том, будет ли рассматриваемое действие относиться к юрисдикции группы или оно может вызвать конфликт с политикой какого-то более высокого эшелона.

Меня всегда поражало, насколько хорошо эти советы прошли проверку временем.

Читать далее
Total votes 66: ↑64 and ↓2+86
Comments35

KPI разработчика: какие метрики можно использовать и эффективно ли их внедрение

Reading time3 min
Views10K

KPI (Key Performance Indicators) – ключевые показатели эффективности сотрудника, которые позволяют оценить достижение поставленных целей и задач, результативность работы в компании. С продажниками все понятно. Их эффективность можно измерить по сумме прибыли, которую они ежемесячно приносят компании. А вот с IT-специалистами дела обстоят сложнее. Как оценить разработчика с точки зрения ключевых показателей эффективности? Какие KPI можно внедрить? Об этом я и расскажу.

Читать далее
Total votes 18: ↑1 and ↓17-14
Comments54

Оптимизация работы с большим объемом данных при помощи партиционирования в SQL

Level of difficultyMedium
Reading time6 min
Views16K


Автор статьи: Артем Михайлов


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

Как разработчики, мы часто сталкиваемся с задачами, в которых требуется обрабатывать и анализировать огромные объемы данных. Наша задача – сделать это эффективно и быстро.
Читать дальше →
Total votes 15: ↑13 and ↓2+16
Comments17

Diátaxis: структура технической документации

Reading time9 min
Views5.3K

Это первая статья в корпоративном блоге компании documentat.io. Мы занимаемся заказной разработкой технической документации и помогаем компаниям настраивать процессы документирования.

Многие разработчики сталкиваются с тем, что писать и поддерживать документацию трудно: непонятно с чего начать, что и куда написать, и как это безобразие дополнять по мере развития проекта. Часто в результате получается документация, которую тяжело читать. А значит пользователи читать её и не будут, вместо этого будут действовать методом проб и ошибок или дёргать техподдержку. И это в лучшем случае. В худшем — откажутся от использования продукта. В итоге пострадают все: и разработчики, и пользователи, и техподдержка, и бизнес.

Как структурировать документацию так, чтобы писать её стало проще?

Читайте в статье
Total votes 8: ↑8 and ↓0+8
Comments5

Отвязать рабочее место от офисного стола: подводные камни и новые решения

Level of difficultyEasy
Reading time5 min
Views2.7K

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

В МТС проанализировали обезличенную статистику перемещений абонентов между работой и домом. Сегодня примерно 30% специалистов в России продолжает работать удаленно, хотя некоторые компании — и в России, и за рубежом — возвращают сотрудников в офисы. 

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

Что нужно учесть и сделать по-новому — расскажем далее.

Читать далее
Total votes 10: ↑7 and ↓3+12
Comments1

Примета джуна #1 «С шашкой наголо»

Level of difficultyEasy
Reading time3 min
Views5K

Примета джуна #1 «С шашкой наголо»

На фоне вопроса какая разница между джуном и мидлом пришла в голову идея пойти несколько другим путем — описать то, что в моем понимании есть признаки джуна. То есть те вещи, которые характеризуют джуна и могут быть маркерами как для тех, кто оценивает сотрудником так и для тех, кто хотел вырасти из джуна. Чтобы собрать их воедино — добавляю тег #примета_джуна. По нему можно будет все их собрать.

Рассмотрим обычную историю: есть некий проект, который уже вышел в прод. Проект частично можно уже назвать легаси, так как некоторые модули от греха подальше не не лезут ибо «и так работает».

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

Задача в общем то не очень сложная, можно сказать даже идеальная для вхождения в проект — потому что придется пройти весь путь от добавления нового поля в таблицу до показа этого поля наружу через РЕСТ АПИ.

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

И казалось бы молодец, ведь проект после этого стал лучше и чище. Или нет?

И вот здесь, прежде чем читать дальше, я предлагаю вам подумать самим. Хорошо ли сделал новый инженер или нет?

Читать далее
Total votes 22: ↑5 and ↓17-11
Comments29

Немного про SLA для DWH на PostgreSQL

Level of difficultyEasy
Reading time3 min
Views4.4K

В некоторых случаях в DWH приходится периодическим заданием очищать таблицу и заполнять ее новыми актуальными данными. Например, раз в сутки. Если в таблице десятки или сотни тысяч строк, то это не проблема. А вот если миллиард - то уже точно проблема. Потому что каким бы способом ее не заполнять, но в течении достаточно длительного времени данные из этой таблицы не будут доступны пользователям. А если система должна быть доступна 24/7, то такие процессы начинают заметно ухудшать SLA.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments36

Отправка и обработка HTTP запросов в PostgreSQL

Level of difficultyMedium
Reading time7 min
Views20K

Эта статья о том как отправлять и обрабатывать HTTP-запросы непосредственно из/в PostgreSQL. Автор расскажет о том, что такое асинхронное уведомление в PostgreSQL, и наглядно продемонстрирует, как с его помощью можно взаимодействовать с внешними системами из самой СУБД.

Читать далее
Total votes 11: ↑9 and ↓2+12
Comments57

Величайшая мистификация 21 века – «Технические собеседования»

Reading time11 min
Views45K

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

Только тут цель не миллион и не работа мечты, а очередная галера.

Читать далее
Total votes 112: ↑30 and ↓82-44
Comments395

Как программисту избежать выгорания

Reading time6 min
Views6.8K

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

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

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

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

Читать далее
Total votes 25: ↑19 and ↓6+15
Comments11

Ускоряем тестирование: быстро, модно, без рутины

Reading time8 min
Views13K

Привет! Меня зовут Александр Пронин, я занимаюсь тестированием более пяти лет, последние полгода из которых — в QIWI, проект ContactPay. Мы делаем платежную систему для международного рынка, она состоит из микросервисов, которые написаны на Python и живут в Google Cloud. Проект существует на рынке более двух лет, на данный момент среди наших клиентов уже есть компании-единороги. 

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

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

Читать далее
Total votes 23: ↑23 and ↓0+21
Comments12

Ловушка алгоритмизации, или как 44-ФЗ породил коррупцию

Reading time10 min
Views58K

Один из столпов российский борьбы с коррупцией — это призванный сделать все госзакупки прозрачными и честными федеральный закон «О контрактной системе в сфере закупок товаров, работ, услуг для обеспечения государственных и муниципальных нужд» от 05.04.2013 № 44-ФЗ. Ушла пора, когда коррумпированные чиновники закупали за миллионы рублей то, что стоит копейки, настало светлое время — и экономика наконец стала экономной.

Желание написать этот текст у меня возникло с неделю назад, когда я подискутировал в комментариях на Хабре с человеком, идеалистично считающим, что система госзакупок построена так, чтобы купить лучший товар по минимальной цене — и было заглохло. Но вчера на глаза попалась дискуссия о том же 44-ФЗ в Телеграм-каналах, начатая Алексеем Чадаевым:

Самый коррупциогенный из наших законов, твёрдый первый номер с большим отрывом — 44-ФЗ (о госзакупках) весь целиком построен на философии борьбы с коррупцией.

Или нет?

Читать далее
Total votes 255: ↑249 and ↓6+301
Comments525

Самодельная клавиатура PS/2 – это просто

Reading time14 min
Views16K

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

Суть сегодняшнего предмета для изучения опять сугубо академическая.

Лично я взялся за подобную разработку по одной простой причине: Потребовалась клавиатура для самодельного компьютера Z80-MBC2.

Однако, устройство вполне работоспособно с любым PC.

Читать далее
Total votes 58: ↑58 and ↓0+58
Comments26

Information

Rating
Does not participate
Registered
Activity