Рубрика «культура разработки»
Две культуры программирования: почему обе из них важны?
2023-01-11 в 7:57, admin, рубрики: Блог компании Яндекс, культура программирования, культура разработки, ненормальное программирование, Программирование, Промышленное программирование
Изначально я человек первой культуры и очень долгое время считал вторую несерьёзной. Пару-тройку лет назад я окончательно понял, что ошибался. Многие «старички» ошибаются в ту же сторону, а в последние годы ещё большее число людей ошибаются в обратную. Знакомство с соседней культурой и понимание, почему дела в ней делаются так, как там принято, превратит вас в лучшего разработчика.
Читать полностью »
Ваши процессы попахивают. Как это понять и что делать?
2022-01-05 в 12:09, admin, рубрики: антипаттерны, Блог компании Конференции Олега Бунина (Онтико), культура разработки, менеджмент, Процессы в IT, процессы разработки, ТРИЗ, управление людьми, управление персоналом, Управление продуктом, управление проектами, управление проектами и командой, управление разработкойВ этой статье я не буду рассказывать про успешные внедрения, лучшие практики и общеполезные методики. Я вообще не буду давать какие-либо советы. Наоборот, попытаюсь на основании своего опыта рассказать, как бывает плохо, какие практики быстро становятся ужасными и чего нужно опасаться.
[Личный опыт] Работа в Uber в Амстердаме: как устроена разработка, карьерный рост, подготовка к интервью
2020-09-13 в 15:50, admin, рубрики: it-эмиграция, uber, Блог компании gms & g-mate, карьера в tech, карьера, Карьера в IT-индустрии, культура разработки, переезд, работа, собеседования, эмиграцияВ нашем блоге мы уже не один раз рассказывали о переезде в Нидерланды (раз, два). Разработчики, которые оказались в Амстердаме в один голос говорят о том, что с точки зрения технологий и подходов к разработке среди местных ИТ-компаний в лучшую сторону выделяется Uber. И сегодня нам удалось поговорить Алиной Коваленко, которая работает в компании в должности Software Engineer II. Алина поделится своим опытом переезда и даст несколько полезных советов. Передаем ей слово!
Что каждому разработчику следует знать с самого начала
2019-08-13 в 14:42, admin, рубрики: выбор языка, Здоровье гика, идеальный код, изучение языков, Карьера в IT-индустрии, культура разработки, Программирование, читаемый кодКак разработчик, вы услышите много сумасшедших, невероятных теорий о значении «строк кода». Не верьте ни одной. Строки кода — нелепая метрика. В очень редких случаях она что-то говорит, обычно — ничего. Использование строк кода для принятия решений похоже на оценку качества книги по количеству страниц.
Некоторые могут сказать, что чем меньше строк кода в приложении, тем легче его читать. Это только частично верно. Вот мои метрики для читаемого кода:
- Код должен быть последовательным
- Код должен быть информативным
- Код должен быть хорошо документирован
- Код должен использовать стабильные современные функции
- Код не должен быть излишне сложным
- Код не должен быть неэффективным (не пишите намеренно медленный код)
Если уменьшение количества строк кода противоречит любой из этих метрик, это становится проблемой. На практике оно почти всегда будет мешать и, следовательно, почти всегда является проблемой. Но вот в чём дело, если вы стремитесь соответствовать вышеуказанным критериям, то у вашего кода будет идеальное количество строк — и не нужно их подсчитывать.
Читать полностью »
Сопротивления автоматизации тестирования
2018-07-28 в 7:45, admin, рубрики: tdd, кризис, культура разработки, менеджмент, образование, Программирование, решение, Совершенный код, сопротивление, тестирование, Тестирование IT-систем, управление проектамиНесмотря на то, что технологии модульного тестирования существуют уже 30 лет (в 1989 году Кент Бек написал статью “Simple Smalltalk Testing: With Patterns”), тем не менее не все программисты владеют этой технологией и не все компании сделали автоматическое тестирование частью своей корпоративной культуры. Даже несмотря на очевидные преимущества автоматического тестирования, все равно поведенческое сопротивление достаточно сильное. Кто пробовал внедрять автоматические тесты, тот знает, что всегда найдется какая-то причина, почему это не удалось сделать.
Из моего личного опыта внедрения методов надежного программирования в своей компании, в компаниях, которые я консультировал, общения на конференциях, а также из публично доступных источников, я сформулировал типичные возражения и сопротивления, которые препятствуют внедрению культуры автоматического тестирования.
Все возражения я сгруппировал в пирамиду надежного программирования, которая включает четыре уровня:Читать полностью »
Залог успеха в четырёх личностных качествах
2018-05-13 в 14:57, admin, рубрики: Карьера в IT-индустрии, культура разработки, личность программиста, Программирование, управление персоналомЯ конечно не профессиональный психолог, но у меня уже сложился некоторый опыт, который, как мне кажется, позволяет мне выделить некоторые человеческие качества, которые могут оказаться полезными для разработчика и его жизни.
Статья в целом больше для разрабов-новичков, и для опытных старожилов всё описанное будет наверное очевидно, но возможно кое-что полезное смогут перенять и они в том числе. Пишите отзывы и высказывайте свои точки зрения на эту тему, это тоже интересно будет почитать.
Исходя из моего мнения, это следующие четыре личностных качества: усердие, умение оптимизировать процессы, гибкость мышления и альтруизм.
Давайте поговорим немного о каждом из этих качеств.Читать полностью »
Devops в кровавом энтерпрайзе
2017-12-22 в 7:17, admin, рубрики: Ansible, Bosh, chef, Cloudify, gocd, Hygeia, Jenkins, Pipeline Automation, puppet, salt, teamcity, terraform, Блог компании КРОК, культура разработки, процесс, Сoncourse CI, сборка, Серверное администрирование, управление проектами, управление разработкой
Вот к такому можно стремиться
У нас больше 350 своих разработчиков ПО и тестировщиков по всей стране, плюс мы часто взаимодействуем с инженерами и разработчиками заказчиков. Чтобы перейти на практическое использование devops, нам нужно было обеспечить не только внедрение методологии, но и приучить любимых российских заказчиков к некоторой базовой культуре. Просто пара диалогов для понимания:
— Почему у нас всё упало?
— Потому что вы откатали это на стенде, всё протестировали, а потом развернули на проде. Вот у вас настройка, которая не попала в инструкции, и жила только в голове старого админа.
Или:
— Почему не запускается по всей стране?
— Потому что у вас несколько десятков разных региональных инсталляций, каждая делалась руками, и на каждой разные конфиги. И ещё в паре случаев инженер ошибся.
— Поправите до завтра? Очень нужно! Только доступ удалённо мы вам не дадим.
— ..! Конечно, у нас есть команда высокооплачиваемых спецов, обожающих ездить на Дальний Восток. Нет проблем.
Задача о премировании: почувствуй себя менеджером
2017-09-10 в 10:30, admin, рубрики: качество разработки, командный дух, культура разработки, мотивация, управление персоналом, Управление продуктом, управление проектами, управление разработкой- Менеджмент некой компании уделяет большое внимание мотивации сотрудников.
- Для поощрения высоких результатов было решено выдавать премии командам по результатам соблюдения сроков и бюджетов проектов.
- Решение было доведено до сотрудников.
- Одна из команд занималась доработками зрелого и стабильного проекта, успешно выполнила все условия, получила премию.
- Другой команде достался новый сложный проект, люди работали над ним с неподдельным энтузиазмом.
- К сожалению, и запланированные сроки, и бюджет оказались превышены в разы.
- Получившийся в результате продукт дал компании рекордную прибыль.
О культуре разработки в группах программистов
2017-09-08 в 13:36, admin, рубрики: качество кода, команда разработки, командный дух, культура разработки, управление разработкой«Почему ж всё так плохо?» — каждый раз я задаюсь этим вопросом, когда приходится иметь дело с очередным кодом, продуктом или API, созданными для внутренних нужд в непрофильной организации.
В профильных дела обстоят получше, но далеко не всегда: в коробочных тиражируемых решениях чаще лучше, чем в проектной разработке. В продуктах одного заказчика, обычно, хуже всего.
И деньги ничего не решают: ужасный код и ужасные продукты пишут как маленькие бедные ВУЗы, у которых денег хватает только на рабский труд аспирантов, так и крупные и богатые компании, включая IT-компании, включая зарубежные: несколько раз сталкивался с кодом, который писали зарубежные подрядчики и каждый раз от него хотелось рыдать и биться головой об стену.
Организация может декларировать строгие стандарты, нанимать дорогостоящих разработчиков, вводить регламенты и методологии, надувать щеки на совещаниях и громогласно обличать «неправильное решение» в чужом продукте. И продолжать делать ужасные продукты с ужасным кодом, вопреки высокой квалификации своих разработчиков и очень правильными и нужными регламентами и стандартами.
Я занимался разработкой ПО в нескольких организациях и по разным причинам несколько раз перенабирал команду с нуля. В итоге пришел к выводу, что качество продукта зависит только от культуры разработки. Всё остальное, включая методологии и стандарты — это инструменты: они необходимы, но одних их не достаточно.
Культуру разработки можно сравнить с экосистемой: как сад или аквариум. Крепкая, здоровая культура обладает запасом прочности, чтобы оздоравливать обитателей экосистемы, избавляться от вредителей, прощать небольшие ошибки ухода, сглаживать стрессы и на выходе все-равно получать отличный результат. А больная культура сводит на нет все усилия, заражает и губит даже самые здоровые и крепкие саженцы.