Pull to refresh
-1
Karma
0
Rating

Пользователь

Что будет, если от разработчиков не отстать: умирающая команда

Reading time 11 min
Views 52K
Газпромбанк corporate blog Development Management *Project management *
✏️ Technotext 2022
Мне досталась команда, которая болела. Все понимали, что происходит, никому не нравилось, что творится в команде, и традиционно менеджеры такие команды сильно режут. Но здесь были шансы вылечить и без ампутаций.


Источник

15 человек, из них — один руководитель проекта, три фронта, два бэка, три аналитика, девопс. Симптомы обычные: процессы всем не нравятся, соседи — козлы, потому что не то и не так делают, а как нужно — не знают, ответственности ни на ком толком нет ни за что.

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

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

Почему процессы разваливались? На первый взгляд, потому, что была куча ненужных совещаний и встреч с теми, кого разработчики вообще не должны были видеть. Плюс местами странноватые KPI. Как это ни странно, но если психологически давить на разработчика пару лет, то ничем хорошим это не закончится. Руководство подразделения дало мне карт-бланш на исправления, и я начал разбираться, что же случилось.
Читать дальше →
Total votes 213: ↑209 and ↓4 +205
Comments 73

Создание архитектуры программы или как проектировать табуретку

Reading time 25 min
Views 628K
Website development *System Analysis and Design *Designing and refactoring *
Sandbox
Взявшись за написание небольшого, но реального и растущего проекта, мы «на собственной шкуре» убедились, насколько важно то, чтобы программа не только хорошо работала, но и была хорошо организована. Не верьте, что продуманная архитектура нужна только большим проектам (просто для больших проектов «смертельность» отсутствия архитектуры очевидна). Сложность, как правило, растет гораздо быстрее размеров программы. И если не позаботиться об этом заранее, то довольно быстро наступает момент, когда ты перестаешь ее контролировать. Правильная архитектура экономит очень много сил, времени и денег. А нередко вообще определяет то, выживет ваш проект или нет. И даже если речь идет всего лишь о «построении табуретки» все равно вначале очень полезно ее спроектировать.

К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».

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

Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
Читать дальше →
Total votes 88: ↑85 and ↓3 +82
Comments 45

Совмещаем рутину и годовые цели. Наш опыт

Reading time 7 min
Views 4K
Development Management *Project management *Agile *Start-up development
Sandbox

TL;DR: Здесь о том, как одна команда управленцев от разработки захотела жить по-другому, сформулировала образ будущего, прониклась устремлением, приспособилась выкраивать время и проводить изменения даже когда накрывает авралами.

Читать статью
Total votes 8: ↑8 and ↓0 +8
Comments 6

Performance review как инструмент для оценки результатов работы и развития сотрудников

Reading time 10 min
Views 9.8K
Development Management *Personnel Management *IT career IT-companies
✏️ Technotext 2021

Меня зовут Артём Сусеков, я менеджер разработки в Miro. Расскажу, как мы пришли к справедливой оплате и прозрачному обсуждению эффективности сотрудников команд продуктовой разработки.

Статья будет полезна, если вы задаётесь вопросами: 

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

Читать далее
Total votes 10: ↑9 and ↓1 +8
Comments 16

Юнит-тестирование для чайников

Reading time 15 min
Views 948K
Website development *IT systems testing *
Tutorial
Даже если вы никогда в жизни не думали, что занимаетесь тестированием, вы это делаете. Вы собираете свое приложение, нажимаете кнопку и проверяете, соответствует ли полученный результат вашим ожиданиям. Достаточно часто в приложении можно встретить формочки с кнопкой “Test it” или классы с названием TestController или MyServiceTestClient.



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

Оно выполняет свою задачу, но сложно для автоматизации. Как правило, тесты требуют, чтобы вся или почти вся система была развернута и сконфигурирована на машине, на которой они выполняются. Предположим, что вы разрабатываете web-приложение с UI и веб-сервисами. Минимальная комплектация, которая вам потребуется: браузер, веб-сервер, правильно настроенные веб-сервисы и база данных. На практике все еще сложнее. Разворачивать всё это на билд-сервере и всех машинах разработчиков?

We need to go deeper
Total votes 70: ↑63 and ↓7 +56
Comments 65

Закалка тимлида: как вывести проект из пожара, не сгореть самому и не спалить команду

Reading time 23 min
Views 17K
Конференции Олега Бунина (Онтико) corporate blog Plesk corporate blog Development Management *IT career
✏️ Technotext 2021

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

На прошедшей в апреле конференции TeamLead Conf 2021 я поделился своим опытом, как вытащить проект из пожара и обойтись без человеческих жертв. Под катом моя история, а если предпочитаете смотреть — вот запись выступления.

Читать далее
Total votes 52: ↑52 and ↓0 +52
Comments 17

Подборка бесплатных ассетов для разработки игры

Reading time 3 min
Views 36K
Unity3D *Graphic design *
Sandbox

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

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

Ранее на DTF уже выходили подборки ассетов. К примеру, Арсений Мирный опубликовал список полезных ресурсов для поиска ассетов. Есть подборка от Дмитрия Чикалова, который упомянул не только библиотеки, но и полезные медиа-ресурсы. Иван Михайлов в своём внушительном списке программ для разработчиков также рассказал про библиотеки ассетов.

Наша подборка перекликается с другими списками, но мы выбрали самые удобные ресурсы, в которых легко найти нужные ассеты в условиях ограниченного времени.

Этот материал написан в поддержку нашего инди-джема, в котором ещё можно успеть поучаствовать.

Читать далее
Total votes 14: ↑13 and ↓1 +12
Comments 7

Обзор сервисов для получения актуальных курсов валют

Reading time 5 min
Views 86K
Payment systems *PHP *Symfony *Laravel *Cryptocurrencies
Tutorial

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

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

Поехали
Total votes 8: ↑5 and ↓3 +2
Comments 9

Почему стоимость биткоинов – вымышленное понятие

Reading time 13 min
Views 19K
Cryptocurrencies
Translation
Эссе в трёх частях:

  1. У биткоинов нет единой «цены», и рынок ужасно неэффективен.
  2. Разберитесь в законах, касающихся идентификации клиентов и отмывания денег.
  3. Биткоин – это не схема Понци! Она просто работает похожим образом.

Статьи были написаны в 2017 году как предупреждение для мало осведомлённых о мире финансов энтузиастов, решивших заработать «лёгкие деньги» на криптоторговле. Написал их Дэвид Жерар, автор книги «Нападение 50-футового блокчейна: биткоин, блокчейн, Ethereum и умные контракты».

Часть 1: у биткоинов нет единой «цены», а рынок ужасно неэффективен


В публичных обсуждениях биткоинов обычно принимаются следующие предположения:

  • У биткоинов есть цена, и ожидается, что их можно покупать и продавать.
  • Покупка биткоинов похожа на покупку акций или такого товара, как золота – рынок работает точно так же.
  • Биткоины ликвидные – относительно легко поменять деньги на биткоины, а биткоины – на деньги, лежащие на банковском счёте.

И это всё неправда.
Читать дальше →
Total votes 34: ↑27 and ↓7 +20
Comments 31

Как научиться проектировать реляционные базы данных за полчаса

Reading time 17 min
Views 38K
Database Administration *
Tutorial


Автоматизация сопровождает нас повсюду и является спутником и признаком прогресса, снимая с человека необходимость выполнения рутинных действий и принятия рутинных решений. Но для принятия решений о будущем необходима информация о прошлом, поэтому автоматизация неизбежно связана с необходимостью накапливать, хранить и обрабатывать данные, чем и занимаются базы данных и системы управления базами данных. Объём данных не уменьшается, а только увеличивается, поэтому я всегда говорю своим студентам: я научу вас хаскелю, но это сломает вам жизнь и не поможет найти работу базы данных – это хлеб программиста, у разработчика баз данных работа будет всегда, учитесь ораклу базам данных – и хлеб с маслом и икрой вам обеспечен. Это я так, как обычно, полемически заостряюсь для мотивации, но совсем чуть-чуть.
Читать дальше на свой страх и риск
Total votes 26: ↑26 and ↓0 +26
Comments 27

Бесплатные хостинги для веб-разработчиков

Reading time 4 min
Views 123K
Hosting Website development *
Sandbox

Привет, Хабр!

Одним из наиболее популярных направлений разработки сегодня является веб. И когда нужно разместить свой проект где-нибудь, кроме localhost, многие сталкиваются с трудностями, ведь хостинг должен быть быстрым, удобным и, желательно, бесплатным :)

В этом списке вы найдете 15 бесплатных сервисов, где легко сможете разместить свой проект и не заплатите ни копейки. Погнали!

Читать далее
Total votes 40: ↑39 and ↓1 +38
Comments 31

Git, я хочу все отменить! Команды исправления допущенных ошибок

Reading time 4 min
Views 33K
Skillbox corporate blog Programming *Git *Lifehacks for geeks
Translation
image

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

Но вся штука в том, что для исправления проблемы нужно знать точное название команды. И здесь у нас возникает типичная проблема курицы и яйца. В этой статье рассказывается о командах, которые помогают решить проблемные ситуации.
Читать дальше →
Total votes 34: ↑27 and ↓7 +20
Comments 20

Эффект неисправного монитора для текста, картинок и SVG

Reading time 4 min
Views 114K
Website development *CSS *
Tutorial
Translation
Эффект Glitch Лукаса Беббера выглядит очень круто — как будто вы смотрите на текст на старом мониторе, который слишком часто роняли на пол и у него «плавает» вертикальная синхронизация и сведение.

Реализация этого эффекта на CSS выглядит вполне убедительно. Мне пришлось немного поломать голову, чтобы выяснить, как он работает, и теперь я хочу объяснить это вам. Кроме того, я воспроизвёл этот эффект не только для текста, но и для растровых изображений и SVG, а так же написал несколько примесей Sass, чтобы облегчить работу с ним.


Читать дальше →
Total votes 182: ↑176 and ↓6 +170
Comments 43

Портируем утилиту командной строки с Go/Rust на D

Reading time 9 min
Views 3.4K
Programming *Go *D *Rust *
Translation
Несколько дней назад, на реддите в «программировании», Paulo Henrique Cuchi поделился своим опытом разработки утилиты командной строки на Rust и на Go (перевод на Хабре). Утилита, о которой идет речь, — это клиент для его пет-проекта Hashtrack. Hashtrack предоставляет GraphQL API, с помощью которого клиенты могут отслеживать определенные хэштэги твиттера и получать список соответствующих твитов в реальном времени. Будучи спровоцированным комментарием, я решил написать порт на D, чтобы продемонстрировать, как D может быть использован для подобных целей. Я постараюсь сохранить ту же структуру, которую он использовал в своем блогпосте.

Исходники на Гитхабе

Видео по клику
Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Comments 4

EPAM в режиме удалёнки: как всё устроено

Reading time 7 min
Views 24K
EPAM corporate blog Remote work
EPAM оказалась очень подготовленной к новым условиям компанией, поскольку изначально создавалась как компания, которая работает удалённо и с территориально-распределённой командой. Сейчас в EPAM около 40 тысяч сотрудников, которые работают почти на всех континентах, в нескольких десятках офисов.
Лично для меня никаких видимых изменений в работе не произошло — как сидела за компьютером в офисе, так и сижу — только дома и с котом. Но недавно прошёл вебинар, где коллеги рассказали, какие инструменты поддерживают жизнеобеспечение команд и как эти инструменты помогли EPAM перевести 95% сотрудников на удалёнку за 3 дня. Я поняла, что за всем этим скрывается настоящий айсберг, и мне очень захотелось этим поделиться.
За деталями и демонстрацией — на вебинар. Я же расскажу «коротко о главном» — на чём строится удалённая (да и не только удалённая) работа в EPAM.


Читать дальше →
Total votes 24: ↑16 and ↓8 +8
Comments 5

Как давать обратную связь: 9 правил

Reading time 4 min
Views 68K
EPAM corporate blog Personnel Management *
Исследования показали: получив конструктивный фидбек, сотрудники работают лучше. Если обратной связи нет, появляется стресс: трудно понять, хорошо ли ты справляешься и куда двигаться дальше. Возникает «кризис признания» – а там не за углом и выгорание.

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


Читать дальше →
Total votes 29: ↑25 and ↓4 +21
Comments 13

Маска – забота об окружающих или иллюзия безопасности?

Reading time 5 min
Views 21K
Health
Тема, конечно, холиварная, но наболело, не могу молчать.

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

— Извините, не могли бы вы отойти, тут на полу разметка.

Она не может. В ответ мне прилетает:

— А вы почему не в маске ходите тут?

image

То есть логика такая: надела маску и все, в домике, могу дышать в спину других людей и трогать все вокруг, ведь я надежно защитила свои слизистые! Могу и с коронавирусом так ходить, ведь ни одна капля от кашля не проникнет через тоненькую ткань, в которой я уже третьи сутки подряд хожу!

Почему я не в маске – это отдельная тема для рассуждения (в целом, из аргументации ниже можно сделать определенные выводы). Здесь хотелось бы обсудить другое: для многих людей маска на лице создает ложное ощущение безопасности и повышает склонность к риску.
Читать дальше →
Total votes 54: ↑29 and ↓25 +4
Comments 94

Коронавирус в роликах и комментариях на ютубе

Reading time 9 min
Views 3.7K
Data visualization *
Всего несколько месяцев назад ютуб заливало всемирное возмущение концовкой “Игры престолов” и проблемой расового разнообразия в играх про средневековую Европу. Эта великолепная эпоха уже позади, сейчас внимание всего мира сфокусировано на вопросах реальной жизни и смерти. И мы исследуем распространение COVID-19 на ютубе.
Total votes 16: ↑7 and ↓9 -2
Comments 9

Создание псевдотрёхмерной гоночной игры

Reading time 17 min
Views 12K
JavaScript *Game development *Algorithms *Games and game consoles
Translation

В детстве я редко ходил в залы аркадных автоматов, потому что особо в них не нуждался, ведь дома у меня были потрясающие игры для C64… но есть три аркадные игры, на которые у меня всегда находились деньги — Donkey Kong, Dragons Lair и Outrun…

… и я очень любил Outrun — скорость, холмы, пальмы и музыка, даже на слабой версии для C64.


Поэтому я решил попробовать написать олдскульную псевдотрёхмерную гоночную игру в стиле Outrun, Pitstop или Pole position. Я не планирую собрать полную и завершённую игру, но мне кажется, будет интересно заново изучить механики, при помощи которых эти игры реализовывали свои трюки. Кривые, холмы, спрайты и ощущение скорости…

Итак, вот мой «проект на выходные», который в итоге занял пять или шесть недель по выходным



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

Она не отшлифована, немного уродлива, но полностью функциональна. Я покажу, как реализовать её самостоятельно за четыре простых шага.

Можно также поиграть

Читать дальше →
Total votes 35: ↑35 and ↓0 +35
Comments 4

Промышленный сенсорный монитор FPM-215W

Reading time 2 min
Views 2.4K
Advantech IIoT corporate blog


Монитор FPM-215W предназначен для установки во встраиваемые системы, терминалы человеко-машинного интерфейса, для управления технологическими процессами. Оснащен встроенной сенсорной панелью ёмкостного типа с поддержкой мультитач.

Цельная конструкция лицевой панели защищает от проникновения влаги и загрязнений внутрь корпуса. Монитор может использоваться как пользовательский терминал в информационных киосках с высокой нагрузкой. Сенсорная панель подключается по стандартному интерфейсу USB, определяется как HID-устройство и работает без драйверов в большинстве операционных систем.

В статье мы протестируем монитор, рассмотрим, как подключается сенсорная панель и варианты крепления монитора.
Total votes 13: ↑10 and ↓3 +7
Comments 6

Information

Rating
Does not participate
Location
Самарская обл., Россия
Registered
Activity