Может ли команда разработки быть спокойной 8 марта, если вы в сервисе №1 по доставке цветов? Наша история.
Меня зовут Дима, я работаю техническим директором в Flowwow. Мы развиваем маркетплейс локальных магазинов, которые продают красивые букеты и подарки. В нашей R&D команде сейчас 30 разработчиков, и мы используем обширный стек технологий — условно, от Ansible до Kotlin.
У нас есть несколько ключевых дат, в которые количество продаж взлетает на порядок — День матери, 14 февраля и 8 марта. Мы научились проходить эти периоды почти безболезненно и с технической стороны, и со стороны бизнесовой: «уровень негатива» пользователей в пики находится на уровне любого обычного дня, а техническая команда не поднимает упавшую платформу.
В этой статье мы поговорим об ошибках, совершаемых программистами на Bash. Во всех приведённых примерах есть какие-то изъяны. Вам удастся избежать многих из нижеописанных ошибок, если вы всегда будете использовать кавычки и никогда не будете использовать разбиение на слова (wordsplitting)! Разбиение на слова — это ущербная легаси-практика, унаследованная из оболочки Bourne. Она применяется по умолчанию, если вы не заключаете подстановки (expansions) в кавычки. В общем, подавляющее большинство подводных камней так или иначе связаны с подстановкой без кавычек, что приводит к разбиению на слова и глоббингу (globbing) получившегося результата.
Здравствуйте! Я хотел бы представить вашему вниманию отличное введение в квантовую механику, написанное Элиезером Юдковским; быть может, он известен вам по своему сайту lesswrong.com, посвящённому рационализму, предрассудкам, когнитивным парадоксам и ещё многим интересным вещам.
«Государь» Макиавелли — одно из моих самых любимых произведений. Являясь руководством непосредственно правителю, я считаю, эту книгу обязан прочесть каждый начальник/директор. И хотя она уже устарела, думаю было бы весьма полезно держать ее советы у себя в голове.
Но бывает тяжеловато. Не только из-за объема информации, но еще и потому, что в зависимости от ситуации Макиавелли дает разные советы.
«Было бы неплохо структурировать», — подумал я.
Результатом мысли стал алгоритм принятия решения, представленный в картинке ниже и созданный исключительно по «Государю». Остальные советы, которые не определены ни под одну ситуацию и которые должны выполняться в любом случае, поданы ниже списком. Уверен, каждый сам сможет экстраполировать рекомендации правителю на должность руководителя.
mPOS терминалы стремительно набирают популярность. Малые и крупные бизнесы по всему миру уже оценили всю прелесть этих систем, связывающих продавцов и покупателей посредством мобильных устройств под управлением iOS и Android. И это не просто дань моде. Совершение покупок с использованием mPOS терминалов действительно удобнее и приятнее для покупателя, нежели покупки традиционным способом. Вдобавок ко всему, с такими системами становится гораздо проще вести отслеживание транзакций и их последующий анализ, включающий тенденции потребительского спроса и, разумеется, информация о географическом положении. Любой, кто собственноручно это попробовал, согласится с утверждениями, приведенными выше.
Вашему вниманию перевод статьи, в которой Дэвид Инграм пытается разобраться зачем банкам и телекоммуникационным компаниям нужны mPOS терминалы.
В какой-то момент я стал замечать, что пишу более качественный: оптимальный, логичный и читаемый код, но пишу его медленно. По крайней мере, куда медленнее, чем лет 15 назад. Да, на старый код без слёз не взглянешь: всё можно сделать оптимальнее и, по крайней мере, читабельнее. Но код был написан быстро.
Проблема в контроле. Я стал жестче и глубже контролировать код и… стал тратить на этот контроль слишком много ресурсов.
Основной принцип прост. Если контролю подлежит 10-20% случаев, то на контроль надо тратить… 0% ресурсов. Баги и переписывания всё равно будут. Но лучше разделить кодирование и отладку и на время кодирования об ошибках вообще забыть.
На Хабре недавно была поднята очень важная тема — соблюдение сроков проектов. В качестве метафоры автор, Михаэль Вольф, использует метафору путешествия и прогнозирования сроков прибытия, но не дает практических советов по завершению проектов в срок. Чтобы раскрыть советы в более понятной форме, я вставлю несколько презентаций и слайдкастов в пост.
Позволю себе привести ряд конкретных рекомендаций, которые будут полезны для большинства проектов:
Грамотно обрабатывайте запросы на изменение требований