Чек-лист-идеального-проекта.pdf
239.2 KB
Мы обещалим выслать Чек-лист идеального проекта. Обещали - высылаем!
Плох тот разраб, что не хочет поработать в Гугле. Но что действительно происходит в огромных IT-гигантах и так ли густо там намазано мёдом? Мы с друзьями поработали в Yandex, ThoughtWorks и других топовых конторах, а теперь делимся опытом и впечатлениями в цикле статей.
Читайте первую:
Работа в IT-гигантах. Часть 1: как туда устроиться
Читайте первую:
Работа в IT-гигантах. Часть 1: как туда устроиться
Нашел первоначальное поределние Big ball of mud. Что называется не отнять, не добавить
Большой шар грязи - это беспорядочно структурированные, разрастающиеся, скрепленные скотчем и проволокой джунгли в стиле спагетти. Эти системы демонстрируют явные признаки нерегулируемого роста и неоднократного ремонта. Информация распределяется между удаленными элементами системы беспорядочно, часто до такой степени, что почти вся важная информация становится глобальной или дублируется. Общая структура системы, возможно, никогда не была четко определена. Если бы переделка таких систем была возможна, они исчезли или изменились бы до неузнаваемости. Программисты, у которых есть хоть капля архитектурного чутья, избегают этих болот. Только те, кто безразличен к архитектуре и, возможно, довольны инерцией повседневной рутинной работы по заделке дыр в этих разрушающихся плотинах, довольствуются работой с такими системами.
Брайан Фут и Джозеф Йодер, 1997 год
Стоит заметить что воз и ныне там...
Большой шар грязи - это беспорядочно структурированные, разрастающиеся, скрепленные скотчем и проволокой джунгли в стиле спагетти. Эти системы демонстрируют явные признаки нерегулируемого роста и неоднократного ремонта. Информация распределяется между удаленными элементами системы беспорядочно, часто до такой степени, что почти вся важная информация становится глобальной или дублируется. Общая структура системы, возможно, никогда не была четко определена. Если бы переделка таких систем была возможна, они исчезли или изменились бы до неузнаваемости. Программисты, у которых есть хоть капля архитектурного чутья, избегают этих болот. Только те, кто безразличен к архитектуре и, возможно, довольны инерцией повседневной рутинной работы по заделке дыр в этих разрушающихся плотинах, довольствуются работой с такими системами.
Брайан Фут и Джозеф Йодер, 1997 год
Стоит заметить что воз и ныне там...
Давно бьюсь с любителями замокать все подряд. Я бы сказал Mock Driven Developer’ами. Оказывается уже 6 лет как написана статья Робертом С Мартином, который сказал “Mock across architecturally significant boundaries, but not within those boundaries”. Не добавить не убавить. http://blog.cleancoder.com/uncle-bob/2014/05/10/WhenToMock.html
Продолжаем цикл статей о работе в крупных компаниях. В этот раз расскажем о том, что вас ждёт внутри: расслабленные и изматывающие проекты, корпоративные велосипеды, добрые товарищи, интриги, трайбализм и весь спектр человеческих проявлений, характерный для всякой крупной иерархии. Но всё же плюсов в такой работе больше. Читайте нашу статью:
https://stringconcat.com/ru/work-for-faang-ru-2/
https://stringconcat.com/ru/work-for-faang-ru-2/
Заключительная статья из цикла о работе в конторах уровня FAANG. Про деньги, оценки эффективности и перспективы трудоустройства после. Ну, и главный вывод из всего цикла: поработать хорошо, но неведомого чуда не произойдёт.
https://stringconcat.com/ru/work-for-faang-3-ru/
https://stringconcat.com/ru/work-for-faang-3-ru/
Stringconcat
stringconcat.com - stringconcat Resources and Information.
stringconcat.com is your first and best source for all of the information you’re looking for. From general topics to more of what you would expect to find here, stringconcat.com has it all. We hope you find what you are searching for!
Forwarded from addmeto (Grigory Bakunov)
Боже, это просто чудесная утренняя история: исследователь безопасности заметил в статье сотрудника PayPal упоминание нескольких внутренних пакетов, в т.ч. analytics-paypal. И для эксперимента разместил пакет с таким же названием в публичном репозитории. И что вы думаете, конечно же часть внутреннего софта от PayPal собралась с использованием его пакета, который "стучал на землю" ему в сервера.
Как следствие исследователь провернул совершенно аналогичную атаку на почти все крупные айти компании-гиганты. И если подумать, я знаю где у меня совершенно такие же проблемы, пойду чинить https://www.bleepingcomputer.com/news/security/researcher-hacks-microsoft-apple-more-in-novel-supply-chain-attack/
Как следствие исследователь провернул совершенно аналогичную атаку на почти все крупные айти компании-гиганты. И если подумать, я знаю где у меня совершенно такие же проблемы, пойду чинить https://www.bleepingcomputer.com/news/security/researcher-hacks-microsoft-apple-more-in-novel-supply-chain-attack/
BleepingComputer
Researcher hacks over 35 tech firms in novel supply chain attack
A researcher managed to hack systems of over 35 major tech companies including Microsoft, Apple, PayPal, Shopify, Netflix, Tesla, Yelp, Tesla, and Uber in a novel software supply chain attack. For his ethical hacking research efforts, the researcher has been…
addmeto
Боже, это просто чудесная утренняя история: исследователь безопасности заметил в статье сотрудника PayPal упоминание нескольких внутренних пакетов, в т.ч. analytics-paypal. И для эксперимента разместил пакет с таким же названием в публичном репозитории. И…
Никогда такого не было и вот опять!
Интересный пост от Владимира Хорикова о DDD-трилемме. Не совсем согласен с выводом о том, что нужно предпочитать чистоту (мне больше по душе инкапсуляция), имхо всё-таки некоторые внешние операции допустимы, правда их совсем немного. Но такая трилемма действительно имеет место быть.
https://enterprisecraftsmanship.com/posts/domain-model-purity-completeness/
https://enterprisecraftsmanship.com/posts/domain-model-purity-completeness/
Enterprise Craftsmanship
Domain model purity vs. domain model completeness (DDD Trilemma)
I’ve been meaning to write this article for a long time and, finally, here it is: the topic of domain model purity versus domain model completeness.
🔥1
Хорошая подборка бесплатных и условно-бесплатных сервисов для разработчиков. CI/CD, мониторинг, управление логами, бесплатные опции крупных облачных провайдеров и другое.
https://free-for.dev
https://free-for.dev
Если вы только собираетесь создавать новый проект на java\kotlin\scala, то я для вас нашел отличный репозиторий. Из него можно позаимствовать gradle\maven конфигурацию, с подключенными и настроенными тулзами типа линтеров, jococo и всех прочих.
Если же не собираетесь стартовать — просто почитайте его readme файл, уверен что вы найдете не одну best практику, которую стоит использовать.
https://github.com/binkley/modern-java-practices
Если же не собираетесь стартовать — просто почитайте его readme файл, уверен что вы найдете не одну best практику, которую стоит использовать.
https://github.com/binkley/modern-java-practices
GitHub
GitHub - binkley/modern-java-practices: Modern Java/JVM Build Practices
Modern Java/JVM Build Practices. Contribute to binkley/modern-java-practices development by creating an account on GitHub.
Недавно я вновь отправился в турне по продуктовым и не очень конторам, перепродавать свой зад подороже. И к моему удивлению каждое второе собеседование оказалось с алгоритмическими задачами. Хороший повод завести вентилятор и взять в руки лопату. Сегодня осуждаем порочную практику с позиции нейрофизиологии и прагматической этики.
https://stringconcat.com/ru/coding-interview-ru/
https://stringconcat.com/ru/coding-interview-ru/
Forwarded from DDDevotion
Вышел свежий техрадар. Рекомендую походить по расхлопам, почитать мотивационную часть и референсы. Также обратите внимание на тренд той или иной техники или платформы.
На что я обратил внимание
- пара ссылок на книгу Team Topologies (в когнитивной нагрузке и платформенных командах);
- облачные песочницы, даешь дев-стенды разработчикам!
- захолдили SAFe и GitOps.
- захолдили пулл-реквесты как инструмент peer review (недавно делал пост со схожими мыслями).
И это только четверть про техники, если вы работаете с кодом - наверняка найдете массу полезных инструментов и ссылок.
На что я обратил внимание
- пара ссылок на книгу Team Topologies (в когнитивной нагрузке и платформенных командах);
- облачные песочницы, даешь дев-стенды разработчикам!
- захолдили SAFe и GitOps.
- захолдили пулл-реквесты как инструмент peer review (недавно делал пост со схожими мыслями).
И это только четверть про техники, если вы работаете с кодом - наверняка найдете массу полезных инструментов и ссылок.
Thoughtworks
Technology Radar | Guide to technology landscape
The Technology Radar is an opinionated guide to today's technology landscape. Read the latest here.
Знакома ли вам ситуация, когда ответом на любой вопрос является "так исторически сложилось"?
-Почему у нас здесь микросервисы?
-так сложилось. Всегда были.
-почему мы используем кафку?
-не знаю, вроде нормально ведь.
Чтобы не попадать в такие ситуации придуманы architectural decision records. Это фиксация принятых архитектурных решений с обоснованием почему. Если хотите начать использовать, то вам в помощь прекрасный шаблон ведения таких записей.
https://github.com/adr/madr
Да, это хорошая идея вести запись прямо в репозитории
-Почему у нас здесь микросервисы?
-так сложилось. Всегда были.
-почему мы используем кафку?
-не знаю, вроде нормально ведь.
Чтобы не попадать в такие ситуации придуманы architectural decision records. Это фиксация принятых архитектурных решений с обоснованием почему. Если хотите начать использовать, то вам в помощь прекрасный шаблон ведения таких записей.
https://github.com/adr/madr
Да, это хорошая идея вести запись прямо в репозитории
GitHub
GitHub - adr/madr: Markdown Architectural Decision Records
Markdown Architectural Decision Records. Contribute to adr/madr development by creating an account on GitHub.
Одно дело, когда политик спрашивает «Как ваши дела?», и совсем другое, когда ваша мама спрашивает «Как ваши дела». Они имеют ввиду совершенно разные вещи.
Таким образом, 2 семантически одинаковые фразы имеют совершенно разное значение в зависимости от контекста. И вот тут то мы пришли к определению Bounded Context из DDD.
Как определить, что мы наткнулись на 2 контекста? Ответ прост: когда одна фраза (или сущность) не может быть понята однозначно без знания контекста.
Нашли такую фразу? Поздравляю! Вы нашли bounded context. И два значения одного и того же термина.
Таким образом, 2 семантически одинаковые фразы имеют совершенно разное значение в зависимости от контекста. И вот тут то мы пришли к определению Bounded Context из DDD.
Как определить, что мы наткнулись на 2 контекста? Ответ прост: когда одна фраза (или сущность) не может быть понята однозначно без знания контекста.
Нашли такую фразу? Поздравляю! Вы нашли bounded context. И два значения одного и того же термина.
💀 Тем, кто устал
Айти — постоянная гонка, от которой можно и приуныть в конце-концов. Сегодня поговорим о том, как выжить, когда уже сил не осталось.
Наш каток прагматического гуманизма пройдёт по порочным практикам накопления приёмчиков и коллекционирования фреймворков, чтобы подготовить ровную площадку для ясной системы знаний. А ещё немного пошутим о наболевшем.
Приходите читать!
https://stringconcat.com/ru/get-sane/
Айти — постоянная гонка, от которой можно и приуныть в конце-концов. Сегодня поговорим о том, как выжить, когда уже сил не осталось.
Наш каток прагматического гуманизма пройдёт по порочным практикам накопления приёмчиков и коллекционирования фреймворков, чтобы подготовить ровную площадку для ясной системы знаний. А ещё немного пошутим о наболевшем.
Приходите читать!
https://stringconcat.com/ru/get-sane/
Не всюду разработчику хорошо. Бывает, с виду всё нормально, но на деле проект оказывается полон особенностей. День за днём они грызут душу и тело, люди выгорают и отправляются на мороз, общаться с психоаналитиком.
Чтобы избавить вас от подобного опыта, мы составили тест на оценку кровавости энтерпрайза. Отправьте потенциальному работодателю или покажите текущей команде, но лучше пройдите сами.
https://bloody-enterprise.stringconcat.com/#/
Чтобы избавить вас от подобного опыта, мы составили тест на оценку кровавости энтерпрайза. Отправьте потенциальному работодателю или покажите текущей команде, но лучше пройдите сами.
https://bloody-enterprise.stringconcat.com/#/
Только-только вышла в свет вторая версия Микросервисов от Сэма Ньюмана. Судя по доступному сэмплу он уж больше рассказывает о технических подробностях реализации, таких как распределенная трассировка, агрегатор логов. Но самое интересное - это книга не агитирует "за" микросервисы, но и не агитирует "против". Обещается очень здравый подход с описанием альтернатив микросервисам. Книга сейчас доступна только в версии для Kindle. На английском само собой https://www.amazon.com/Building-Microservices-Sam-Newman-ebook-dp-B09B5L4NVT/dp/B09B5L4NVT/ref=mt_other?_encoding=UTF8&me=&qid=1628333621
Forwarded from DDDevotion
Послезавтра проводим митап уходящего лета. И программа получается несколько монолитной) Первый докладчик – Олег Федосеев (@olegfedoseev) из Циан расскажет про вторую жизнь монолита:
Многие думают что монолит можно только переписать или заменить микросервисами, но есть альтернативный путь — постепенное улучшение изнутри и в своём докладе я расскажу как это работает и как к этому можно прийти.
Многие думают что монолит можно только переписать или заменить микросервисами, но есть альтернативный путь — постепенное улучшение изнутри и в своём докладе я расскажу как это работает и как к этому можно прийти.
Очень актуальная тема на наш взгляд. Ссылка на митап https://www.youtube.com/watch?v=5Adgq-4KJoo, вопросы можно задать тут - https://app.sli.do/event/3xzwxrro
YouTube
DDDocs – генерируем документацию по-модному
Андрей Ратушный, DDD-евангелист.
Андрей рассказал про подход, который позволяет собирать документацию на основании программной модели. Используя этот подход мы посмотрели, как можно определить дефекты трансляции ментальной модели в программную и какой дополнительный…
Андрей рассказал про подход, который позволяет собирать документацию на основании программной модели. Используя этот подход мы посмотрели, как можно определить дефекты трансляции ментальной модели в программную и какой дополнительный…
Проводим очередной вебинар по Clean Architecture. Если кто ещё не видел — подключайтесь!
https://youtu.be/lQMWGWA9FYs
https://youtu.be/lQMWGWA9FYs
YouTube
MVC к Clean Architecture. Рефакторинг архитектуры бэкенда
Как перестать выгарать и начать снова любить свою работу?
Как разработка и управление требованиями поменяет твои будни?
Микросервисы, какие они должны быть чтобы не испытывать микроинсульты?
Как архитектура поможет управлять проектом и почему архитекторы…
Как разработка и управление требованиями поменяет твои будни?
Микросервисы, какие они должны быть чтобы не испытывать микроинсульты?
Как архитектура поможет управлять проектом и почему архитекторы…