Forwarded from IT DIVA - Карьера в IT и BigTech
А вот и долгожданный подкаст с Женей 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 после этого видео?
Приятного просмотра:
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 после этого видео?
YouTube
По душам с S0ER: как не написать г*внокод? Правила хорошей архитектуры в IT-проектах любых размеров
Мой Telegram-канал: https://t.iss.one/it_diva_offical
Мое сообщество на Boosty: https://boosty.to/it_diva
[ГОСТЬ]
S0ER-клуб: https://soer.pro
YouTube-канал гостя: https://www.youtube.com/channel/UCe_TcJarfs-HKy3NySy8Kng
Telegram-канал гостя: https://t.iss.one/sof…
Мое сообщество на Boosty: https://boosty.to/it_diva
[ГОСТЬ]
S0ER-клуб: https://soer.pro
YouTube-канал гостя: https://www.youtube.com/channel/UCe_TcJarfs-HKy3NySy8Kng
Telegram-канал гостя: https://t.iss.one/sof…
👍12🔥3🤡1🏆1
Forwarded from Эксплойт
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня у Рунета юбилей — отечественный интернет отмечает 30 лет.
Осторожно: может свести олдскулы от ностальгии.
@exploitex
Осторожно: может свести олдскулы от ностальгии.
@exploitex
👍38🙉9👎3😁3❤2🙏2
Переписывание с нуля 🥷
Опубликовал пост в котором изложил свои мысли про то почему не стоит слепо полагаться на переписывание с нуля. Каждый раз, когда программисты говорят "сделаем из говна и палок, а потом перепишем" создается порочный круг зависимости - один раз сделали плохо, а потом уже некогда делать хорошо.
Опубликовал пост в котором изложил свои мысли про то почему не стоит слепо полагаться на переписывание с нуля. Каждый раз, когда программисты говорят "сделаем из говна и палок, а потом перепишем" создается порочный круг зависимости - один раз сделали плохо, а потом уже некогда делать хорошо.
Please open Telegram to view this post
VIEW IN TELEGRAM
boosty.to
Про переписывание с нуля - SOER CLUB
Решения, которые вы приняли сегодня, определят решения, которые вы примите завтра. В контексте переписывания задачи с нуля, я вспомнаю про Джоэла Спольски. У Джоэла есть замечательная заметка про то, почему переписывание софта с нуля - это зло . Но…
👍29🤔1
еще б развернуть тему когда приходит новый разраб ему когнитивно сложно вникнуть в текущее решение и он бизнес принуждает к "а давайте всё перепишем"
Переписывать или не переписывать - вот в чем вопрос!
👍20🔥5😁5👨💻5
На boosty делаю зеркало записей стримов, размещенных на soer.pro, сегодня перенес запись Инверсия управления и инверсия зависимостей. В видео подробно рассмотрел два эффективных способа управлять сложностью кода - DIP и IOC.
boosty.to
Инверсия управления и инверсия зависимостей - Соер.Клуб
Максимально подробное объяснение идеи инверсии в зависимостях, управлении и т.д.(1 час 06 мин.)
Так же ловите список книг по архитектуре очень часто просят, много раз уже писал про них, но повторить лишним не будет.
boosty.to
Соер.Клуб
Понятие архитектуры программного обеспечения очень размыто. В архитектуру входит и сбор требований, и системный дизайн, и проектирование кода, и многое другое. Я сделал подборку книг, которая поможет вам максимально полно получить представление об архитектуре…
👍34❤5
Forwarded from Рекрутинг, котики и апокалипсис (Кира Кузьменко)
История, которая разблокировала моё воспоминание из юности, когда я также уволилась с одной из первых своих работ 🙈
Просто ушла и не вернулась, и не отвечала на звонки. Просто физически не могла, так сильно выгорела.
До сих пор капец стыдно 🙈
Скажите, что мы с Толиком не одни такие на свете 😅
Просто ушла и не вернулась, и не отвечала на звонки. Просто физически не могла, так сильно выгорела.
До сих пор капец стыдно 🙈
Скажите, что мы с Толиком не одни такие на свете 😅
😁31👍4🤡2🤷♂1🤝1
Задача: в браузере нужно получать Push-сообщения от сервера
Есть два варианта, которые наиболее часто используются для решения:
- WebSockets
- Server-Sent Events (SSE)
Использовать веб-сокеты только для пушей - излишне. Да, в перспективе это может окупиться, но:
- сложно
- долго
- дорого
В то время как SSE легко ляжет поверх имеющихся HTTP-решений, вытащит нужные данные из заголовка (например, авторизационный токен). При разрыве соединения браузер сам его восстановит, да еще сэкономим на ресурсах.
Из ограничений неприятно то, что гоняется только текст, а так же небольшое количество одновременных соединений.
Совет: прежде чем городить огород вокруг сокетов рассмотрите SSE.
#совет #мысли
S0ER | Boosty
Есть два варианта, которые наиболее часто используются для решения:
- WebSockets
- Server-Sent Events (SSE)
Использовать веб-сокеты только для пушей - излишне. Да, в перспективе это может окупиться, но:
- сложно
- долго
- дорого
В то время как SSE легко ляжет поверх имеющихся HTTP-решений, вытащит нужные данные из заголовка (например, авторизационный токен). При разрыве соединения браузер сам его восстановит, да еще сэкономим на ресурсах.
Из ограничений неприятно то, что гоняется только текст, а так же небольшое количество одновременных соединений.
Совет: прежде чем городить огород вокруг сокетов рассмотрите SSE.
#совет #мысли
S0ER | Boosty
👍56🤔11🤡3👀3
Среди архитектурных фреймворков есть "экзотические" экземпляры, например DoDAF (Department of Defense Architecture Framework)
Это полноценный фреймворк для создания больших автоматизированных систем, который имеет хорошо структурированный и продуманный набор ViewPoint-ов, позволяющих рассмотреть систему подробно и всесторонне.
В этом фреймворке так же велика роль проектного подхода на основе моделей.
Если интересуетесь темой энтерпрайз архитектуры, то обязательно посмотрите на этот фреймворк, помогает поставить многие вещи на место.
#теория #архитектура #фреймворк
S0ER | Boosty
Это полноценный фреймворк для создания больших автоматизированных систем, который имеет хорошо структурированный и продуманный набор ViewPoint-ов, позволяющих рассмотреть систему подробно и всесторонне.
В этом фреймворке так же велика роль проектного подхода на основе моделей.
Если интересуетесь темой энтерпрайз архитектуры, то обязательно посмотрите на этот фреймворк, помогает поставить многие вещи на место.
#теория #архитектура #фреймворк
S0ER | Boosty
Visual-Paradigm
What is DoDAF Framework
Free DoDAF Guide with comprehensive DoDAF software. Learn what DodAF is.Create architectural views in a poewrful DoDAF software.
👍11🤡4🤔1 1
Яндекс открыл YandexART API для генерации картинок по текстовому описанию. Эта сетка используется в Шедеврум и дает весьма неплохие результаты. Молодцы!
🔥32🤔5🤡4👍3👏1
Два подхода к разработке программного обеспечения
В мире разработки программного обеспечения существует два основных подхода к организации работы над проектами. Каждый из них имеет свои преимущества и недостатки, и выбор между ними зависит от конкретных требований проекта.
Первый подход заключается в том, что каждый член команды разрабатывает свою небольшую часть кода, а затем они объединяют свои усилия для создания конечного продукта. Этот подход часто используется при работе над сложными проектами, где большая доменная область и жесткие связи между задачами.
В этом случае основная нагрузка ложится на архитекторов и техлидов, потому что требуется большое количество координационных действий. Это роняет КПД, но позволяет решить проблему сложности.
Второй подход предполагает разделение проекта на несколько независимых проектов (например, как это делается в Яндексе). Каждый проект имеет своего руководителя и команду разработчиков, которые работают над своей частью кода. Такой подход позволяет лучше контролировать процесс разработки и уменьшить вероятность ошибок.
Такое решение в случае если у вас есть независимые задачи, которые не завязаны друг на друга или задачи которые могут функционировать как сервис. Во втором случае за счет внешних API возможно комплексировать независимые проекты для создания производных продуктов.
Какой из этих подходов выбрать зависит от конкретной ситуации. Если у вас есть большой проект со сложной структурой данных и множеством взаимосвязанных компонентов, то лучше использовать первый подход. Если же ваш проект состоит из нескольких небольших частей (сервисов), то второй подход будет более эффективным.
#мысли
S0ER | Boosty
В мире разработки программного обеспечения существует два основных подхода к организации работы над проектами. Каждый из них имеет свои преимущества и недостатки, и выбор между ними зависит от конкретных требований проекта.
Первый подход заключается в том, что каждый член команды разрабатывает свою небольшую часть кода, а затем они объединяют свои усилия для создания конечного продукта. Этот подход часто используется при работе над сложными проектами, где большая доменная область и жесткие связи между задачами.
В этом случае основная нагрузка ложится на архитекторов и техлидов, потому что требуется большое количество координационных действий. Это роняет КПД, но позволяет решить проблему сложности.
Второй подход предполагает разделение проекта на несколько независимых проектов (например, как это делается в Яндексе). Каждый проект имеет своего руководителя и команду разработчиков, которые работают над своей частью кода. Такой подход позволяет лучше контролировать процесс разработки и уменьшить вероятность ошибок.
Такое решение в случае если у вас есть независимые задачи, которые не завязаны друг на друга или задачи которые могут функционировать как сервис. Во втором случае за счет внешних API возможно комплексировать независимые проекты для создания производных продуктов.
Какой из этих подходов выбрать зависит от конкретной ситуации. Если у вас есть большой проект со сложной структурой данных и множеством взаимосвязанных компонентов, то лучше использовать первый подход. Если же ваш проект состоит из нескольких небольших частей (сервисов), то второй подход будет более эффективным.
#мысли
S0ER | Boosty
👍19🤡7❤2🤔1 1
Forwarded from SOER.Чат (《《《)
Первый подход - это задачи с транзакциями, когда у нас жесткие нефункциональные требования по согласованности и быстродействию, второй - это согласованность в конечном итоге (eventual consistency).
Это пример, но не единственный, следует из текста. Могу допустить что смысл передан не очень, но подходы принципиально разные.
Понятно, что и в том, и другом случае будет применяться "разделяй и властвуй", но принципиально тут именно логика и взаимодействие данных
Это пример, но не единственный, следует из текста. Могу допустить что смысл передан не очень, но подходы принципиально разные.
Понятно, что и в том, и другом случае будет применяться "разделяй и властвуй", но принципиально тут именно логика и взаимодействие данных
👍3🤡3 1
На boosty делаю зеркало записей стримов, размещенных на soer.pro, сегодня перенес запись Архитектурные границы и зависимости. В видео подробно рассмотрел самый главный момент любой архитектуры - границы на уровне кода.
boosty.to
Архитектурные границы и зависимости - Соер.Клуб
Подробное обсуждение архитектурных границ приложения (1 час 01 мин.)
🔥13🤡5👍4 1
Expand - Migrate - Contract
Это золотое правило сопровождения кода.
Expand - значит добавляем новые методы, а не меняем старые.
Migrate - помечаем старые (ненужные) методы как deprecated
Contract - спустя время убираем deprecated методы и фиксируем интерфейс
Подробнее - https://kaito.hashnode.dev/parallel-change-with-example
#знания
S0ER | Boosty
Это золотое правило сопровождения кода.
Expand - значит добавляем новые методы, а не меняем старые.
Migrate - помечаем старые (ненужные) методы как deprecated
Contract - спустя время убираем deprecated методы и фиксируем интерфейс
Подробнее - https://kaito.hashnode.dev/parallel-change-with-example
#знания
S0ER | Boosty
👍48🤡4 2❤1 1
Хочу добавить кастомные реакции для канала, для этого надо собрать 46 boost-ов
Буду благодарен, если поддержите -https://t.iss.one/boost/softwareengineervlog
А если не поддержите, то отключимгаз и воду реакции 🤡 и ...
Буду благодарен, если поддержите -https://t.iss.one/boost/softwareengineervlog
А если не поддержите, то отключим
Telegram
S0ER
Проголосуйте за канал, чтобы он получил больше возможностей.
🤡97👍16 12😁3 3🤔2🤩1👀1🫡1
Заметили как много стало книг, видео, статей по архитектуре?
Переход от машинного кода и ассемблера к языкам высокого уровня длился около 20лет.
В 40-е годы 20-го века появился ассемблер, в середине 50-х появился Фортран, а настоящий лидер, который до сих пор живее всех живых, появился в конце 60-х и это был язык Си.
В те же годы появились концепции функционального и структурного программирования. Позже к ним присоединилось ООП. С годами сами концепции усложнялись и развивались, но мы всегда находились в рамках языков высокого уровня.
Сейчас наступила эра ИИ, в основном генеративных сетей разных направленностей. Перед ними не стоит ограничений, свойственных человеку. Поэтому привычная грануляция на уровне классов, функций и абстракций (интерфейсов) для ИИ может выглядеть совершенно иначе.
Языки высокого уровня по-прежнему нужны, ведь человеку без них трудно понять, что делает программа, а самое главное делает ли она все правильно.
Однако для описания задачи генеративным сетям сам по себе язык высокого уровня уже не требуется. Вместо него нужно составить промпт, который позволит получить наиболее точный результат. А для этого нужно продумывать не детали, а высокие архитектурные абстракции.
Поэтому сейчас все сильнее формируется тренд на изучение архитектуры, думаю, что со временем это станет основным фокусом внимания для всех разработчиков, а языки высокого уровня нужны будут только для верификации результата.
#мнение
Переход от машинного кода и ассемблера к языкам высокого уровня длился около 20лет.
В 40-е годы 20-го века появился ассемблер, в середине 50-х появился Фортран, а настоящий лидер, который до сих пор живее всех живых, появился в конце 60-х и это был язык Си.
В те же годы появились концепции функционального и структурного программирования. Позже к ним присоединилось ООП. С годами сами концепции усложнялись и развивались, но мы всегда находились в рамках языков высокого уровня.
Сейчас наступила эра ИИ, в основном генеративных сетей разных направленностей. Перед ними не стоит ограничений, свойственных человеку. Поэтому привычная грануляция на уровне классов, функций и абстракций (интерфейсов) для ИИ может выглядеть совершенно иначе.
Языки высокого уровня по-прежнему нужны, ведь человеку без них трудно понять, что делает программа, а самое главное делает ли она все правильно.
Однако для описания задачи генеративным сетям сам по себе язык высокого уровня уже не требуется. Вместо него нужно составить промпт, который позволит получить наиболее точный результат. А для этого нужно продумывать не детали, а высокие архитектурные абстракции.
Поэтому сейчас все сильнее формируется тренд на изучение архитектуры, думаю, что со временем это станет основным фокусом внимания для всех разработчиков, а языки высокого уровня нужны будут только для верификации результата.
#мнение
👍33 28🤔9🗿5🤡4 3 2
Чтобы стимулировать технические обсуждения в чате канала, я ввожу систему рейтингов и ограничений:
- 5ти минутный интервал на отправку сообщений
- тем кто пишет содержательные комментарии ограничения отменяются
- те кто пишет комментарии с полезными дополнениями, и тем самым вносит вклад в развитие сообщества, дарятся звезды ☆ чем больше вклад, тем больше звёзд. Кто набирает 5 звёзд, получает приглашение в Соер клуб
Так я надеюсь мотивировать людей к тематическому общению.
- 5ти минутный интервал на отправку сообщений
- тем кто пишет содержательные комментарии ограничения отменяются
- те кто пишет комментарии с полезными дополнениями, и тем самым вносит вклад в развитие сообщества, дарятся звезды ☆ чем больше вклад, тем больше звёзд. Кто набирает 5 звёзд, получает приглашение в Соер клуб
Так я надеюсь мотивировать людей к тематическому общению.
👍83🤡24🔥10😁4 4 2 2💩1👨💻1🆒1
Какой стек вы используете и почему?
Давайте сегодня поговорим о технических стеках, которые вы используете в работе?
Расскажите почему именно такой стек, что нравится, есть ли желание пробовать другие технологии, если да, то какие?
Пишите хорошие коммертари - набирайте звезды ☆ и получайте приглашения в соер.клуб
Давайте сегодня поговорим о технических стеках, которые вы используете в работе?
Расскажите почему именно такой стек, что нравится, есть ли желание пробовать другие технологии, если да, то какие?