Введение в теорию социального дна
Теория социального дна - неофитами воспринимается в штыки. Как и Апостолы и миссионеры Христа (забрасываемые камнями, изгоняемые из городов, сажаемые на колья и.т.д) - несущие свет в сообщество разработки программного обеспечения не бывают встречены с распростертыми объятиями.
Причина прозаична - смотреть на свое отражение в зеркале и наблюдать там отвратительное и страшное существо не приятно. Куда веселее забраться на самокат и укатить в даль своего прекрасного офиса.
Целью данного блога является всестороннее освещение теории социального дна и процессов, происходящих внутри пищеварительного тракта индустрии разработки программного обеспечения. В компаниях от кровавого энтерпрайза до безумия разработки игр.
И если непосредственно кодеркам, данный ресурс позволит понять и переосмыслить свое место в мире (что вряд ли), то людям которых безжалостная петля кармы связала с ними - понять, что нужно теперь делать и узнать рецепт невероятной «харьковской двойной ухи»
Теория социального дна - неофитами воспринимается в штыки. Как и Апостолы и миссионеры Христа (забрасываемые камнями, изгоняемые из городов, сажаемые на колья и.т.д) - несущие свет в сообщество разработки программного обеспечения не бывают встречены с распростертыми объятиями.
Причина прозаична - смотреть на свое отражение в зеркале и наблюдать там отвратительное и страшное существо не приятно. Куда веселее забраться на самокат и укатить в даль своего прекрасного офиса.
Целью данного блога является всестороннее освещение теории социального дна и процессов, происходящих внутри пищеварительного тракта индустрии разработки программного обеспечения. В компаниях от кровавого энтерпрайза до безумия разработки игр.
И если непосредственно кодеркам, данный ресурс позволит понять и переосмыслить свое место в мире (что вряд ли), то людям которых безжалостная петля кармы связала с ними - понять, что нужно теперь делать и узнать рецепт невероятной «харьковской двойной ухи»
👍3🔥1
Лучшее место для пароля - в грейлоге или кибане
Добро пожаловать в 2019 и в замечательную семью разработчиков ПО. Пташки (с насеста в коворкинге, конечно-же) нашептывают о чрезвычайных событиях на сайте "альбом лиц". Невероятным образом оказалось, что все ваши пароли не видны никому вне facealbum.com.
> As part of a routine security review in January, we found that some user passwords were being stored in a readable format within our internal data storage systems. This caught our attention because our login systems are designed to mask passwords using techniques that make them unreadable. We have fixed these issues and as a precaution we will be notifying everyone whose passwords we have found were stored in this way.
Это событие лучшим способом иллюстрирует профессионализм так называемых разработчиков. Ведь совершенно не важно, сидите ли вы на берегу Ганга, Байкала, Москва-реки или Западного побережья. В любом случае вы ведете себя как ребёнок, для которого никогда и ничего страшного не случится.
По результатам заявления никого не уволили. Ну или не сообщили об этом. Уверен люди допустившие утечку паролей в открытый доступ для всей компании на хорошем счету, успешно решают алгоритмические задачки и при увольнении (даже если оно случилось) благодаря закрытости информации найдут себе работу с повышением в должности и зарплате.
Тем временем мест где это может происходить огромное количество:
* логирование;
* обработка исключительных ситуаций с коллектом стектрейсов;
* записи в базах данных;
* аудит-логи;
* противо-хоббитовая система (anti fraud);
* анти-спам система.
И если это происходит у лидеров рынка, представьте градус безумия у всех остальных.
Добро пожаловать в 2019 и в замечательную семью разработчиков ПО. Пташки (с насеста в коворкинге, конечно-же) нашептывают о чрезвычайных событиях на сайте "альбом лиц". Невероятным образом оказалось, что все ваши пароли не видны никому вне facealbum.com.
> As part of a routine security review in January, we found that some user passwords were being stored in a readable format within our internal data storage systems. This caught our attention because our login systems are designed to mask passwords using techniques that make them unreadable. We have fixed these issues and as a precaution we will be notifying everyone whose passwords we have found were stored in this way.
Это событие лучшим способом иллюстрирует профессионализм так называемых разработчиков. Ведь совершенно не важно, сидите ли вы на берегу Ганга, Байкала, Москва-реки или Западного побережья. В любом случае вы ведете себя как ребёнок, для которого никогда и ничего страшного не случится.
По результатам заявления никого не уволили. Ну или не сообщили об этом. Уверен люди допустившие утечку паролей в открытый доступ для всей компании на хорошем счету, успешно решают алгоритмические задачки и при увольнении (даже если оно случилось) благодаря закрытости информации найдут себе работу с повышением в должности и зарплате.
Тем временем мест где это может происходить огромное количество:
* логирование;
* обработка исключительных ситуаций с коллектом стектрейсов;
* записи в базах данных;
* аудит-логи;
* противо-хоббитовая система (anti fraud);
* анти-спам система.
И если это происходит у лидеров рынка, представьте градус безумия у всех остальных.
Борьба за жизнь в верхних слоях атмосферы
Замечательная история, демонстрирующая яркий пример одного из аспектов философии социального дна.
Наша диспозиция - крупный магазин с облачным доменным именем - кислород.ру. Так уж получилось, что пока в мире дикого капитализма прорастал непонятный (наверняка наполненный змеями) Амазон, в России вырос заоблачный "кислород".
Но беда кислорода была типичной для бизнеса из нулевых годов. Платформа на С#, хранилище данных на MS SQL. А там где есть база данных и энтерпрайзный стек (да не будем лукавить - любой стек), появляются любители запихнуть в базу данных вершину эволюции работы с ней - хранимые процедуры.
Проблема с хранимыми процедурами проста и она одна - данная процедура это код, для которого скорее всего (а для нулевых полностью так) отсутствует возможность протестировать его малыми тестами. А раз так, значит крупный бизнес оказывается гигантом на глиняных ногах - с определенного момента с каждой новой итерацией (привет аджайл и спринты) темп внедрения функционала снижается и в какой-то момент становится нулевым.
Хранимые процедуры же становятся основным катализатором этого процесса, как и полное отсутствие автоматизированных средств гарантирующих работоспособность функционала продукта. А наш дорогой кислород.ру тестировал свой огромный продукт с большим оборотом и продажами - ручками несчастных девочек.
На минуточку - настоящие компании внедряли культуру тестирования в команды, но российские гиганты рынка, вместо того чтобы создавать облачные платформы, внедрять свое влияние по всему миру и снимать фильмы - превращались в непреодолимое болото наполненное дерьмом.
Но история компании "Портал", описанная неким Ашмановым, многому нас научила. Настоящие шматы дерьма не тонут быстро - у них случаются вторые и даже третьи шансы. Так и у кислорода - появился инвестор. Ну или всегда был, но решил сделать из говна (актива) конфетку (прогрессивный бизнес).
И вот из зарубежного амазона/кислорода, с берегов южных морей (пляжи которых наполнены девушками с подвохой в бикини), выписаны настоящие профессионалы. Но как и девушки с тех песчаных пляжей - они принесли с собой ловушку в виде злобного хомяка (языка Go).
Именно на хомяка возложено счастливое будущее проекта. Ведь на нем будет написан идеальный и производительный код. Специально нанятыми настоящими профессионалами. С руководством, создавшим великолепный бизнес в теплых странах (у редакции тут вопрос возникает, зачем же покидать теплую страну ради мерзкой Московии?).
Бизнес, даже понимающий, что он зашел в тупик, не обязательно понимает, а где собственно из этого тупика выход. Ответом на проблемы кислорода, должен был стать анализ причин, по котором разработка и развитие разработки прекратилось. Понятие причин должно было привести к созданию плана предотвращения подобного в будущем и неукоснительное следование этому плану.
Беда в том, что единственный план кислорода - это переписать все с С#, на go. И в период термического процесса разрастания, компания наняла несколько команд автоматического тестирования. Кроме них она наняла настоящих профессионалов - кодерков.
Всю это команду профессионалов характеризует следующий код:
Здесь все прекрасно. Все ошибки проверены, решения приняты. Главная проблема в том, что это тест, который вместо того, чтобы запаниковать из-за невозможности создать продавца - просто тихонько игнорирует проблему. Ничего страшного, что половина тестов написанных в одной из команд не работает - и покрытие кода отрицательное. Главное, что эта команда любит тестирование и аки пчелки пишут и код и тесты и делают фичи. И да это лишь начало теста - свалиться тихо он любит и в других местах.
Замечательная история, демонстрирующая яркий пример одного из аспектов философии социального дна.
Наша диспозиция - крупный магазин с облачным доменным именем - кислород.ру. Так уж получилось, что пока в мире дикого капитализма прорастал непонятный (наверняка наполненный змеями) Амазон, в России вырос заоблачный "кислород".
Но беда кислорода была типичной для бизнеса из нулевых годов. Платформа на С#, хранилище данных на MS SQL. А там где есть база данных и энтерпрайзный стек (да не будем лукавить - любой стек), появляются любители запихнуть в базу данных вершину эволюции работы с ней - хранимые процедуры.
Проблема с хранимыми процедурами проста и она одна - данная процедура это код, для которого скорее всего (а для нулевых полностью так) отсутствует возможность протестировать его малыми тестами. А раз так, значит крупный бизнес оказывается гигантом на глиняных ногах - с определенного момента с каждой новой итерацией (привет аджайл и спринты) темп внедрения функционала снижается и в какой-то момент становится нулевым.
Хранимые процедуры же становятся основным катализатором этого процесса, как и полное отсутствие автоматизированных средств гарантирующих работоспособность функционала продукта. А наш дорогой кислород.ру тестировал свой огромный продукт с большим оборотом и продажами - ручками несчастных девочек.
На минуточку - настоящие компании внедряли культуру тестирования в команды, но российские гиганты рынка, вместо того чтобы создавать облачные платформы, внедрять свое влияние по всему миру и снимать фильмы - превращались в непреодолимое болото наполненное дерьмом.
Но история компании "Портал", описанная неким Ашмановым, многому нас научила. Настоящие шматы дерьма не тонут быстро - у них случаются вторые и даже третьи шансы. Так и у кислорода - появился инвестор. Ну или всегда был, но решил сделать из говна (актива) конфетку (прогрессивный бизнес).
И вот из зарубежного амазона/кислорода, с берегов южных морей (пляжи которых наполнены девушками с подвохой в бикини), выписаны настоящие профессионалы. Но как и девушки с тех песчаных пляжей - они принесли с собой ловушку в виде злобного хомяка (языка Go).
Именно на хомяка возложено счастливое будущее проекта. Ведь на нем будет написан идеальный и производительный код. Специально нанятыми настоящими профессионалами. С руководством, создавшим великолепный бизнес в теплых странах (у редакции тут вопрос возникает, зачем же покидать теплую страну ради мерзкой Московии?).
Бизнес, даже понимающий, что он зашел в тупик, не обязательно понимает, а где собственно из этого тупика выход. Ответом на проблемы кислорода, должен был стать анализ причин, по котором разработка и развитие разработки прекратилось. Понятие причин должно было привести к созданию плана предотвращения подобного в будущем и неукоснительное следование этому плану.
Беда в том, что единственный план кислорода - это переписать все с С#, на go. И в период термического процесса разрастания, компания наняла несколько команд автоматического тестирования. Кроме них она наняла настоящих профессионалов - кодерков.
Всю это команду профессионалов характеризует следующий код:
func TestUpdateEnititySuccessful() {
facade := NewTestFacade()
entityID := RandomInt()
account, err := facade.GetEntity(entityID)
if err != nil {
err = facade.CreateEntity(entityID)
if err != nil {
return
}
}
}Здесь все прекрасно. Все ошибки проверены, решения приняты. Главная проблема в том, что это тест, который вместо того, чтобы запаниковать из-за невозможности создать продавца - просто тихонько игнорирует проблему. Ничего страшного, что половина тестов написанных в одной из команд не работает - и покрытие кода отрицательное. Главное, что эта команда любит тестирование и аки пчелки пишут и код и тесты и делают фичи. И да это лишь начало теста - свалиться тихо он любит и в других местах.
Ну и чтобы добавить огня. У компании есть личный фреймворк - целая платформа разработки. С 0% покрытия кода платформы модульными и интеграционными тестами. И если уж кодерки спорят о необходимости тестирования бизнес кода (что всегда весело), то уж о необходимости тестирования фреймворков, библиотек, генераторов кода мало у кого возникает сомнение. Кроме профессионалов команды "кислород 2.0".
Но это не проблема, ведь команда AQA справится с любой бедой. Сформирует список дефектов, способствует обнаружению проблем и не позволит компании потворствуя наемному менеджменту, (сраным прорабам лишь бы сдавать пустые коробки фич, вместо оплаченного функционала) и кодеркам (пролетариям) вести их классовую борьбу с капитализмом.
Но в истории случается крутой поворот. Инвестора в прямом смысле усаживают на бутылку (или в бутырку или в любое другое СИЗО). И так называемое окно событий (то через которое мы и наблюдаем процесс внутри пищеварительного тракта компании "кислород инк") резко сужается (с этим окном постоянно такая реакция на страх).
Инвестор пишет слезные письма Вождю, Вождь отвечает что верит своим отрядам охранения (не штурмовым же доверять, в самом то деле). А посему инвестору свое окно придется совмещать с бутылкой в обозримом будущем.
Дирижабль же - шар, наполненный "кислородом" без постоянного прогрева деньгами, известное дело не может держаться в облаках и посему, пора прощаться с детством и отправить на мороз хоть кого-нибудь, дабы (как и положено воздушному шару) не упасть с небес на землю.
И морозным утром 21 марта, в милом опенспейсе компании "кислород" в башенке Дефолт-Сити открывают окно и устраивают дефенестрейшн пати, по высадке в это окно счастливчиков. На мороз отправили 160 человек - джуниоров, мидлов и львиную долю людей тестирующих отходы жизнедеятельности кодерков.
Под бодрый марш колон на выход, кодеркам рассказывают любопытную информацию:
В последнее время мы слишком быстро росли. Мы хотим повысить эффективность команды. Мы принимали и раньше подобные меры (15 раз), но это то точно в последний раз.
У редакции конечно много вопросов.
Eins: как так можно было "внезапно" вырасти на 160 кодерков (в перерасчете на средние зарплаты это аж 16-32 миллиона рублей зарплат, не считая социалки и ндфл).
Zwei: каким образом повысится эффективность разработки, при поддержки легаси дерьма оставшегося от прошлых профессионалов и при наростании новых радиоактивных отходов от текущих с отказом от команд AQA.
Drei: почему сокращение не коснулось сеньоров - ведь среди этих животных максимальное число переоцененного биомусора (веселья ради, один из коллег обладая минимальными знаниями и опытом как разработки, так и разработки на go - стал там синьор девелопером).
Vier: Самый эффективный способ получить качественного сеньора вырастить его самим из джуниора. Зачем увольнять джунов - они же стоят как бутылка воды в поилке для кодерков (куллере).
Единственное что не вызывает сомнение, это факт того, что кодерки к концу этой тирады помнили только одно "у меня все хорошо и больше этого не будет". Про 15 раз и каждый раз помогало они уже забыли. Ведь известное дело память кодерка как у рыбки.
Поведение менеджмента понятно. У каждого есть свои обязательства о том, какие фичи, к какому сроку должны быть закончены. Поэтому борьба за "воздух", закончилась избавлением от тех, кто будет мешать релизить фичи. Четкого плана действий в условиях нарастающего "кислородного" голодания нет. И впереди у бизнеса, кодерков и у менеджмента безрадостные дни падения из стратосферы.
Тем же кого выкинули в окно дирижабля в пластиковых мешках: вопрос только в том, когда "Гинденбург" взорвется. И в этот момент, в отличии от ваших "коллег" вы будете глубоко под водой, в счастливой и спокойной тиши социального дна. Очень далеко от облаков и максимально глубоко в нашем ресурсе.
Но это не проблема, ведь команда AQA справится с любой бедой. Сформирует список дефектов, способствует обнаружению проблем и не позволит компании потворствуя наемному менеджменту, (сраным прорабам лишь бы сдавать пустые коробки фич, вместо оплаченного функционала) и кодеркам (пролетариям) вести их классовую борьбу с капитализмом.
Но в истории случается крутой поворот. Инвестора в прямом смысле усаживают на бутылку (или в бутырку или в любое другое СИЗО). И так называемое окно событий (то через которое мы и наблюдаем процесс внутри пищеварительного тракта компании "кислород инк") резко сужается (с этим окном постоянно такая реакция на страх).
Инвестор пишет слезные письма Вождю, Вождь отвечает что верит своим отрядам охранения (не штурмовым же доверять, в самом то деле). А посему инвестору свое окно придется совмещать с бутылкой в обозримом будущем.
Дирижабль же - шар, наполненный "кислородом" без постоянного прогрева деньгами, известное дело не может держаться в облаках и посему, пора прощаться с детством и отправить на мороз хоть кого-нибудь, дабы (как и положено воздушному шару) не упасть с небес на землю.
И морозным утром 21 марта, в милом опенспейсе компании "кислород" в башенке Дефолт-Сити открывают окно и устраивают дефенестрейшн пати, по высадке в это окно счастливчиков. На мороз отправили 160 человек - джуниоров, мидлов и львиную долю людей тестирующих отходы жизнедеятельности кодерков.
Под бодрый марш колон на выход, кодеркам рассказывают любопытную информацию:
В последнее время мы слишком быстро росли. Мы хотим повысить эффективность команды. Мы принимали и раньше подобные меры (15 раз), но это то точно в последний раз.
У редакции конечно много вопросов.
Eins: как так можно было "внезапно" вырасти на 160 кодерков (в перерасчете на средние зарплаты это аж 16-32 миллиона рублей зарплат, не считая социалки и ндфл).
Zwei: каким образом повысится эффективность разработки, при поддержки легаси дерьма оставшегося от прошлых профессионалов и при наростании новых радиоактивных отходов от текущих с отказом от команд AQA.
Drei: почему сокращение не коснулось сеньоров - ведь среди этих животных максимальное число переоцененного биомусора (веселья ради, один из коллег обладая минимальными знаниями и опытом как разработки, так и разработки на go - стал там синьор девелопером).
Vier: Самый эффективный способ получить качественного сеньора вырастить его самим из джуниора. Зачем увольнять джунов - они же стоят как бутылка воды в поилке для кодерков (куллере).
Единственное что не вызывает сомнение, это факт того, что кодерки к концу этой тирады помнили только одно "у меня все хорошо и больше этого не будет". Про 15 раз и каждый раз помогало они уже забыли. Ведь известное дело память кодерка как у рыбки.
Поведение менеджмента понятно. У каждого есть свои обязательства о том, какие фичи, к какому сроку должны быть закончены. Поэтому борьба за "воздух", закончилась избавлением от тех, кто будет мешать релизить фичи. Четкого плана действий в условиях нарастающего "кислородного" голодания нет. И впереди у бизнеса, кодерков и у менеджмента безрадостные дни падения из стратосферы.
Тем же кого выкинули в окно дирижабля в пластиковых мешках: вопрос только в том, когда "Гинденбург" взорвется. И в этот момент, в отличии от ваших "коллег" вы будете глубоко под водой, в счастливой и спокойной тиши социального дна. Очень далеко от облаков и максимально глубоко в нашем ресурсе.