Документация на личном опыте: диаграммы и документы, чтобы не нужно было лазить в код

Привет, меня зовут Михаил Пискунов, и я уже более 15 лет работаю в области разработки проектов и системной аналитики.
Привет, меня зовут Михаил Пискунов, и я уже более 15 лет работаю в области разработки проектов и системной аналитики.
Мельбурн, 9:59 утра, 9 октября 2024 года. Солнечный свет проникает через мои окна, освещая кружащиеся по моей гостиной пылинки. В моей руке чашка с чаем. Делаю глоток и наслаждаюсь вкусом.
Я пишу другому сениор-разработчику из команды, который, в отличие от меня, работает на полную ставку: «Я готов начать в 10»; таков наш обычай.
Минутная стрелка делает шаг.
Мельбурн, 10:00 утра, 9 октября 2024 года. Солнце мгновенно гаснет и заменяется пронзительно вопящим черепом, низко висящим в леденящем небе. Я бросаю взгляд на чай, он похож на кровь. Делаю глоток и наслаждаюсь вкусом.
Я пишу другому сениор-разработчику из команды: «Ты готов отправиться в Зону мучений?»1; таков наш обычай.Читать полностью »
Что общего между стиральной машиной, CPU и микросервисами? Все они выигрывают от «конвейеризации» (англ. pipelining).
Если у вас есть свой бизнес или вы работаете в бизнес-подразделении более-менее крупной компании, особенно на руководящей позиции, вы, скорее всего, сталкивались с заказной разработкой программного обеспечения или столкнетесь с ней, когда захотите улучшить свои результаты. Под заказной разработкой я подразумеваю не только контрактные отношения с подрядной организацией, но ваших собственных штатных IT-шников.
Привет, меня зовут Костя Кардаманов, я работаю в отделе технологий разработки Яндекса. Обычно такой же фразой я приветствую и кандидатов на собеседовании. А сегодня я хотел бы рассказать вам, как и зачем мы проводим интервью по дизайну систем с бэкенд-разработчиками. Сразу скажу: для фронтендеров, мобильных разработчиков и ML-инженеров подобный тип собеседований применим слабо, так что эти специальности мы здесь обсуждать не будем.
Технический уровень кандидата у нас оценивается за счет всего двух типов интервью: секции с кодом и секции дизайна компьютерных систем. Первый тип мы назначаем всем претендентам вне зависимости от их уровня, а вот у кандидатов, которые претендуют на должность старшего специалиста, нужно проверять не только способность писать эффективный и работоспособный код, но и способность разрабатывать сложные системы в целом.
Основная цель любой IT-компании — производить сервисы, которые решают задачи пользователей. Мы должны уметь собирать элементы системы в единый механизм, который будет эффективно выполнять поставленную цель, и если первый тип собеседований нацелен в первую очередь на проверку необходимого минимума, то интервью про дизайн систем проверяет достаточность навыков кандидата в достижении конечной цели. Далекому от IT пользователю принципы и устройство систем могут казаться бесконечно сложными, но мы, их разработчики, должны иметь (не обязательно детальное) представление о принципах функционирования и роли каждого компонента.
Опытный читатель может сказать — в мире полно платных и бесплатных решений, из которых я могу собрать систему как из деталей конструктора, зачем мне понимать устройство этих деталей?Читать полностью »