Pull to refresh
93
0.1
Максим @botyaslonim

Программист

Send message

Истории о вреде локальной оптимизации

Level of difficultyEasy
Reading time10 min
Views9.1K

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

Занимаясь "улучшительством" отдельно взятых элементов, бизнес рискует выкинуть из стенных часов с кукушкой стрелки: с точки зрения механизма они делают бесполезную работу, создавая только избыточное давление. А потом уберут и кукушку, потому что она из-за изменения баланса начнёт петь невовремя. Оставшиеся элементы между собой будут весьма гармонично взаимодействовать, только для конечного пользователя от этого не будет никакой пользы.

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

Бороться с локальной оптимизацией
Total votes 64: ↑69 and ↓-5+74
Comments36

Отопление мегаполиса от ТЭЦ — успешная реализация коммунистической утопии «общества всеобщего равенства»

Reading time19 min
Views14K

Отопление мегаполиса Москва от ТЭЦ. Массовая застройка «спальных районов» - как успешная реализация коммунистической утопии «общества всеобщего равенства».

 

В предыдущей статье были рассмотрены вопросы  генерации и распределения электричества в большой стране.

https://habr.com/ru/articles/800317/

Теперь же рассмотрим вопрос теплоснабжения мегаполиса Москва в увязке с электрогенерацией на ТЭЦ.

Россия – это единственная страна в мире, где присутствует стабильное отопление в жилье, причём централизованное на весь город.

Центральное отопление в мегаполисе- это весьма яркое и важное достижение социализма в СССР, обеспечившее высокий стандарт качества  жизни широким слоям населения.

В тоже время  в капиталистических страна тепло в домах зимой  является предметом неслыханной роскоши. Так в Великобритании центрального  отопления в домах вообще практически нет.

 

Как устроена городская система теплоснабжения в мегаполисе Москва.

В качестве основного источника тепла на отопление и нагрев ГВС в Москве используются городские ТЭЦ и в дополнение к ним отдельные районные или индивидуальные котельные.(см.рис.1)

 

Читать далее
Total votes 53: ↑44 and ↓9+35
Comments190

Современные команды и фичи Git, которыми стоит пользоваться

Level of difficultyEasy
Reading time5 min
Views28K

Мы, разработчики ПО, пользуемся git каждый день, однако большинство из нас применяет только самые основные команды, например, addcommitpush и pull, как будто на дворе по-прежнему 2005 год.

С тех пор в Git появилось множество фич, пользование которыми может сильно упросить вашу жизнь. Так давайте исследуем некоторые из недавно добавленных современных команд git, о которых вам стоит знать.

Читать далее
Total votes 75: ↑73 and ↓2+71
Comments29

Я уже 14 лет в отрасли, но программировать по-прежнему сложно

Level of difficultyEasy
Reading time15 min
Views32K

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

Кроме вакансий для стажёров я иногда случайно нажимал на объявления о вакансиях «сеньор-разработчика». Помню, больше всего меня поражало то, что первой строкой шло требование определённого количества лет работы: «Эта должность требует 5+ лет опыта».

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

Время летело, не успел моргнуть глазом, как прошло больше десятка лет. Сегодня я с гордостью могу сказать, что работаю программистом уже 14 лет. Спустя годы боёв на фронтах разработки ПО я осознал, что многие её аспекты сильно отличаются от того, что я представлял на старших курсах, а именно:

С опытом программирование не становится намного проще, о «проще пареной репы» можно только мечтать.

Написание кода для множества «больших проектов» — это не только неинтересное, но и опасное занятие, гораздо менее увлекательное, чем решение алгоритмических задач в LeetCode.

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

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

Читать далее
Total votes 45: ↑45 and ↓0+45
Comments31

Релизная политика против хаоса

Reading time9 min
Views2K
image

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

Нельзя сказать, что без этого всё работало плохо. Работало хорошо. Но достаточно долго. Новые фичи выходили не чаще раза в месяц, но в какой-то момент мы поняли, что нужно укладываться в две недели максимум. У нас появились такие важные показатели, как частота поставок и Time to Market.

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

Меня зовут Михаил Щеголев, мы вместе с Константином Дерешевым занимаемся релизной политикой в одном из крупных российских банков. Мы любим свою работу, а дедлайны не любим.

Особенно, если дело касается еженедельных релизов.
Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments5

Право на выходное пособие

Reading time3 min
Views8.7K

Представим следующую распространённую в IT ситуацию. Вы работаете над интересным проектом в успешной компании. У вас всё хорошо: вам комфортно работать в классной команде, фичи мутятся, пайплайны крутятся, зарплата платится. Руководство рапортует о новых достижениях и рекордных прибылях. Но однажды к вам приходит менеджер и сообщает, что проекту плохо, и намекает на скорые увольнения. Нередко в таких ситуациях работнику предлагают увольнение по соглашению сторон с выплатой выходного пособия. И многие работодатели его добросовестно выплачивают. Но есть и такие, которые «кидают» своих бывших работников и оставляют без выплат, несмотря на их наличие в соглашении. Абсурд ситуации в том, что в случае разбирательств некоторые суды вставали на сторону работодателей.

Читать далее
Total votes 94: ↑88 and ↓6+82
Comments7

Как я внезапно стал «наркоманом» и не прошел СБ в нескольких госбанках

Level of difficultyEasy
Reading time5 min
Views164K

На фоне событий последних лет в РФ, в прошлом году решил я распрощаться с компанией в США, в которой проработал 6 лет. Закрыл ИП, юр. счета.
На фоне заявлений, дескать, сейчас в секторе ИТ кадровый голод, и такие специалисты на "вес золота", я приступил к поиску работы. Ставка была сделана на банковский сектор, т.к. довольно быстро стало понятно, что более менее устраивающие меня ЗП именно там.

Читать далее
Total votes 564: ↑553 and ↓11+542
Comments836

Калькуляторы с обратной польской нотацией

Level of difficultyMedium
Reading time12 min
Views14K

На хабре уже многократно проскакивали статьи и переводы о калькуляторах с обратной польской нотацией. Раньше я не придавал им большого значения, пока на глаза не попался перевод статьи «Мягкое знакомство с дополнительным кодом», где фигурировал программистский калькулятор HP-16C. Что сподвигло меня разобраться, что за зверь такой «обратная польская нотация» или reverse Polish notation (далее по тексту RPN).

Искра, буря, безумие… Спешно поставив эмулятор HP-16C на телефон, я полез искать калькуляторы с поддержкой RPN, попутно скупая найденные экземпляры. В этой статье хочу поведать о четырёх редких! экземплярах, которые мне удалось найти на отечественных досках объявлений, и дать некоторые рекомендации тем, кто решит прикоснуться к удивительному миру программируемых калькуляторов.
Читать дальше →
Total votes 133: ↑132 and ↓1+131
Comments80

10 лет on-call. Чему мы научились? (обзор и видео доклада)

Reading time12 min
Views9.5K
Осенью прошлого года на конференции DevOops 2019 прозвучал доклад «10 лет on-call. Чему мы научились?». В нём рассказывается о том, почему мы отказались от внутреннего «акселератора» по развитию дежурных до DevOps-инженеров, как эволюционировала наша служба технической поддержки и система обработки инцидентов в целом.



Представляем видео с докладом (~63 минуты, гораздо информативнее статьи) и основную выжимку из него в текстовом виде. Поехали!
Total votes 41: ↑41 and ↓0+41
Comments18

Сравнение алгоритмов балансировки нагрузки: Round Robin vs. Least Connections vs. IP Hash

Level of difficultyEasy
Reading time12 min
Views5.3K

Привет, уважаемые читатели Хабра!

Сегодня сетевые приложения чрезмерно сложны. В такой среде балансировка нагрузки становится неотъемлемой частью инфраструктуры, позволяя равномерно распределять запросы между серверами и обеспечивать отказоустойчивость. Без балансировки нагрузки, сетевые приложения столкнутся с недоступностью, ухудшением производительности и непредсказуемыми сбоями.

В этой статье мы проведем сравнительный анализ трех известных алгоритмов балансировки нагрузки: Round Robin, Least Connections и IP Hash. Мы рассмотрим их преимущества и недостатки, а также сценарии использования, в которых каждый из них сияет особенным образом.

Читать далее
Total votes 15: ↑13 and ↓2+11
Comments3

На расстоянии плевка: специфика работы лидом во внутренней разработке

Reading time18 min
Views2.6K

Внутренняя разработка в двух разных компаниях зачастую имеет между собой гораздо больше общего, чем внутренняя и продуктовая разработка в одной и той же компании. В ней есть своя специфика, свой внутренний мир. Вы и ваши заказчики находитесь в общем пространстве сотрудников компании, буквально на расстоянии плевка друг от друга. Это общее пространство можно условно разделить на 5 разных аспектов: коммуникационное, организационное, социальное, технологическое и инфраструктурное. Расскажу о каждом из них более подробно.
Меня зовут Анастасия Абрашитова, я из древнего вымирающего племени десктопных разработчиков. Когда-то писала программы для десктопов, под Винду, на C# и даже с Windows Presentation Foundation, работала в продуктовой и инфраструктурной разработке Лаборатории Касперского. Сейчас я работаю в Yandex Platform Engineering, руковожу службой инструментов репозитория, отвечаю за счастье разработчиков Яндекса при работе с монорепозиторием. Также у меня есть канал для начинающих руководителей - «Записки из горящего дома». Может быть моя статья не будет особо полезна тем, кто давно работает во внутренней разработке, потому что вы всё это знаете – материал лишь отзовётся болью узнавания. Но я надеюсь, что тем, кто в этой области недавно или только рассматривает её для своей карьеры, будет полезно и интересно.

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments9

Простой саботаж в мире ПО

Reading time6 min
Views33K

В кульминационный момент Второй мировой войны ЦРУ выпустило потрясающую книгу Simple Sabotage. В ней изложены различные способы, которыми диверсанты могут снижать продуктивность компании. Некоторые из этих советов не стареют, например, раздел «Общие помехи организациям и производству»:

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

2. Делайте «доклады». Говорите как можно чаще и пространнее. Иллюстрируйте свои «идеи» долгими историями из жизни и ссылайтесь на личный опыт. С готовностью делайте «патриотические» комментарии.

3. По возможности отправляйте все вопросы в комитеты для «более глубокого изучения и рассмотрения». Стремитесь делать комитеты как можно больше, не менее чем из пяти членов.

4. Как можно чаще поднимайте вопросы о несущественных проблемах.

5. Спорьте о чётких формулировках в общении, протоколах, резолюциях.

6. Возвращайтесь к темам, по которым было принято решение на последнем совещании, и пытайтесь повторно открыть вопрос о целесообразности этого решения.

7. Советуйте «быть аккуратными». Будьте «разумны» и подталкивайте других участников совещаний к «разумности», к тому, чтобы они избегали спешки, которая может в будущем вызвать неудобства или сложности.

8. Беспокойтесь о правильности каждого решения, поднимайте вопрос о том, будет ли рассматриваемое действие относиться к юрисдикции группы или оно может вызвать конфликт с политикой какого-то более высокого эшелона.

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

Читать далее
Total votes 90: ↑88 and ↓2+86
Comments35

Моя любимая задачка по программированию для кодинг-интервью

Reading time10 min
Views69K

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

С годами я выработал вопрос по кодингу, который мне самому очень нравится. Это до жути простой и в то же время заковыристый вопрос. Решение занимает не более 30 строк кода, но зато даёт мне все нужные сигналы для вынесения верной оценки кандидату. Кроме того, мой вопрос отлично масштабируется и подходит как стажёрам, так и опытным инженерам. Здесь я не стремлюсь доказать, что мой вопрос лучше какого-то другого. Я лишь хочу объяснить, как он помогает мне как интервьюеру и на что я обращаю внимание на собеседовании по программированию.

В этой статье будут вещи, с которыми вы можете не согласиться. Это нормально. Это просто моё мнение, а так как я уже вышел на пенсию, то больше не представляю опасности ни для интервьюеров, ни для инженеров Google при принятии решений о найме! ;-)

Читать далее
Total votes 77: ↑63 and ↓14+49
Comments344

О сложности и монолитах

Level of difficultyEasy
Reading time18 min
Views6.7K
Изображение сгенерировано с помощью DALL·E. Запрос: a complex monolith in a server room, with the faces of IT consultants with suits engraved in it with twisted faces, mathematical formulations about complexity floating around, and with a mysterious malevolent godlike presence in the background (комплексный монолит в серверной с искажёнными лицами IT-консультантов. Вокруг витают сложные математические формулы, а на фоне присутствует мистическое злобное богоподобное существо).

Статья посвящена анализу и сравнению двух моделей построения систем — монолитной и с разделением на микросервисы. В ней мы с разных сторон оценим оба этих подхода и связанную с ними сложность, убедившись в превосходстве последнего. Представим микросервисы и прочие архитектуры в реалистичном свете, не воскрешая то, что должно оставаться мёртвым.
Читать дальше →
Total votes 47: ↑40 and ↓7+33
Comments75

Как мы строили Норильск «на ледяной планете»

Reading time13 min
Views51K


60–65% территории России занимает вечная мерзлота. Она бывает разная: где-то это много относительно сухой земли, а где-то прямо линза льда (до 95% воды), причём глубиной до нескольких километров. В районе Норильска можно грубо сравнить её с замёрзшим океаном.

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

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

Строить на линзе льда ничего нельзя. Тепло от здания означает, что его фундамент просто разорвёт при подвижках льда. Но тогда, конечно, про сюрпризы с мерзлотой мы не знали, и потому первое поселение — позже его назовут Аварийным посёлком — разрушилось через полгода.

Современный город стоит на скальных выходах как на островах: есть центральный жилой остров, есть Оганер — остров с больницей, есть Талнах — добывающий район, отдельно есть аэропорт, есть Надежда — ещё один комбинат, есть остров Дудинка — порт в 90 километрах от центра. Есть кусок скалы — можно строить. Нет скалы — нельзя строить.

В общем, я хочу рассказать вам про удивительно прекрасный и, как это ни странно, уютный Норильск.
Читать дальше →
Total votes 342: ↑337 and ↓5+332
Comments614

Внутренний Я(ндекс)

Level of difficultyEasy
Reading time8 min
Views81K

В этой статье я хочу описать (часть) моего опыта взаимодействия со структурой, именуемой в дальнейшем «яндекс», с точки зрения работника. Опишу собеседования и этап «входа».

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

Читать далее
Total votes 469: ↑463 and ↓6+457
Comments288

Проверка работодателя: как минимизировать риски при трудоустройстве

Level of difficultyEasy
Reading time8 min
Views19K

Вы IT-специалист и решили сменить место работы. Что обычно делают в таких случаях айтишники? Ходят по собеседованиям, работают над ошибками в случае отказов — и всё по новой до тех пор, пока не будет получен подходящий оффер. Многие ли из айтишников оценивают надёжность будущего работодателя во время поисков? При планировании профсоюзных кампаний мы проводим исследование работодателей с использованием множества источников и методик. Эта статья была написана с целью помочь специалистам любого уровня, от интернов до архитекторов, ведь никто не застрахован от проблем на работе. Мы поделимся опытом и надеемся, что он поможет вам не нарваться на недобросовестного работодателя.

Читать далее
Total votes 70: ↑69 and ↓1+68
Comments10

Моя любимая задача для собеседований по программированию

Level of difficultyMedium
Reading time9 min
Views97K

В сети есть уйма постов и видео, где разбираются ответы на вопросы LeetCode. Но обычно рассмотрение в них происходит с позиции соискателя, а не работодателя. В этой же статье я приведу разбор собственной задачи по программированию, которую использовал при приёме людей на работу в Amazon, Google и Microsoft.
Читать дальше →
Total votes 131: ↑126 and ↓5+121
Comments170

Корпоративные войны: почему бастовали сценаристы Голливуда?

Level of difficultyEasy
Reading time16 min
Views11K

Остановка производства сериалов и фильмов, перенос премьер, отмена анонсированных проектов… Нет, это не закат Голливуда, речь идет о второй крупнейшей забастовке «WGA». Она стала ответной реакцией на жадность в край обнаглевших корпоратов из стриминг-сервисов, которые не захотели договориться на берегу. Каждые три года «AMPTP» («Альянс продюсеров кино и телевидения»), куда входят «Netflix» и другие, заключает с «WGA» («Гильдия сценаристов США») новый контракт. В нем приходят к согласию в таких вещах, как минимальная оплата труда для различных проектов, медицинское страхование, пенсионные отчисления, роялти и так далее. Проще говоря, это главный документ, регулирующий отношения между сценаристами и Голливудом.

«Альянс» встал в позу по причине внесенных «Гильдией» новых положений контракта, за каждым из которых скрывается целый ворох проблем. Но можно выделить четыре основных требования: авторские отчисления за фильмы и сериалы на стримингах, повышение минимальной ставки, борьба со сценарными «мини-комнатами» и ограничение использования нейросетей. Чтобы лучше понять ситуацию, стоит рассмотреть все по отдельности и разобраться в некоторых нюансах.

Читать далее
Total votes 75: ↑72 and ↓3+69
Comments39

Прививка от ошибки выбора: что спросить работодателя «на берегу»

Level of difficultyEasy
Reading time13 min
Views23K

Меня зовут Настя, я руководитель службы инструментов репозитория в Yandex Infrastructure. Больше 15 лет я проработала в IT-индустрии: сначала как разработчик, потом тимлид, техлид, менеджер проектов и руководитель службы. За это время несколько сотен человек рассказали мне о своём карьерном пути: кто-то собеседовался со мной как с нанимающим менеджером, кто-то приходил ко мне на менторинг, кто-то расширял свой нетворк, как теперь модно говорить. Из этих разговоров можно выделить причины недовольства работой, которые я вижу у людей чаще остальных. Одна из главных причин — ошибка выбора вакансии.  

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

Читать далее
Total votes 50: ↑47 and ↓3+44
Comments49

Information

Rating
2,852-nd
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity