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
Среди архитектурных фреймворков есть "экзотические" экземпляры, например 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
Заметили как много стало книг, видео, статей по архитектуре?

Переход от машинного кода и ассемблера к языкам высокого уровня длился около 20лет.

В 40-е годы 20-го века появился ассемблер, в середине 50-х появился Фортран, а настоящий лидер, который до сих пор живее всех живых, появился в конце 60-х и это был язык Си.

В те же годы появились концепции функционального и структурного программирования. Позже к ним присоединилось ООП. С годами сами концепции усложнялись и развивались, но мы всегда находились в рамках языков высокого уровня.

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

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

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

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

#мнение
👍3328🤔9🗿5🤡432
Чтобы стимулировать технические обсуждения в чате канала, я ввожу систему рейтингов и ограничений:

- 5ти минутный интервал на отправку сообщений

- тем кто пишет содержательные комментарии ограничения отменяются

- те кто пишет комментарии с полезными дополнениями, и тем самым вносит вклад в развитие сообщества, дарятся звезды ☆ чем больше вклад, тем больше звёзд. Кто набирает 5 звёзд, получает приглашение в Соер клуб

Так я надеюсь мотивировать людей к тематическому общению.
👍83🤡24🔥10😁4422💩1👨‍💻1🆒1
Какой стек вы используете и почему?

Давайте сегодня поговорим о технических стеках, которые вы используете в работе?

Расскажите почему именно такой стек, что нравится, есть ли желание пробовать другие технологии, если да, то какие?

Пишите хорошие коммертари - набирайте звезды ☆ и получайте приглашения в соер.клуб
24🤡16🔥331
Forwarded from ser rtr
Всем привет, вопрос философский) для реализации контроля состояния данных лучше использовать бд или списки в redis? Особенность этого торжества такова что для каждого из этапа обработки данных нужно сохранять какие-то методанные, и вот что бы не расширять модель данных можно по идее создать таблицу которая будет представлять собой некий пулл в котором будет сохраняться на время запись о состоянии когда состояние изменилось(данные перешли в другую таблицу)  запись удаляется из первоначальной. На сколько такой вариант имеет место быть в реальности
🤓9🤔5
Live stream started
Live stream finished (59 minutes)
15
SOER: IT, AI, программирование
Пятничный техток
- подводим итоги недели
- размышляем про возможности ИИ
1412🔥3🤡3🤔2😍11
Интересно еще как по-твоему появление и развитие LLM поменяет текущее образование инженеров, многое из программы можно будет выкинуть?


1. Образовательная программа будет только расти.

2. Давайте подумаем, что можно выкинуть? Комбинаторику, мат. логику, электотехнику, историю, философию и т.д.? Мне кажется, что выкинуть ничего нельзя.

3. Образование - это не формат "что мне надо для того чтобы красить кнопки", это формат "что мне надо чтобы научиться мыслить". Если рассмотреть наш мозг как нейронную сеть, то чем больше обучающая выборка, чем разнообразные, тем сильнее возможности.

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

Что-то безусловно уберут из программы предметов, но меньше часов не станет, их просто отдадут новым лекциям.

S0ER
👍446🔥4😐33🤡221
Как качаться до архитектора?

Плюшки архитектора ПО:
- интересные аналитические задачи
- управление командой разрабов
- высокая зарплатная вилка (согласно HH 350-600 тыс. рублей, при хантинге 500 тыс. - 1 млн. рублей)
- входят в кадровый резерв компании

Какие цели поставить, чтобы вырасти до этой должности (стратегия)

- держать высокий темп развития:
а) повышать "ступеньку" текущей должности не реже одного раза в два года (2 года - мидл, еще 2 года - сеньер, смена компании на более "крутую", снова рост)
б) повышать уровень компании (цель ААА компании), так же не реже одного раза за два года
в) публичные выступления на технические темы (не реже 1-2 раза в год)
г) повышение квалификации (желательно за счет компании на сертифицированных курсах)

- выбрать стек:
а) выбрать технический стек, желательно энтерпрайз направления
б) выбрать бизнес-область (например, одно из: финтех, торговые площадки, медицина, САПР и т.д.) и не хвататься за все подряд
в) фокусироваться на стеке, но не бояться его сменить в случае необходимости
г) стек должен охватывать - обработку и хранение данных, бизнес-логику и уровень представления (UI)
д) отслеживайте "новинки" индустрии

- ставка на нетворкинг и репутацию
а) быть заметным, это значит - помогать коллегам, искать свои сильные стороны, продвигать свои идеи и т.д.
б) не пользоваться сомнительными методами продвижения, даже если очень хочется, даже если это поможет быстро получить бонус прямо сейчас, на дистанции это может сильно все осложнить
в) софт скилы (избито, но важно)
г) представьте, что вы выступаете на конференции, подумайте какую краткую характеристику вы себе дадите. Хорошо если у вас будет сильные понятные достижения, плохо если все что можете о себе сказать - "у меня 5 лет опыта".
д) собирайте контакты людей и компаний где они работают, участвуйте в сильных сообществах

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

- сильные стороны
а) нужно добиться чтобы вас приглашали на работу, а не вы искали ее
б) нужно уметь точно сказать чем ваши знания помогут бизнесу
в) не боятся говорить о сильных сторонах
г) сделать ставку на технические скилы (архитекторы всегда сильные технари)

Если есть вопросы задавайте в комментариях, надеюсь данные пункты помогут осмыслить свое положение на рынке

#совет #карьера
👍77933🔥2🤡21🥰1🤔1🫡1
Где получать знания необходимые для работы архитектора? Правильно ли я понимаю, что архитектор как минимум должен быть Senior Fullstack разработчиком?


1. Да, fullstack лучше для архитектора. Если что-то одно, то тогда бэк. Из фронтенда в архитекторы - очень сложно

2. Где брать знания.
а) рабочие проекты и общение с архитектрами в рамках решения своих задач
б) видео и конференции, например мне нравятся ребята из проекта "между скобок", там много годных мыслей и практических моментов
в) книги
г) изучение фреймворков по архитектуре и различных специализированных решений (c4, bpmn, itil и т.д.)
👍421