Как стать автором
Обновить
0
Дмитрий Котов @kotovblogread⁠-⁠only

IT-специалист

Отправить сообщение

Взгляд на технологии последнего десятилетия

Время на прочтение16 мин
Количество просмотров38K
Прим. перев.: Эта статья, ставшая хитом на Medium, — обзор ключевых (за 2010-2019 годы) изменений в мире языков программирования и связанной с ними экосистемы технологий (особое внимание уделяется Docker и Kubernetes). Её оригинальным автором является Cindy Sridharan, которая специализируется на инструментах для разработчиков и распределённых системах — в частности, она написала книгу «Distributed Systems Observability» — и достаточно популярна в интернет-пространстве среди IT-специалистов, особенно интересующихся темой cloud native.



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

Хочу сразу оговориться, что в этой статье я не охватываю изменения в таких областях, как наука о данных (data science), искусственный интеллект, frontend engineering и т.п., поскольку лично у меня отсутствует достаточный опыт в них.
Читать дальше →
Всего голосов 60: ↑55 и ↓5+68
Комментарии17

(Agile vs waterfall) Разработка критически важных алгоритмов: Проектирование

Время на прочтение12 мин
Количество просмотров5.4K
Представьте себе водопад. Мощный. Безупречный. Всегда движется вперед по направлению к неминуемому спуску. Движимый одной из нескольких фундаментальных сил во вселенной.

Водопады потрясают по самой своей сути, так что неудивительно, что инженеры немного одержимы ими. Старый стандарт DOD-STD-2167A рекомендовал использовать водопадную модель, а мое устаревшее инженерное образование основывалось на модели Phase-Gate, которая, по моему мнению, чертовски похожа на водопадную. С другой стороны, те из нас, кто изучал информатику в университете, наверное, знают, что водопадная модель в некоторой мере является анти-паттерном. Наши друзья в академической башне из слоновой кости говорят нам, что нет-нет, Agile — это путь к успеху и похоже, индустрия доказала истинность этого утверждения.

Итак, что же выбрать разработчику между устаревающей водопадной моделью и новомодным Agile? Меняется ли уравнение, когда речь идет о разработке алгоритмов? Или какого-нибудь критического, в плане безопасности, программного обеспечения?

Как обычно в жизни, ответ находится где-то посередине.
Читать дальше →
Всего голосов 3: ↑2 и ↓1+5
Комментарии0

Должен ли системный аналитик вторгаться на чужую территорию?

Время на прочтение5 мин
Количество просмотров8.7K

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

Читать далее
Всего голосов 3: ↑2 и ↓1+3
Комментарии19

Мифы об асинхронном PHP: он не по-настоящему асинхронный

Время на прочтение12 мин
Количество просмотров13K

В последнее время было достаточно много обсуждений производительности в PHP. И даже несмотря на то, что у нас есть PHP8, JIT и куча других улучшений, многие по-прежнему продолжают жаловаться на то, что PHP "недостаточно производительный". Что PHP - это язык, подходящий только для модели запрос-ответ. Что PHP слишком медленный и его не нужно использовать для высоконагруженных систем. С одной стороны от части всё это правда. Если мы строим какую-то систему, для которой вопрос производительности критичен, то использовать классический блокирующий PHP явно не стОит. Большая часть функций и библиотек PHP созданы для работы в традиционном блокирующем окружении, что уже подразумевает собой не самую высокую производительность. Однако PHP может работать быстро, более того, он может работать очень быстро. Как? Обычно у нас может быть две причины, из-за чего будет проседать производительность: мы либо совершаем какие-то сложные вычисления, либо у нас есть блокирующй ввод-вывод. Первое к сожалению (или к счастью) мы не можем решить в PHP. Но блокирующий ввод-вывод для PHP совсем не проблема. В PHP-сообществе есть люди, которые пишут асинхронный код уже на протяжении несколько лет. Конечно одновременно с этим бОльшая часть сообщества по-прежнему считает асинхронный PHP - дикостью. Я часто слышал: "Ты наверно совсем отчаянный, если собираешься писать что-то асинхронное на PHP". По правде говоря, у нас у всех есть это предубеждение, что PHP не подходит для подобного рода задач. И в большинстве случаев это предубеждение основано на неверных представлениях о самой "асинхронности". Неверные предубеждения в свою очередь ведут к неправильным ожиданиям, что в свою очередь приводит к разочарованию и обвинениям в том, что PHP "не по-настоящему асинхронный".

Читать далее
Всего голосов 28: ↑27 и ↓1+38
Комментарии19

Минимальное PWA

Время на прочтение6 мин
Количество просмотров22K

Какие характеристики должны быть у web-приложения, чтобы соответствовать критерию "прогрессивное"? Понятно, что, как и обычные web-приложения, прогрессивные строятся на базе "большой тройки" web-технологий - HTML/CSS/JS. Но что именно делает web-приложения прогрессивными?

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

Читать далее
Всего голосов 24: ↑22 и ↓2+27
Комментарии11

Как Apache Kafka поддерживает 200К партиций в кластере?

Время на прочтение4 мин
Количество просмотров9.2K


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

Читать дальше →
Всего голосов 14: ↑13 и ↓1+15
Комментарии4

Scrum внедрили, agile — забыли

Время на прочтение5 мин
Количество просмотров38K
Недавно мне посчастливилось начать работу с одной относительно немаленькой компанией (~100 человек), где, как выразился наниматель, “по-отдельности все хорошие специалисты, а вместе работать не получается”. Ну, думаю, я как раз специализируюсь на создании команд, дай, думаю, помогу чем смогу. Пообщались на собеседовании на тему общего понимания цели компании, об условиях, в которых возможна успешная совместная работа, о максимальном использовании компетенций сотрудников и о вовлечении в общее дело. Казалось бы, мысли у нас с нанимателем сходятся, но сам держу ухо востро — знаю о негативной репутации компании у потенциальных соискателей в городе. Ну что же, тем интереснее будет задача!

image
Читать дальше →
Всего голосов 53: ↑48 и ↓5+43
Комментарии50

Ревью кода в распределенной команде

Время на прочтение12 мин
Количество просмотров41K


Здесь описаны мои исследования, как сделать ревизию кода в команде более приятным занятием, которое может дать новый опыт всем участникам. У нас полностью географически распределённая команда, все коммуникации выполняются через интернет, и зачастую асинхронно. Мы используем Trello для описания возможностей продуктов, поодиночке создаём код, отправляем в GitHub пулл-реквесты, а также пользуемся встроенной в GitHub функцией их ревью. Это отличается от просмотра кода лицом к лицу в офисе и даже по видеочату.

Если не подходить к делу всерьёз, то асинхронная и письменная ревизия кода может стать причиной катастрофы в команде, приведя к ухудшению взаимодействия и сотрудничества. Но если все участники будут стараться делать всё хорошо, то такой подход может работать очень эффективно.
Читать дальше →
Всего голосов 58: ↑56 и ↓2+54
Комментарии61

Скрам умер. Да здравствует канбан

Время на прочтение7 мин
Количество просмотров53K
Я пользовался методом управления проектами Scrum (скрам) с самого начала карьеры. Я изучал скрам в колледже. Тогда он считался лучшим методом управления разработкой программного обеспечения. Когда я начал работать, мне нравилось всё, что имеет отношение к скраму: ежедневные встречи, планирование, ретроспективные совещания, спринты и так далее. В конце концов, я пользовался на практике тем, чему меня учили.



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

Почему? Разве какие-то задачи не могут подождать до следующей недели? Так ли важно доделать абсолютно всё до выходных? Нет, не так уж это и важно. А всё это происходит из-за того, что «Переносы задач — это плохо».
Читать дальше →
Всего голосов 58: ↑48 и ↓10+62
Комментарии106

Что такое быть тимлидом

Время на прочтение14 мин
Количество просмотров32K

Интро


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


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


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

Читать дальше →
Всего голосов 60: ↑57 и ↓3+68
Комментарии48

«Красная» корпоративная культура – главная проблема российского бизнеса (Часть 2)

Время на прочтение10 мин
Количество просмотров51K
image

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

Система 5С Юрского периода


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

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

— Так это мы уже один раз внедряли 5С три года назад! – радостно пояснил начальник участка, увидев немой вопрос в моих глазах. – Просто со временем как-то всё забылось…

Я поинтересовался, а нужно ли внедрять этот инструмент, если он всё равно его не применяет.

«Ну как же не внедрять? Дело-то хорошее», — ответил он.

Читать дальше →
Всего голосов 67: ↑60 и ↓7+72
Комментарии96

Исследуем вопрос наказаний 2.0

Время на прочтение11 мин
Количество просмотров60K
Этот материал будет полезен в первую очередь тем, кто много занимался программированием и вдруг внезапно стал вынужден заниматься управлением проектами и людьми. С год назад я рассказал про наказания на конференции, а солнышки из Битрикса сделали текстовую версию для #habr. К сожалению, потеряв в точности, четкости и правильности акцентов. За год материала добавилось. В конце — чеклист для ленивых :)

Итак. Если вы не садист или моральный урод, а ваши сотрудники — не мазохисты, то сомневаюсь, что кому-то из вас наказания доставляют удовольствие. Мне — нет.
image
Читать дальше →
Всего голосов 109: ↑91 и ↓18+73
Комментарии175

Сударь, ваша команда — не команда

Время на прочтение5 мин
Количество просмотров57K
За свои 12 лет работы в сфере разработки ПО, мне посчастливилось поработать в команде только два раза. Хотя я сменил порядка десяти мест работы. Но попробовав раз, ем и сейчас… Т.к. я не жадный, и готов своими достижениями делиться с сообществом, то решил я предпринять попытку вывести из равновесия неумных руководителей, которые до сих пор не осознали важность команды, а также тех руководителей, которые профессионально занимаются самообманом — мол, они строят команду, а на деле — тьфу, а не команда.
Читать дальше →
Всего голосов 110: ↑95 и ↓15+80
Комментарии254

О мотивации в ИТ

Время на прочтение5 мин
Количество просмотров154K
В этой статье я затрону вопрос мотивации в ИТ, причем с ракурса, который вряд ли можно встретить в классических трудах по экономике. Все, описанное здесь, является моим личным мнением, основанном на работе в различных ИТ компаниях и общении с различными ИТ специалистами.

Тема статьи пришла после ознакомления с отчетом rabota.ua, в котором есть результаты исследования, свидетельствующие о том, что для большинства айтишников главный мотиватор – зарплата. Вроде все ясно и понятно, но давайте посмотрим на проблему глубже.
Читать дальше →
Всего голосов 154: ↑128 и ↓26+102
Комментарии155

Одна Kafka хорошо, а несколько — лучше

Время на прочтение10 мин
Количество просмотров15K

Всем привет! Меня зовут Александр, я – инженер команды, отвечающей за развитие централизованных IT-сервисов, которыми пользуются продуктовые команды в X5 Retail Group. 

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

Читать далее
Всего голосов 8: ↑7 и ↓1+8
Комментарии13

Оценка задач в Story Points

Время на прочтение9 мин
Количество просмотров211K
Практически каждый человек, который сталкивался с разработкой ПО знает что такое оценка задач в Story Points (SP), тем не менее периодически мне доводится рассказывать коллегам из других отделов или новичкам в команде, которые ни разу не сталкивались с таким подходом, зачем мы используем SP и почему это удобно для команды и эффективно для компании.

Цель этого текста – рассказать, что такое SP, как их использовать для оценки задач и почему эта методика получила такое широкое распространение.
Всего голосов 10: ↑8 и ↓2+10
Комментарии21

Информация

В рейтинге
Не участвует
Откуда
Хабаровск, Хабаровский край, Россия
Дата рождения
Зарегистрирован
Активность