10.9K subscribers
331 photos
17 videos
15 files
714 links
Архитектура | Программирование | Профессиональное развитие

Live канал - https://t.iss.one/soer_live

SOER CLUB - https://soer.pro или https://boosty.to/s0er

Бусты - https://t.iss.one/boost/softwareengineervlog

№ 5101661084
Download Telegram
А вот и долгожданный подкаст с Женей S0ER про архитектуру.
Приятного просмотра:
https://youtu.be/Lx45YDD4xAc?si=eanH3I9VuTt5-kUC

[ТАЙМКОДЫ]
00:00:00 - Что будет в этом выпуске
00:01:27 - Знакомимся с гостем: кто такой S0ER, какой у него опыт в разработке и архитектуре?
00:08:40 - Сколько зарабатывает архитектор программного обеспечения (ПО)?
00:10:00 - Почему S0ER отказался от работы архитектором ПО? Минусы в работе опытного архитектора
00:14:34 - Как зарабатывать на консультациях по архитектуре для компаний?
00:18:09 - Как провести архитектурный аудит в проекте и в каких случаях он нужен?
00:25:00 - Какую задачу решает выстраивание архитектуры?
00:27:50 - Откуда приходят клиенты на архитектурный аудит?
00:28:17 - Нужно ли винить архитектуру в проблемах при разработке?
00:30:43 - Что входит в понятие "архитектура"? Какие уровни архитектуры существуют и как их различать? Зачем заботиться об архитектуре?
00:39:29 - Что такое "хорошая архитектура"? Есть ли универсальная архитектура, которая подойдет всем проектам?
00:42:49 - Как не написать говнокод? Как отличить хорошую архитектуру от плохой? На что обратить внимание при написании кода?
00:47:58 - С чего начинать погружение в архитектуру Junior-разработчику?
00:50:12 - Как развитие ИИ повлияет на работу нового поколения разработчиков?
00:58:07 - Какие разработчики будут всегда востребованы на рынке?
00:58:56 - С чего начинать погружение в архитектуру Middle-разработчику? Нужно ли изучать паттерны и стили проектирования?
01:04:39 - Какие шаблоны и стили проектирования полезно знать всем?
01:11:56 - Какие проблемы в архитектуре и процессах встречаются в стартапах и как их решать?
01:21:00 - Когда стартапам пора думать про решение вопросов на уровне архитектуры?
01:28:57 - Какие проблемы в архитектуре и процессах встречаются в компаниях средних размеров и как их решать?
01:35:15 - В каких проектах интереснее всего работать разработчику и при этом есть больше возможностей для развития?
01:36:40 - Как понять, какую нагрузку выдержит проект и подготовиться к масштабированию проекта?
01:40:27 - Зачем разработчикам, техлидам, тимлидам, CTO выстраивать стратегию по улучшению архитектуры и инфраструктуры проекта?
01:50:12 - Какие проблемы в архитектуре и процессах встречаются в крупных корпорациях и как их решать?
01:54:06 - Краткие итоги по архитектуре проектов в компаниях разных размеров
01:57:11 - Какие книги и видео стоит посмотреть после этого интервью?
01:57:44 - Советы от S0ER и меня для тех, кто хочет развиваться в IT, разработке и архитектуре
02:02:05 - Где можно получить еще больше пользы от S0ER после этого видео?
👍12🔥3🤡1🏆1
Forwarded from Эксплойт
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня у Рунета юбилей — отечественный интернет отмечает 30 лет.

Осторожно: может свести олдскулы от ностальгии.

@exploitex
👍38🙉9👎3😁32🙏2
Переписывание с нуля 🥷

Опубликовал пост в котором изложил свои мысли про то почему не стоит слепо полагаться на переписывание с нуля. Каждый раз, когда программисты говорят "сделаем из говна и палок, а потом перепишем" создается порочный круг зависимости - один раз сделали плохо, а потом уже некогда делать хорошо.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29🤔1
еще б развернуть тему когда приходит новый разраб ему когнитивно сложно вникнуть в текущее решение и он бизнес принуждает к "а давайте всё перепишем"


Переписывать или не переписывать - вот в чем вопрос!
👍20🔥5😁5👨‍💻5
Если вы хотите позвать меня на подкаст, выступление на онлайн/оффлайн конференции, то смело пишите на @soerdev
👌10😐5👾1
На boosty делаю зеркало записей стримов, размещенных на soer.pro, сегодня перенес запись Инверсия управления и инверсия зависимостей. В видео подробно рассмотрел два эффективных способа управлять сложностью кода - DIP и IOC.
История, которая разблокировала моё воспоминание из юности, когда я также уволилась с одной из первых своих работ 🙈

Просто ушла и не вернулась, и не отвечала на звонки. Просто физически не могла, так сильно выгорела.

До сих пор капец стыдно 🙈

Скажите, что мы с Толиком не одни такие на свете 😅
😁31👍4🤡2🤷‍♂1🤝1
Задача: в браузере нужно получать Push-сообщения от сервера

Есть два варианта, которые наиболее часто используются для решения:

- WebSockets
- Server-Sent Events (SSE)

Использовать веб-сокеты только для пушей - излишне. Да, в перспективе это может окупиться, но:

- сложно
- долго
- дорого

В то время как SSE легко ляжет поверх имеющихся HTTP-решений, вытащит нужные данные из заголовка (например, авторизационный токен). При разрыве соединения браузер сам его восстановит, да еще сэкономим на ресурсах.

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

Совет: прежде чем городить огород вокруг сокетов рассмотрите SSE.

#совет #мысли

S0ER | Boosty
👍56🤔11🤡3👀3
Среди архитектурных фреймворков есть "экзотические" экземпляры, например DoDAF (Department of Defense Architecture Framework)

Это полноценный фреймворк для создания больших автоматизированных систем, который имеет хорошо структурированный и продуманный набор ViewPoint-ов, позволяющих рассмотреть систему подробно и всесторонне.

В этом фреймворке так же велика роль проектного подхода на основе моделей.

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

#теория #архитектура #фреймворк
S0ER | Boosty
👍11🤡4🤔11
Яндекс открыл YandexART API для генерации картинок по текстовому описанию. Эта сетка используется в Шедеврум и дает весьма неплохие результаты. Молодцы!
🔥32🤔5🤡4👍3👏1
Два подхода к разработке программного обеспечения

В мире разработки программного обеспечения существует два основных подхода к организации работы над проектами. Каждый из них имеет свои преимущества и недостатки, и выбор между ними зависит от конкретных требований проекта.

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

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

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

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

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

#мысли

S0ER | Boosty
👍19🤡72🤔11
Forwarded from SOER.Чат (《《《)
Первый подход - это задачи с транзакциями, когда у нас жесткие нефункциональные требования по согласованности и быстродействию, второй - это согласованность в конечном итоге (eventual consistency).
Это пример, но не единственный, следует из текста. Могу допустить что смысл передан не очень, но подходы принципиально разные.
Понятно, что и в том, и другом случае будет применяться "разделяй и властвуй", но принципиально тут именно логика и взаимодействие данных
👍3🤡31
На boosty делаю зеркало записей стримов, размещенных на soer.pro, сегодня перенес запись Архитектурные границы и зависимости. В видео подробно рассмотрел самый главный момент любой архитектуры - границы на уровне кода.
🔥13🤡5👍41
Expand - Migrate - Contract

Это золотое правило сопровождения кода.

Expand - значит добавляем новые методы, а не меняем старые.

Migrate - помечаем старые (ненужные) методы как deprecated

Contract - спустя время убираем deprecated методы и фиксируем интерфейс

Подробнее - https://kaito.hashnode.dev/parallel-change-with-example

#знания

S0ER | Boosty
👍48🤡4211
Хочу добавить кастомные реакции для канала, для этого надо собрать 46 boost-ов
Буду благодарен, если поддержите -https://t.iss.one/boost/softwareengineervlog

А если не поддержите, то отключим газ и воду реакции 🤡 и ...
🤡97👍1612😁33🤔2🤩1👀1🫡1