Соер.Клуб | Практика сервисной архитектуры
1.06K subscribers
164 photos
21 videos
1 file
206 links
Соер.Клуб - сообщество инженеров, в котором помогают качать технические знания и навыки

Наша LMS - soer.pro
Download Telegram
Единственное, на что стоит обращать внимание любому специалисту, — способность решать практические задачи. Сложность задач растет — отлично, вы решаете поставленные задачи — отлично. Но как только возникла демагогия, что «а вот это я бы сделал лучше, потому что я лучше знаю, я лучше умею», то остановитесь, это уже не путь инженера, это заведет вас в тупик.

Другая опасная ситуация — это попытки преувеличить собственные результаты, тут тоже нет ничего хорошего. Если вы решаете задачи, которые точно так же решает ChatGPT, то это значит, что вы тратите свою жизнь впустую. Лучше решать задачи, которые позволят двигаться вперед и которые обеспечат вас рабочим местом и перспективой развития.

Критика — это хорошо, но только если она носит практический характер, это легко увидеть по структуре предложения: «Здесь плохо потому, что ...», «Если сделать вот так, то станет лучше по следующим характеристикам ...», если это критика личного характера, то в топку такую критику, не надо даже пытаться тратить время на попытки понять, есть ли там какая-то мысль или очередной хейтер пытается самоутвердиться за ваш счет.

Теория ради теории хороша только в интернет-спорах, на деле бизнес хочет специалиста, который действует разумно, не срывает сроки, не вносит больше хаоса, чем было до него.
15🔥8💯3🙏2👍1
Сегодня попробовал задать DeepSeek каверзный вопрос по дизассемблированию двух наборов опкодов:

66 05 01 00

66 83 c0 01

На этот вопрос обычно не могут ответить даже те, кто хорошо знает ассемблер. Подвох в том, что второй набор использует групповую арифметику и там нужно разбивать значение на группы битов, а потом нужно понять, какой набор битов что значит. С первым всё проще, так как каждый опкод несет смысловую нагрузку, нужно только немного знать про little endian.

То, что трудно для человека, оказалось очень просто для ИИ, в результате я получил исчерпывающий ответ и даже немного расстроился. Обидно, когда какая-то железка делает на изи то, что для тебя довольно сложно, даже зная, что и как посчитать, всё равно для человека это трудно.
13🤡8💯3🔥2🙏1
SOER.Чат
Здравствуйте!
Подскажите, с чего лучше начинать изучать "архитектуру" построения приложений?

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

Имеет ли смысл на данном этапе изучать паттерны или есть какие-то более важные фундаментальные вещи?
Если только начал, то паттерны стоит отложить на потом, начать нужно с базовых концепций:

👑 Low Coupling/High Cohesion

👑 Закон Деметры (или "не разговаривай с чужаками)

👑 Разобраться с устойчивостью клссов (это хорошо описано в чистой архитетуре)

👑 Разобраться с RFC (Response For a Class) — количество методов, которые могут быть вызваны в ответ на один запрос к классу.

👑 Fan-In / Fan-Out
- Fan-In: сколько классов используют данный класс
- Fan-Out: сколько классов использует данный класс

Эти принципы помогают делать маленькие, гибкие классы. При этом можно начать с анализа того что уже написано, а потом писать новые небольшие приложения, желательно не зависать на одном и том же коде, а брать разные темы и писать с нуля. Потому что иначе глаз быстро замыливается и прогресс теряяется.
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥43💯1
Есть известная фраза «Преждевременная оптимизация — корень всех зол». Современные программисты используют эту фразу в качестве индульгенции своего невежества. Многие знают, что фраза принадлежит Дональду Кнуту — известному компьютерному учёному, автору монументального труда «Искусство программирования» (The Art of Computer Programming).

Но мало кто знает контекст и изначальный посыл этой фразы, на самом деле в 1974 году Кнут написал статью «Structured Programming with go to Statements», где сказал:

«Программисты тратят колоссальное время на размышления и беспокойство о скорости некритичных частей своих программ, и эти попытки повысить эффективность на самом деле оказывают сильное негативное влияние при отладке и поддержке. Мы должны забыть о мелких оптимизациях, скажем, в 97% случаев, потому что преждевременная оптимизация — корень всех зол. И всё же наше внимание к этим критичным 3% не должно ослабевать.»
🔥12🤡4👍3💯33
Любую проблему можно решить введением дополнительного уровня абстракции, кроме одной — слишком большого количества уровней абстракции.


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

Хуже становится, только если особо гениальный ум скажет: «Так переменная — это и есть идентификатор», сразу становится понятно, что человек не понимает разницы между семантикой языка программирования и его синтаксисом. Для многих открытие, что переменная и идентификатор — это термины, которые существуют на разных уровнях абстракции. Да чего там, сам факт, что в программировании - всё есть абстракции, выглядит для человека как непосильная для осмысления и анализа мысль.

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

Когда уместно говорить «идентификатор», когда «переменная»? В случаях, когда речь идет о синтаксисе языка, можно говорить «идентификатор», а можно «имя переменной», что есть одно и то же, но когда речь идет об алгоритме, то правильно говорить «переменная».

Надеюсь, мое объяснение поможет лучше разобраться и не использовать термины не по назначению.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍98🔥7😁21
Не очень понимаю почему новость о том, что минцифры продвигает инициативу по проверке опыта и образования соискателей так взбудоражила людей, сегодня мир быстро меняется, поэтому я бы больше беспокоился, о том что в перспективе 5 лет популярные сегодня стеки разработки будут ненужны, а тем кто занимается фронтендом придётся либо на мороз, либо придумывать что-то ещё.
💯8👍2👎22🔥1
На выходных погонял DeepSeek с задачей по сборке кубика Рубика, причём сначала я проверил, что ИИ понимает в какой структуре хранить данные, а так же правильно делает типовые преобразования с привычными обозначениями - U, R, U', R' и тому подобные.
Потом начал давать структуры только с одним, двумя, тремя изменениями, а ИИ должен был выдать набор шагов для сборки кубика Рубика в исходное состояние.
По итогу, несмотря на то, что преобразования делались правильно, чат не смог выдать оптимальный вариант. Например, даже когда нужно было сделать лишь один поворот, DeepSeek все равно использовал популярныйалгоритм Фридрих кучей поворотов. Так что с одной стороны задача решалась, а с другой оптимальный вариант найден не был.
10🔥3👍1👎1
Внемлите, доблестные!

Третьего дня свет увидела наша новая Сага, которая повествует о примирении Воителя и его пути в бесконечном сражении. Это вторая часть из цикла о Карающем и его судьбе.

Кто уже успел послушать? Делитесь впечатлениями!

На всех платформах: bnd.lc/putklinka

#музыка@official_ergoth
#новое@official_ergoth
👍4🔥2🎉2👎1
Интересный факт - 58% работодателей отмечают, что на рынке стало сложно нанимать квалифицированных специалистов, при этом "джунов" очень много - десятки резюме на место (я так понимаю это релевантные должностям резюме, потому что откликов значительно больше). На позиции сеньерского уровня 2-3 резюме.

Эта ситуация стремительно ухудшается для джунов и улучшается для специалистов с хорошими хардами.

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

На таком рынке делать ставку на фронтенд очень опасно, во-первых это профессиональный тупик, так как с фронтендеры имеют очень специфический стек, во-вторых, это самая лёгкая для ИИ цель.
Нужно править свою карьерную стратегию в сторону архитектуры, причём на уровне приложения или системы.

Я думаю, что любой, кто озаботится своим будущим сейчас, вполне успеет качнуть смежные скилы и выйти на более комфортный рынок.
💯11👍7👎75👌1
Отличный доклад о том как строить солюшн архитектуру, хотя название про стоимость, но по факту не об этом.
По сути автор объясняет, что solution архитектура это направление архитектуры, которое помогает внедрять изменения более короткими итерациями с идей интеграции всего со всем. 👇👇👇
👍72🔥1
Раньше можно было быть просто фронтендером или тестировщиком и жить спокойно. Сейчас так не работает — все хотят универсалов, которые умеют и код писать, и в облаках разбираться, и с ИИ работать.

Часть людей по привычке хватается за соломинку, мол: "Всё равно ваш ИИ не сможет сделать так же круто и чётко, как я" 🙅‍♂️. Но это, конечно, тупиковый путь мышления. ИИ не "заменит", а вытеснит специалистов, которые ограничены своими замкнутыми стеками .

Может, внешне ситуация кажется похожей, но если вдуматься:
- "Заменит" — значит, будет иметь такую же функциональность, делать что-то похожее.
На самом деле процесс изменится — он станет более подходящим для ИИ, а не для человека.

Поэтому подстраиваться придётся нам с вами 💪. А это значит — надо активно осваивать гибридные области, чтобы оперативно реагировать на изменения рынка 🔥💡.
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍8🔥3💯3😁2
Многие айтишники ищут более престижные места работы или хотят повышения на текущем месте, но задайте себе вопрос "почему именно вы достойны повышения или нового места работы?".

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

Те, кто хочет добиться высокой должности, делают свою ставку на нетворкинг 💡, публичный бренд 💡, OpenSource 💡 и т.д. Все это делается с единственной целью - выделиться на фоне других, чтобы получить более выгодные предложения.

Самая большая ошибка - думать, что если вы хорошо решаете рабочие задачи, то вас заметят и повысят, это 100% не работает, потому что человек который отлично справляется со своими задачами и не проявляет интереса к смежным областям, по мнению работодателя, находится на своём месте.

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

👑 Поэтому для карьерного роста важно развиваться не только "в глубину", но и продвигать себя как специалиста на рынке.

👑 важно отслеживать те требования и тренды, которые возникают в индустрии и своевременно корректировать свои знания.

Тогда шансы на успех в построении карьеры сильно возрастают.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍114👎3💯2
Может слегка цинично, но все мы продаём себя на рынке, и лучше продаётся тот "товар", который завернут в красивую упаковку. Иногда, упаковка решает больше, чем содержание.

Подумайте об этом!
👍174👎3💯21
Написал статью Личные метрики. Мощный гайд о том, как перестать страдать «достигаторством» и начать планомерно оценивать свои результаты и двигаться к поставленным целям. Всем, кто не знает, как оценить свои возможности, рекомендую прочитать статью «Личные метрики».

💡 Доступно только для подписчиков "Stream".
Please open Telegram to view this post
VIEW IN TELEGRAM
👍95💯1
Мы постоянно сталкиваемся с метриками, которые помогают нам оценить наши достижения, отследить прогресс и в целом понять, верно ли мы двигаемся.

Есть известная фраза: «Если вы не можете измерить это, вы не можете улучшить это». Обычно людям трудно измерить мотивацию, уровень знания, уверенность в собственных силах и тому подобные вещи. Поэтому я хочу поделиться с вами теми идеями и подходами, которые использую для себя. Вы можете модифицировать мою систему под себя и начать измерять свои достижения.
👍7🔥42
Из опроса выше я могу предположить, что значительная часть нашего сообщества редко выходит на рынок в поиске новой работы. Такое положение дел может быть следствием многих причин, поэтому для полноты картины хочу запустить еще один опрос. Было бы здорово узнать больше подробностей.
👌1
В опросе можно выбрать больше одного варианта 👆👆👆