Episódios

  • #domaindrivendesign #ddd #softwareengineer #softwarearchitecture

    Как внедрить Domain-Driven Design (DDD) в команду? Почему он не так популярен? Как правильно его продать разработчикам? Об этом и многом другом мы поговорили с Денисом Пинук, который делится своим опытом внедрения DDD в реальных командах.

    Что вас ждет в этом выпуске?

    - Что такое DDD и зачем он нужен?

    - Какой книгой лучше всего начать знакомство?

    - Как DDD сочетается с TDD, BDD и Event-Driven?

    - Почему DDD сложно внедрять и как это делать правильно?

    - Будущее DDD и его минусы.

    Канал с анонсами https://t.me/megdu_skobok

    Ламповый чат https://t.me/backend_megdu_skobkah

    Boosty https://boosty.to/megdu_skobok

    Полезные ссылки

    - Вакансии Яндекс 360: https://yandex.ru/jobs/services/360?utm_source=youtube&utm_medium=social&utm_campaign=backend_hire&utm_content=mezhdu_skobok&utm_term=0225

    - Про бэкенд-разработку в Яндекс 360: https://360.yandex.ru/jobs/backend_development/?utm_source=youtube&utm_medium=social&utm_campaign=backend_hire&utm_content=mezhdu_skobok&utm_term=0225

    - Целостность данных в микросервисной архитектуре / Николай Голов (Avito) https://www.youtube.com/watch?v=6HvSpqBc8fA

    - Event-Driven Architecture в контексте микросервисов: основные паттерны | Николай Голов, ManyChat https://www.youtube.com/watch?v=bAhxpqHfP8I

    - Микросервисная архитектура, подходы и технологии / Кирилл Ветчинкин (TYME) https://www.youtube.com/watch?v=FF-GZ7iipwc

    - Сергей Баранов «Event Storming: избавляемся от предположений в коде» https://www.youtube.com/watch?v=n2RFyLi0sgc

    - Классические паттерны МСА https://microservices.io/patterns/index.html

    - Пример доски в миро https://miro.com/templates/event-storming/

    Таймкоды

    00:00 Вступление

    03:25 Что такое DDD и зачем он нужен?

    07:03 Основные составляющие DDD

    11:39 Как DDD сочетается с TDD, BDD и Event-Driven?

    12:48 Как Денис познакомился с DDD

    16:19 Как продать DDD в команду

    20:29 Как команда Дениса адаптировалась к DDD

    42:39 Почему DDD не популярно

    57:38 Какие ошибки стоит избежать

    59:13 С какой книги начать знакомство с DDD

    01:03:57 Обсуждение книги Learning DDD

    01:03:49 DDD сообщества

    01:10:30 Минусы DDD

    01:12:22 Будущее DDD

  • Domain-Driven Design — мощный инструмент для проектирования сложных систем, но его внедрение часто вызывает вопросы. Почему стратегический уровень DDD играет ключевую роль? Какие сложности поджидают разработчиков на этом пути? И что нужно сделать, чтобы DDD действительно приносил пользу?

    В этом интервью с Владом Хононовым, автором книги "Learning Domain-Driven Design", мы разбираем, как правильно применять DDD в реальных проектах, какие ошибки совершают команды и что ждёт этот подход в будущем.

    Канал с анонсами https://t.me/megdu_skobok

    Ламповый чат https://t.me/backend_megdu_skobkah

    Boosty https://boosty.to/megdu_skobok

    О чём говорим:

    — Почему стратегический уровень DDD так важен

    — Как сделать первые шаги и преодолеть высокий порог входа

    — Реальные примеры внедрения: успехи и трудности

    — DDD и микросервисы: всегда ли они связаны

    — Влияет ли искусственный интеллект на развитие DDD

    — Как будет развиваться DDD в ближайшие годы

    — Опыт Влада в написании книги и его новый проект

    Если хотите глубже разобраться в DDD и понять, как применять его эффективно, это интервью для вас.

  • Estão a faltar episódios?

    Clique aqui para atualizar o feed.

  • #softwareengineer #softwareengineerpath #staffeng

    Что такое стафф инженер и почему эта роль так важна? В этом видео мы поговорим о ключевых аспектах работы стафф инженеров: как стать стаффом, какие навыки и опыт для этого нужны, и как понять, что ваша компания готова к этой роли. Вы узнаете, куда можно развиваться после сеньора, как строить карьеру и вести переговоры о повышении, а также как справляться с ответственностью, не выгорая. Практические советы, метрики успеха и ответы на самые популярные вопросы о стафф инженерах — всё это в одном видео!

    Полезные ссылки

    - https://info.androidenterprise.training

    - Android Dev Подкаст

    - Личный опыт Денис Неклюдов, Барух Садогурский: Жизнь после senior https://youtu.be/n9Wjlei7MYE

    - https://www.linkedin.com/in/nekdenis/

    - https://staffeng.com

    - Собеседование Неклюдов https://www.youtube.com/live/4RFFTaFdspQ

    - https://www.goodreads.com/book/show/33369254-the-manager-s-path

  • #softwareengineer #management #agile #architecture

    Взял интервью у Engeenering Manager - чтобы понять, кто такой EM и за что он отвечает. Мы обсудили ключевые качества и навыки, которые необходимы для этой роли, а также выяснили, что EM — это не только про работу с людьми, но и про технологии. Ян рассказал, что его привлекает в этой работе и когда компании принимают решение, что им нужен Engeenering Manager. Кроме того, мы затронули тему взаимодействия EM с другими сотрудниками и разобрали различия между EM, Tech Lead и Архитектором.

    YouTube https://youtu.be/t2sOyIw9QdE

    Канал с анонсами https://t.me/megdu_skobok

    Ламповый чат https://t.me/backend_megdu_skobkah

    Boosty https://boosty.to/megdu_skobok

    Полезные ссылки

    - StaffEng https://staffeng.com/guides/staff-archetypes/

    - Книга “Семь навыков эффективных менеджеров”

    - Книга "Мама, я тимлид! Практические советы по руководству IT-командой"

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

    - Подборка книг для тимлида https://www.livelib.ru/selection/2436973-luchshee-dlya-team-lead

    - Книга «Как пасти котов. Наставление для программистов, руководящих другими программистами», Ханк Рейнвотер

    - Книга "Проект феникс"

    - Книга "Цель. Процесс непрерывного совершенствования"

    - Совет от Яна "Пройти сертификацию PSM/Project srum master"

  • Погружаемся в мир Go lang - мощного языка программирования, который завоевывает сердца разработчиков. Мы рассмотрим ключевые факторы, почему все больше компаний рассматривают переход на Go lang и какие преимущества он предлагает по сравнению с другими языками программирования. Будем обсуждать такие моменты как производительность, удобство синтаксиса, экосистему и тд. Также поговорим про сложности с которыми можно столкнуться и как их преодолеть.

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

    Владимир Балун - Team Lead из Яндекса

    Вячеслав Горюнов - Go разработчик в AdTech, ведет свой youtube https://www.youtube.com/@VyacheArt и по мотивам роликов складываю код на GitHub https://github.com/VyacheArt

    Виталий Лихачев - Fullstack разработчик. Работал и в стартапах, и в крупных компаниях. Знает жизнь программных проектов со множества сторон. Автор курса https://slurm.io/go

    Ламповый чат https://t.me/backend_megdu_skobkah

    Канал с анонсами https://t.me/megdu_skobok

    YouTube https://youtube.com/live/vxAFHcQQjjo

    Полезные ссылки

    - YouTube канал "Владимир Балун" @vladimir_balun_programming

    - YouTube канал VyacheArt @VyacheArt

    - Для новичков есть прекрасный ресурс: https://gobyexample.com/

    - "100 Go Mistakes and How To Avoid Them" Teiva Harsanyi https://www.manning.com/books/100-go-mistakes-and-how-to-avoid-them

    - ресурс со стайл гайдом в го https://google.github.io/styleguide/go/index

    - Effective go https://go.dev/doc/effective_go

    - Примеры проектов на го https://github.com/kubernetes/kubernetes и https://github.com/microsoft/docker

    - Пример проекта на го - мониторинг https://github.com/prometheus/prometheus

    - убийца nginx (шутка) https://github.com/caddyserver/caddy

    - подводные камни использования go https://habr.com/en/companies/vk/articles/314804/

    - Курс для middle+ инженеров, кто хочет шарить за go https://slurm.io/go

    - Здесь 90-95% того, как можно использовать concurrency в go

    Part 1 https://www.youtube.com/watch?v=GZSfn-8m-ko

    Part 2 https://www.youtube.com/watch?v=SCsUO9MSHac

    Part 3 https://www.youtube.com/watch?v=k9b1Bkea4L0

    - Борьба с драйвером PosgreSQL: Bouncer vs. Pgx | Семён Эйгин | Golang Meetup 2023 | СберМаркет Tech https://www.youtube.com/watch?v=jNETRTXWgu8

    - Microservices https://microservices.io/patterns/index.html

    - О каких штуках нужно подумать, когда пилишь сервис с нуля (observability в первую очередь). https://github.com/kgoralski/microservice-production-readiness-checklist

  • #faang #softwareengineer #careersuccess #startup #ycombinator

    Хотите понять, где лучше развивать свою карьеру: в небольшом стартапе или в большой компании типа Microsoft, Apple, Amazon, Netflix и Google. В этом вам поможет разобраться интервью, где обсудим в чем различия, какие есть преимущества и сложности обоих вариантов. Так же будем сравнивать FAANG и Startup в разрезе культуры, гибкости, инноваций.

    Делиться своим опытом будет невероятно интересный гост - Игорь Пересунько 🔥 Игорь Software Engineer в YC стартапе iollo, который работает над увелечением продолжительности жизни, Ex-Microsoft, пишет про свои проекты в telegram (https://t.me/ihor_codes), ведет канал про алгоритмы (https://www.youtube.com/c/IhorCodes), стримит на twitch (https://twitch.tv/ihor_codes).

    Канал с анонсами https://t.me/megdu_skobok

    Ламповый чат https://t.me/backend_megdu_skobkah

    Boosty https://boosty.to/megdu_skobok

    YouTube https://youtu.be/UvkS899ZHEY

    Полезные ссылки

    📖 YouTube канал Игоря https://www.youtube.com/@IhorCodes

    📖 Телеграм канал Игоря https://t.me/ihor_codes

    📖 Твич https://www.twitch.tv/ihor_codes

    📖 Outtalent https://outtalent.com

    📖 Well found https://wellfound.com

    📖 Ycombinator https://www.ycombinator.com/about

    📖 Levels https://www.levels.fyi

    📖 Glassdoor https://www.glassdoor.com/

    📖 Uber Values https://www.uber.com/us/en/careers/values/?uclick_id=a9289b84-d019-4a91-bb96-aa8a3b364437

    📖 Layoffs https://layoffs.fyi

    📖 Blind https://www.teamblind.com

    Таймкоды

    00:00 Вступление

    01:50 Как Игорь попал в Faang

    03:18 Что такое StartUp

    04:39 Почему Игорь решил покинуть Faang и перешел в Startup

    08:57 Как найти свой Startup

    12:21 Сравнение культуры, атмосферы в Faang и Startup

    14:47 Крупная компания с атмосферой стартапа

    21:09 Стереотипы про Faang и Startup

    22:27 T shape в Startup

    26:46 Использование современных технологий

    34:41 Как привносить в компанию новые технологии

    37:17 Приходиться ли в стартапе больше перерабатывать

    38:47 Отдых/отпуск в startup и Faang

    43:24 Зарплаты в Startup

    46:13 Зарплатные переговоры

    50:01 Карьерные перспективы

    55:26 Риски Startup

    58:00 Набор вопросов для Startup

    1:00:15 Выбор между Startup и Faang

  • Мы глубоко обсудили важность безопасности, рассмотрели моменты, когда она становится приоритетной, и изучили основные принципы дизайна, которые лежат в её основе. Особое внимание уделили сложному вопросу обеспечения соблюдения стандартов GDPR при удалении данных из резервных копий баз данных, и здесь Миша предложил отличное решение.

    Также мы более детально рассмотрели тонкости аутентификации и авторизации, и пришли к заключению, что технология JWT (JSON Web Tokens) представляет собой отличное решение в данном контексте.

    В заключение, мы глубже разобрались в том, как функционируют SSL, TLS и HTTPS, а также рассмотрели использованные в них криптографические алгоритмы.

    Канал с анонсами https://t.me/megdu_skobok

    Ламповый чат https://t.me/backend_megdu_skobkah

    Boosty https://boosty.to/megdu_skobok

    YouTube https://youtu.be/Dz4W2NmXE60

    Полезные ссылки

    📖 Подкаст тысяча фичей https://t.me/tfeat

    📖 Канал душный интерпрайз https://t.me/toxic_enterprise

    📖 OWASP https://owasp.org/www-project-top-ten/

    📖 OAuth 2.0 for Browser-Based Apps https://www.ietf.org/archive/id/draft-ietf-oauth-browser-based-apps-12.html#name-token-mediating-backend

    📖 Модель зрелости средств мониторинга https://www.soc-cmm.com/

  • #devops #sre #softwareengineer #linux

    Будут вопросы по траблшутингу на уровне hardware/OS. Обсудим лучшие практики по Kubernetes, по БД (acid, base). Также будет вопросы по CI/CD. Разберемся что может быть полезно разработчику.

    Проводить собеседование будет невероятно классная - Ганна Новикова 🔥 Ганна, Lead DevOps/Incident team lead, Intergiro. Непрерывно развивается в SRE/DevOps и делиться этим в твиттере (https://twitter.com/arnika_sky) /своем блоге (https://medium.com/@arnikasky)

    Проходить собеседование будет Виталий Лихачев 🔥 Fullstack разработчик. Работал и в стартапах, и в крупных компаниях. Пилил сложный динамичный фронт в стартапе, настраивал CI/CD и aws, оптимизировал бэкенд и проводил технические собеседования — поэтому понемногу знает жизнь программных проектов со множества сторон.

    Канал с анонсами https://t.me/megdu_skobok

    Boosty https://boosty.to/megdu_skobok

    Ламповый чат https://t.me/backend_megdu_skobkah

    YouTube https://youtube.com/live/V8G4z46QEzs

    Полезные ссылки

    📖 Твиттер Ганны https://twitter.com/arnika_sky

    📖 Блог Ганны https://medium.com/@arnikasky

    📖 SRE Interview questions https://github.com/mxssl/sre-interview-prep-guide

    📖 Как победить LeetCode https://skillbox.ru/media/code/kak-pravilno-reshat-zadachi-na-leetcode-podrobnyy-gayd-po-trenazhyeru-dlya-programmistov/

    📖 SRE book https://linkedin.github.io/school-of-sre/

    📖 Попробовать что-то потраблшутить на серверах бесплатно https://sadservers.com/scenarios -

    📖 Описание внутрянки linux https://biriukov.dev/

    📖 Мега энциклопедия траблшутинга проблем производительности linux https://www.amazon.com/Systems-Performance-Brendan-Gregg-ebook/dp/B08J5QZPNC/

    📖 Уроки по linux https://www.youtube.com/playlist?list=PLXtiZNKIobF4e0IHZabrY8WIafbSQiY6h

    📖 Nomad https://www.youtube.com/watch?v=G9tBVMVe09s

    📖 Про особенности alpine для python https://habr.com/ru/articles/707858/

  • Мы проведем интервью с Мартином ван Стином, автором книги "Distributed Systems". Мы обсудим, как Мартин и Эндрю С. Таненбаум приняли решение написать эту книгу и кто внес больший вклад в четвертое издание. Обсудим для кого предназначена эта книга, а также поговорим о дальнейших творческих планах Мартина. Также поговорим о том, какие тренды ожидают нас в области распределенных систем, и как Мартин оценивает их эволюцию.

    Channel with announcements https://t.me/megdu_skobok

    Lamp Chat https://t.me/backend_megdu_skobkah

    Boost https://boosty.to/megdu_skobok

    YouTube https://youtu.be/NhI5YA4nbzQ

    Useful links

    📖 Distributed Systems https://www.distributed-systems.net

    📖 The Datacenter as a Computer http://www.cs.yale.edu/homes/yu-minlan/teach/csci599-fall12/papers/dccomputer.pdf

    📖 Google Research https://research.google/pubs/

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

    Помогать в обсуждении нам будут невероятно интересные гости - Илья Казначеев и Валерий Жила 🔥. Илья - эксперт в области PaaS и SaaS систем, Google Developer Expert по облачным технологиям, кандидат технических наук. Он помогает бизнесу зарабатывать больше и тратить меньше, принимая правильные архитектурные решения. Валера – немецкий SWE, который стремится понять суть предприятий, но только углубляется в них. Он успешно завершил программу обучения Computer Science на высшем уровне.

    Канал с анонсами https://t.me/megdu_skobok

    Ламповый чат https://t.me/backend_megdu_skobkah

    Boosty https://boosty.to/megdu_skobok

    YouTube https://youtu.be/Nfw-KUWNRGk

    Полезные ссылки

    📖 Как делали Load Balancing в Facebook https://youtu.be/LLBT70yexZo?si=TojPnOBh10vLCYDh

    📖 Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith https://www.amazon.com/Monolith-Microservices-Evolutionary-Patterns-Transform/dp/1492047848/ref=sr_1_1?crid=10M47HICW1Z8H&keywords=Monolith+to+Microservices&qid=1696783672&sprefix=monolith+to+microservices%2Caps%2C183&sr=8-1

  • #distributedsystems #blockchain #softwareengineer #softwarearchitecture

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

    Помогали в обсуждении нам невероятно интересные гости - Игорь Корсаков (co-founder & CTO of BlueWallet) и Сергей Тихомиров (protocol research engineer at Status).

    Канал с анонсами https://t.me/megdu_skobok

    Ламповый чат https://t.me/backend_megdu_skobkah

    Boosty https://boosty.to/megdu_skobok

    YouTube https://youtu.be/KtrDKuj1hWU

    Полезные ссылки

    📖 Bitcoin Paper https://bitcoin.org/files/bitcoin-paper/bitcoin_ru.pdf

    📖 Bitcoin Is Worse Is Better https://gwern.net/bitcoin-is-worse-is-better

    📖 Bitcoin bites the bullet https://medium.com/@nic__carter/bitcoin-bites-the-bullet-8005a2a62d29

    📖 Merkle tree https://en.wikipedia.org/wiki/Merkle_tree

    📖 Feature hashing https://en.wikipedia.org/wiki/Feature_hashing

    📖 Don’t be tricked by the Hashing Trick https://booking.ai/dont-be-tricked-by-the-hashing-trick-192a6aae3087

    📖 What Is Proof of Work (PoW) in Blockchain? https://www.investopedia.com/terms/p/proof-work.asp#:~:text=Proof%20of%20work%20(PoW)%20is,a%20reward%20for%20work%20done.

    📖 Is Cryptocurrency are used on Mars? https://medium.com/@varunmoresecomstore/is-cryptocurrency-are-used-on-mars-1699a3dd1e

    📖 Zero-knowledge proof https://en.wikipedia.org/wiki/Zero-knowledge_proof

    📖 Zero-knowledge proofs, explained https://cointelegraph.com/explained/zero-knowledge-proofs-explained

    📖 ENS https://ens.domains

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

    Помогать в обсуждении будут наши невероятно интересные гости - Антон Жуков и Николай Ижиков 🔥

    Канал с анонсами https://t.me/megdu_skobok

    Ламповый чат https://t.me/backend_megdu_skobkah

    Boosty https://boosty.to/megdu_skobok

    YouTube https://youtu.be/nPTYmqk8dY4?si=7jbmdJBxliSwhFfq

    Полезные ссылки

    📖 Канал Коли Ижикова https://t.me/nizhikovTalks

  • #distributedsystems #softwareengineer

    На встрече мы обсуждаем пятую главу из книги Distributed Systems, 4th Edition, Maarten van Steen and Andrew Tannenbaum. Разобрались в координации компонентов распределенного приложения. Поговорили о том когда надо использовать физические часы, а когда логические, как синхронизировать часы в распределенной системе. Дима привел пример из жизни, когда могут возникнуть проблемы в кластаре Cassandra из-за разных часов. Так же обсудили как делать взаимные блокировки (mutual exclusion), чтобы совместно использовать ресурсы.

    Канал с анонсами https://t.me/megdu_skobok

    Ламповый чат https://t.me/backend_megdu_skobkah

    Boosty https://boosty.to/megdu_skobok

    YouTube https://youtu.be/LxnLuduXKvw

    Полезные ссылки

    📖 YouTube канал S0ER https://www.youtube.com/@S0ERDEVS

    📖 Телеграмм канал S0ER https://t.me/softwareengineervlog

    📖 Курс по распределенным системам от Мартина Клеппманна https://youtube.com/playlist?list=PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB&si=r8hTbbc3S6ZtYQmG

    📖 The Global Chubby Planned Outage https://sre.google/sre-book/service-level-objectives/#xref_risk-management_global-chubby-planned-outage

    📖 Why Does The Clock At Bristol’s Corn Exchange Have Two Minute Hands? https://secretbristol.com/corn-exchange-clock-bristol-time/

    📖 The trouble with timestamps https://aphyr.com/posts/299-the-trouble-with-timestamps

    📖 Jepsen: Cassandra https://aphyr.com/posts/294-call-me-maybe-cassandra

    📖 Raft (not)almighty: how to make it more robust https://dev.to/tarantool/raft-notalmighty-how-to-make-it-more-robust-3a11

    📖 Raft Understandable Distributed Consensus http://thesecretlivesofdata.com/raft/

    📖 Patterns of Distributed Systems от Мартина Фаулера https://martinfowler.com/articles/patterns-of-distributed-systems/

  • #softwareengineer #golang #publicinterview

    Соберемся на публичное собеседование на Middle+ Golang. Разберемся какие сейчас актуальные вопросы по Go обсуждают на собеседованиях.

    Проводить собеседование будет Виталий Лихачев 🔥 - Fullstack разработчик. Работал и в стартапах, и в крупных компаниях. Пилил сложный динамичный фронт в стартапе, настраивал CI/CD и aws, оптимизировал бэкенд и проводил технические собеседования — поэтому понемногу знает жизнь программных проектов со множества сторон.

    Проходить собеседование будет невероятно классная - Наталья Саушкина 🔥 Работает мидл golang разработчиком в команде по продуктовой аналитике, стек - кафка, кассандра, кликхаус. Знает как хорошо настроить мониторинг и алертинг.

    Ламповый чат https://t.me/backend_megdu_skobkah

    Канал с анонсами https://t.me/megdu_skobok

    Apple Podcast https://podcasts.apple.com/us/podcast/{-между-скобок-}/id1654695424

    Yandex Music https://music.yandex.ru/album/24060063

    Полезные ссылки

    📖 Задачи с собеседования https://github.com/make-it-git/go-interview

    📖 Порождающие паттерны в Golang | avito.code https://www.youtube.com/watch?v=GZSfn-8m-ko&

    📖 Паттерны параллельных вычислений в Golang | avito.code https://www.youtube.com/watch?v=SCsUO9MSHac

    📖 Паттерны отложенных вычислений | avito.code https://www.youtube.com/watch?v=k9b1Bkea4L0&

    📖 LinkedIn Виталия https://www.linkedin.com/in/makeitgit

    📖 Курс который делает Виталя https://slurm.io/golang-developer

    📖 Golang | Паттерны проектирования https://youtube.com/playlist?list=PLxj7Nz8YYkVW5KHnsb9qWUDP2eD1TXl1N&si=Ea_iH1rTr87Iha-K

    📖 Шаблоны разработки (полный курс) https://youtube.com/playlist?list=PLmqFxxywkatStbd9hdzVOS1hZa9dc56k4&si=SzEOwW8TIn7iBMTf

  • #distributedsystems #kafka #softwareengineer #softwarearchitecture

    Разбор четвертой главы из книги Distributed Systems, 4th Edition, Maarten van Steen and Andrew Tannenbaum. Межсервисное взаимодействие лежит в основе всех распределенных систем. Разберемся какие есть варианты взаимодействия между сервисами, так же поговорим о том какие нюансы стоит при этом учитывать. Обсудим в какие случаях стоит использовать синхронное и асинхронное взаимодействие, какие есть плюсы и минусы у этих подходов.

    Канал с анонсами https://t.me/megdu_skobok

    Boosty https://boosty.to/megdu_skobok

    Ламповый чат https://t.me/backend_megdu_skobkah

    Apple Podcast https://podcasts.apple.com/us/podcast/%D0%BC%D0%B5%D0%B6%D0%B4%D1%83-%D1%81%D0%BA%D0%BE%D0%B1%D0%BE%D0%BA/id1654695424

    Yandex Music https://music.yandex.ru/album/24060063

    Полезные ссылки

    📖 Подкаст “Деды Бухтят На Интернет” https://www.youtube.com/@oldwtf

    📖 Networking and Kubernetes: A Layered Approach 1st Edition https://www.amazon.com/Networking-Kubernetes-Approach-James-Strong/dp/1492081655

    📖 Kubernetes Networking: The Complete Guide https://www.tigera.io/learn/guides/kubernetes-networking/

    📖 Building Meta’s Threads App https://newsletter.pragmaticengineer.com/p/building-metas-threads-app

    📖 Fallacies of distributed computing https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing

    Таймкоды

    00:00 Тема выпуска - коммуникации в распределенных системах.

    01:25 Представление гостей: Андрей Ребров и Виктор Гамов.

    03:25 Layered architectire, ISO-OSI.

    11:00 Сеть - основной источник проблем современных приложений.

    13:30 Что почитать про современные проблемы коммукации сервисов.

    15:30 Sync/Async вызовы, transient/persistent вызовы - в чем разница и что выбрать.

    21:39 Нюансы современных Sync/Async - одно под видом другого.

    25:15 RPC - удаленный вызов процедур.

    30:05 MoM - Message oriented Middleware. Какие они быают?

    36:15 Где крутятся дегьги - MoM для SOA от IBM, они же ESB - enterprise service bus.

    39:00 Всеми любимые шины.

    44:55 Миллионы и миллиарды сообщений в современных шинах.

    49:55 Фото и завершение дискуссии.

  • Разбор третьей главы из книги Distributed Systems, 4th Edition, Maarten van Steen and Andrew Tannenbaum. Подробно рассмотрим, как различные типы процессов играют решающую роль в распределенных системах. Так же сейчас сложно представить современную разработку без виртуализации. Виртуализация позволяет приложению запускаться независимо от базового оборудования и платформ, что обеспечивает высокую степень переносимости. Еще обсудим архитектуру клиент/сервер в распределенных системах.

    Канал с анонсами https://t.me/megdu_skobok

    Ламповый чат https://t.me/backend_megdu_skobkah

    Boosty https://boosty.to/megdu_skobok

    Apple Podcast https://podcasts.apple.com/us/podcast/%D0%BC%D0%B5%D0%B6%D0%B4%D1%83-%D1%81%D0%BA%D0%BE%D0%B1%D0%BE%D0%BA/id1654695424

    Yandex Music https://music.yandex.ru/album/24060063

    Полезные ссылки

    📖 Страничка Getmetor Жени Козлова https://getmentor.dev/mentor/evgeniy-kozlov-684

    📖 VyacheArt IT (YouTube канал Славы Горюнова) https://www.youtube.com/@VyacheArt

    📖 Daemon process https://t.me/careerunderhood

    📖 Cборник хороших практик по разработке backend приложений https://github.com/abstractart/how-to-develop-perfect-crud

    📖 Гайд по System Design https://github.com/abstractart/learn-system-design

    📖 Java Concurrency Patterns https://github.com/LeonardoZ/java-concurrency-patterns

    📖 Теория и практика многопоточной синхронизации https://youtube.com/playlist?list=PL4_hYwCyhAva37lNnoMuBcKRELso5nvBm&si=22Z9EiOTCiICuwfT

    📖 Семь моделей конкуренции и параллелизма за семь недель. Раскрываем тайны потоков https://pragprog.com/titles/pb7con/seven-concurrency-models-in-seven-weeks/

    📖 Классный цикл статей про виртуализацию и контейнеризацию прям мини книга https://habr.com/ru/articles/657677/

    📖 Scaling up the Prime Video audio/video monitoring service and reducing costs by 90% https://www.primevideotech.com/video-streaming/scaling-up-the-prime-video-audio-video-monitoring-service-and-reducing-costs-by-90

  • #startup #career #softwareengineer

    В продолжение темы про работу в стартапах, поговорим о том как делать стартапы. Делиться своим опытом будет невероятно интересный гость - Максим Суркиз 🔥 Максим Co-founder & CTO Copilot2trip.com – AI-ассистента для путешествий по всему миру, основатель VideoMarket.ai и Dalytics, со-основатель и руководитель Яндекс.Советника, Ex-Kaspersky Lab.

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

    Канал с анонсами https://t.me/megdu_skobok

    Ламповый чат https://t.me/backend_megdu_skobkah

    Boosty https://boosty.to/megdu_skobok

    Apple Podcast https://podcasts.apple.com/us/podcast/{-между-скобок-}/id1654695424

    Yandex Music https://music.yandex.ru/album/24060063

    Полезные ссылки

    📖 Телеграмм канал Максима https://t.me/surkiz_blog

    📖 Startup Максима https://copilot2trip.com

    📖 Google Project Management: Professional Certificate https://www.coursera.org/google-certificates/project-management-certificate

    📖 Go practice simulator https://gopractice.io

    📖 Lean canvas https://www.leancanvas.com

    📖 MBA https://ru.wikipedia.org/wiki/Магистр_делового_администрирования

    📖 Y combinator startup school https://www.startupschool.org

  • #softwareengineer #java #leadership #concurrency #multithreading

    Публичное собеседование на Senior Java. Разберемся какие сейчас актуальные вопросы по Java/Kotlin обсуждают на собеседованиях - паттерны разработки, распределенные транзакции, внутренности Java. А так же по мотивам 3 главы из Distributed Systems, разберем пару задачек по многопоточности.

    Проводить собеседование будет Гриша Скобелев - Java разработчик, хост { между скобок } и директор программных комитетов конференции Java/Techlead Crew.

    Проходить собеседование будет невероятно крутой - Саша Бармин 🔥 Саша Chief Software Engineer, имеющий огромный опыт работы на таких языках JVM, так же ведет свой YouTube канал.

    Канал с анонсами https://t.me/megdu_skobok

    Ламповый чат https://t.me/backend_megdu_skobkah

    Boosty https://boosty.to/megdu_skobok

    Apple Podcast https://podcasts.apple.com/us/podcast/%D0%BC%D0%B5%D0%B6%D0%B4%D1%83-%D1%81%D0%BA%D0%BE%D0%B1%D0%BE%D0%BA/id1654695424

    Yandex Music https://music.yandex.ru/album/24060063

    Полезные ссылки

    📖 YouTube канал Саши https://www.youtube.com/@ABarmin

    📖 Twitter Саши https://twitter.com/aabarmin

    📖 Pattern: Transactional outbox https://microservices.io/patterns/data/transactional-outbox.html

    Таймкоды

    00:00 Приветствие

    03:21 Начальный план собеседования

    04:42 Какую интересную техническую задачу ты решал недавно

    09:10 Какие принципы разработки используются в работе (solid, dry, die)

    12:04 Разница между Dependency inversion principle и Dependency Injection

    16:15 Оптимизация приложения, тюнинг GC

    20:17 Как гарантированно отправить сообщение от одного сервиса до другого 23:40 Remote Call из транзакции - что делать

    28:28 Фидбек по теоретической части

    30:26 Задача на иерархию Exception

    33:13 Задача на исполнение потоков, synchronize, reentrant locks, volatile

    55:33 Задача написать парсер строки, hashMap

    01:03:06 Как устроена hashMap, работа с коллизиями

    01:09:00 Фидбэк по live code секции

    01:11:05 Финальный фидбэк

    01:12:30 Вопросы от кандидата на собеседовании

    01:24:14 Надо ли middle/senior давать system design на собеседовании

    01:31:10 Сколько этапов собеседований должно быть для senior

    01:35:53 Задача парсинга строки специально провокационная

    01:45:29 Напутствие от Саши

  • #distributedsystems #microservice #softwareengineer #architecture

    Разбор второй главы из книги Distributed Systems, 4th Edition, Maarten van Steen and Andrew Tannenbaum. В рамках этой главы мы обсудили наиболее важные архитектурные стили для распределенных систем Layered architectures, Service-oriented architectures, Publish-subscribe architectures. Так же разобрались в том, что такое Service Oriented Architecture и где она заканчивается и начинаются микросервисы. Еще рассмотрели Publish-subscribe architecture, какие паттерны есть и почему не надо фанатеть от такого подхода.

    Канал с анонсами https://t.me/megdu_skobok

    Ламповый чат https://t.me/backend_megdu_skobkah

    Boosty https://boosty.to/megdu_skobok

    Apple Podcast https://podcasts.apple.com/us/podcast/{-между-скобок-}/id1654695424

    Yandex Music https://music.yandex.ru/album/24060063

    Полезные ссылки

    📖 Шаблоны проектирования микросервисов на примере Авито / Фрол Крючков (Авито) https://youtu.be/5_9x7czHJOM?si=8gbLpBs_2_d6PXUT

    📖 Team Topologies https://teamtopologies.com

    📖 Microservice Architecture https://microservices.io

    📖 Kafka acl или разграничение доступа RuleBAC https://habr.com/ru/articles/706892/

    📖 Mark Richards Layered Architecture https://youtu.be/Y9bKZCYxFuI?si=J7AjFdPAiu5ZA-sn

    Таймкоды

    00:00 Представление ведуших и гостей выпуска - Фроч Крючков и Иван Богатырев.

    04:00 Анонсирование темы выпуска - глава 2, Архитектурные стили. Первый стиль - layered style, слоеная архитектура.

    10:20 Ограничения слоеной архитектуры на примере MVC - когда эта архитектура достигает свого предела.

    16:40 Архитектура как способ управления когнитивной сложностью. Второй стиль - Service Oriented Architecture.

    20:11 Каким должен быть сервис Service Oriented Architecture?

    25:40 Как организовывать авторизацию и контроль доступа в Service Oriented Architecture?

    34:20 Сервисы как способ надежнее масштабировать нагрузку. Как отличить Service Oriented и Microservice Oriented Archotecture?

    42:20 Publish-subsribe architectures. Сценарии коммуникации компонентов системы.

    52:56 Mailbox и shared dataspace подходы к коммуникации компонентов.

    57:40 Подведение итогов по обсужденным темам.

    58:12 Вопросы - Share database/shared dataspace...

  • #distributedsystems #softwareengineer

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

    Канал с анонсами https://t.me/megdu_skobok

    Ламповый чат https://t.me/backend_megdu_skobkah

    Boosty https://boosty.to/megdu_skobok

    YouTube https://youtu.be/2Mve8KnFb5A

    Таймкоды

    00:00 Вступление

    03:18 Предыстория про книжку Distributed Systems05:34 Впечатление от главы

    09:45 Разница между децентрализованной и распределенной системой

    15:13 Существуют ли не распределенные системы

    23:33 Концепции распределенной архитектуры

    35:00 Availability, Reliability, Safety, Maintainability - характеристики распределенных систем

    42:02 Цена распределенности