Hard&Soft Skills – Telegram
Hard&Soft Skills
4.96K subscribers
726 photos
10 videos
3 files
516 links
Центр экспертизы для опытных инженеров и архитекторов в IT
https://hardsoftskills.dev

Курсы:
Технический лидер
Solution Architect
CTO Starter Pack

Участвуйте в мероприятиях
https://hardsoftskills.dev/calendar

Чат: @chathardsoftskills
Download Telegram
PCM Visual Table.jpg
284.8 KB
Файл для зрителей Трепа 👆
🎙 Career Navigator for Seniors на связи

Мы продолжаем вместе с вами готовиться к собеседованиям и искать свою лучшую работу, поэтому сегодня в 19.00 по GMT+3 встречаемся с опытным HRD Андреем Журавлевым узнать:

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

Скорее регистрируйтесь и приходите. Всех ждем 🙌
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤‍🔥1
👀 Друзья, готовим для вас очередной полезный ивент про карьеру и подготовку к собеседованиям, ответьте пожалуйста, на один вопрос:

В какой компании/-ях мечты вы бы хотели работать?

Можно прямо в комментариях к этому посту 👇
Или анонимно в гугл форме

Самые популярные компании среди ответов разберем на Карьерном Навигаторе с Анной Писаревой 3 августа.

PS. Видеозапись вчерашнего Карьерного Навигатора с Андреем Журавлевым уже на нашем ютубе. Встреча была огонь🔥, классного всем просмотра!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
Что делать, когда бэклог переполняется техдолгом?

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

Все эти “мелкие” и “небизнесовые” задачи – технический долг. Работа с техдолгом – это баланс между краткосрочными целями бизнеса и его выживанием в долгосрочной перспективе.

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

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

🔺 Выделить спринт или несколько исключительно для задач по техдолгу.
🔺 Создать роль “дежурного”, который будет закрывать небизнесовые задачи. Передавать эту роль между членами команды раз в день/неделю/спринт.
🔺 Создать maintenance team, задача которой – исправление багов, рефакторинг и выполнение “общих” задач.

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

▫️ Донести до product owner-а или других представителей бизнеса, что нельзя бесконечно откладывать рефакторинг и создание качественной документации. Выделять 20-30% спринта на задачи по техдолгу.
🔹 Повышать квалификацию сотрудников и развивать культуру разработки. Члены команды, чьи ошибки приходится исправлять, должны, как минимум, знать об этом и стараться не повторять их.
▫️ По возможности автоматизировать проверку кода – линтеры, авто-тесты в CI/CD пайплайне и т.д. Так промежуток времени между созданием техдолга и его исправлением существенно уменьшится.

Планирование задач команды вместе с PO – функция тимлида, с которой начинающие руководители часто испытывают трудности. Нахождение баланса между потребностями бизнеса и техдолгом – одна из тем в программе курса [Team Leadership]. Старт курса – 6 августа. Успейте записаться на консультацию!
🔥113👍3❤‍🔥1👎1
Software Craftsmansip Meetup is back 🤩

27ой Митап будет посвящен пути и росту архитекторов в ИТ, с разбором различных типов архитекторов и их ролей, а также акцентом на карьерный путь Solution Architect.

Благодаря hands-on живому и концентрированному опыту спикеров рассмотим реальные проблемы, с которыми сталкиваются архитекторы в своей практике:

▪️ограничения компетенций команды
▪️баланс time to market и техдолга
▪️работа с legacy кодом
▪️сложная бизнес-логика
▪️бурный рост бизнеса
▪️преждевременное масштабирование решения и другие

Спикеры:
Антон Дворников, Principal Solution Architect
Павел Вейник, Solution Architect, Staff Engineer

🚀 Познакомиться подробнее с программой и зарегистрироваться можно по ссылке

Хороших всем выходных!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥92❤‍🔥1
Три мероприятия этой недели

1️⃣ Сегодня в 20.00 по GMT+3 встречаемся на обсуждении 9 главы Кабанчика. Тема: Consistency and Consensus. Модератор Басим Аль-Джевахири. Записи предыдущих встреч есть на нашем ютуб канале. Регистрация

2️⃣ В четверг, 1 августа в 19.00 GMT+3 состоится Software Craftsmanship Meetup про карьеру и путь арихтектора в ИТ. Спикеры: Антон Дворников и Павел Вейник. Регистрацию и свои вопросы можно прислать заранее на сайте.

3️⃣ В субботу, 3 августа в 11.00 GMT+3 будет встреча с карьерным консультантом Анной Писаревой про поведенческое и culture fit интервью. Высылайте свои вопросы заранее, чтобы спикер успела включить максимально полезный для вас материал в презентацию. Регистрация
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥93❤‍🔥2
🔥Мы к вам с супер анонсом! 🔥

Уже завтра мы опубликуем первую часть статьи, которую мы назвали:

От хаоса к стандарту: создание универсального шаблона микросервисов

Весь материал для статьи подготовил Павел Макул, выпускник курса [Технический Лидер]. Он поделился своим опытом, как придя в команду обычным сеньором смог задрайвить кардинальные перемены в процессах и культуре разработки. Получилась очень увлекательная история.

⚙️ В ней есть и про технику: разбитие монолита по DDD, свой подход к интеграционному тестированию, и, разумеется, шаблон микросервисов – его архитектура и что он из себя представляет.

💬 Есть и про сопутствующие большим переменам вещи: бесконечные коммуникации с бизнесом и разработчиками, менторинг, добровольную роль боттлнека, овертаймы и что нужно, чтобы драйвить такие процессы.

В общем, будет интересно – запасайтесь попкорном! Публиковать будем в нашем LinkedIn, так что подписывайтесь, чтобы ничего не пропустить!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍8❤‍🔥11
Митап об архитектуре и архитекторах

Завтра состоится Software Craftsmanship Meetup №27, на котором Павел Вейник и Антон Дворников по косточкам разберут этапы роста и развития архитектора. Митап для тех, кто уже там (в архитектурной роли) и who wanna be.

Кроме запланированной программы, спикеры ответ на ваши вопросы:

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

Чтобы на ваши вопросы точно ответили - присылайте пожалуйста их заранее, в форме регистрации. До встречи на митапе!
🔥54
Поведенческое и culture fit интервью: как пройти и подготовиться

В субботу пройдет 7ая встреча из серии Career navigator for seniors. Нам по прежнему важно помогать вам с поиском работы и подготовки к собеседованиям, поэтому мы приглашаем разных экспертов tech индустрии - опытных инженеров, карьеных консультантов, HR поделиться советами и опытом как  увереннее себя чувствовать на собеседованиях и получить работа в желанной компании (или просто работу🙂)

Когда: 3 августа 11.00 по GMT+3

На встрече разберем:

1. Тренды в вопросах на интервью: поведенческие и ситуативные вопросы
2. Самопрезентация и ответы на сложные вопросы
3. Как готовиться: методы, инструменты, best practices

Спикер: Анна Писарева, экспертка в области HR и карьерного консалтинга с более чем 12-летним опытом работы в СНГ, Австралии и на международном рынке

🔗 Регистрация
🔥4👍1
Как и обещали, первая часть статьи От хаоса к стандарту: создание универсального шаблона микросервисов уже в нашем LinkedIn!

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

Приятного чтения!
🔥10❤‍🔥1
Критерии выбора кэша

И это не про то, в какой валюте хранить сбережения. Мы продолжаем серию постов про выбор компонентов архитектуры. Сегодня поговорим про кэши.

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

↔️ Кэши различаются по двум параметрам:

Способ обновления записей

Read through – приложение обращается к кэшу, если в нем нет данных, то оно обращается в базу данных, а потом записывает в кэш.
Write through – все данные двигаются через кэш. Приложение записывает данные в кэш, а оттуда попадает в базу данных в одной транзакции. Чтение происходит из кэша.
Write back – кэш служит буфером на запись. Все данные попадают туда, а в определенный период записываются в БД.
Refresh ahead – кэш пытается угадать, какие данные из него будут читать и заранее берет их из БД.

Способ удаления записей (Eviction policy)

Least recently used – удаляет записи, к которым давно никто не обращался.
Least frequently used – удаляет записи, к которым наименее часто обращались за определенный промежуток времени.
Most recently used – удаляет записи, к которым обращались недавно (применяется нечасто, в специфических use cases, например, Tinder)

И другие eviction policies, например First-In-First-Out и Random Replacement.

❗️Самые важные критерии выбора кэша:

🔸Насколько допустимо устаревание данных?
🔹Какой тип данных будет кэшироваться?
🔸Нужны ли транзакции? Будет ли кэш первичным источником данных?
🔹Нужен ли in-process или распределенный кэш?
🔸Нужен ли вообще отдельный кэш или достаточно встроенных инструментов внутри фреймворков?

С различиями кэшей, баз данных, очередей сообщений, ORM и других инструментов с разбором архитектур наиболее популярных из них можно познакомиться гораздо подробнее в курсе [Технический Лидер]. Записывайтесь на консультацию!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍3😁31
Друзья, с пятницей!

Если вы пропустили наши ивенты на этой неделе, то напоминаем, что на ютубе залиты свежие записи:

🎞9 глава Кабанчика. Consistency and Consensus

🎞 Software Сraftsmanship Meetup №27. Этапы роста и развития архитектора.

Хорошего просмотра и классных выходных 👻
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤‍🔥2👍2
Соскучились по Архитектурным Трепам?

Мы - очень 🤗. Поэтому на этой неделе у нас их два!

1️⃣ Завтра, 6 августа соберемся поговорить на серьезные темы - как выбирать базу данных для проекта. Модерировать будет Максим Аршинов.

Правильный выбор базы данных — это ключевой фактор успеха любого IT-проекта. Как подойти к этому выбору, чтобы он был обоснованным и эффективным? На Трепе мы будем действовать как инженеры и попробуем создать исчерпывающее руководство по базам данных, которое поможет вам быстро и уверенно выбрать правильный инструмент.


2️⃣ В четверг, 8 августа, соберемся со Светой Семеновой повеселиться на тему кринжовых ситуаций в ИТ компаниях. Неожиданные и странные вопросы на собеседованиях, эзотерика, астрология и найм в компании на основании знака зодиака. А с какими странностями сталкивались вы? Приходите поделиться и поорать вместе 😁

🔗 Регистрация
🔥18
Нам очень нравится формат мероприятий в виде круглого стола, это делает любое обсуждение более динамичным и живым, помогает раскрыть тему с разных точек зрения, а аудитория получает возможность услышать разнообразные мнения и подходы, что делает мероприятие более полезным и вдохновляющим. Поэтому мы тут немного упоролись и сделали 4 круглых стола по разным темам 😎

15 августа пройдет круглый стол с участием 5 разных инженеров, где обсудим личные истории каждого о профессиональном пути к роли технического лидера.

Путь развития из Senior в Techlead: живой опыт инженеров

Ведущий - Павел Вейник. Затронем вопросы:

💫 Чем отличается роль техлида от роли сеньера?
💫 Какие задачи и проекты больше всего способствовали профессиональному росту
💫 Какие технические навыки наиболее важны для технического лидера?
💫 Какие soft skills наиболее важны для успешного руководства технической командой? Как развивать эти навыки?
💫 С какими основными вызовами сталкивается технический лидер? Как их преодолевать? И многое другое

🔗 Присылайте свои вопросы к кругому столу заранее в форме регистрации. До встречи 🙌
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤‍🔥2👍1
⚡️На прошлой неделе мы стартанули серию От хаоса к стандарту: создание универсального шаблона микросервисов и уже подобрались к самому интересному – собственно, созданию шаблона и тому, что в него вошло.

🔗 Часть 4 уже в нашем LinkedIn. Подписывайтесь, чтобы не пропустить следующие!
🔥7
Во вторник на Архитектурном Трепе 112 горячо обсуждали тему выбора БД под проект. Модератор встречи Максим Аршинов предложил разработанный фреймворк с разными параметрами. Публикуем эти параметры выше на двух карточках, а также небольшую дискуссию -  устарели ли реляционные базы данных и почему многие выбирают PostgreSQL

Также несколько ссылок от Максима⬇️:

📌 Ссылка на draft инструмента: https://docs.google.com/spreadsheets/d/1qk5MioZ_L1LyK6zO6rz2uWut0UlXXSVMi1HVYFPYbVw/edit?gid=1442041577#gid=1442041577, кто хочет помочь/поконтрибьютить или если появятся новые идеи - комментрии к документу открыты.

📌Аналог на JS: https://github.com/Ubloobok/DatabaseAdvisor/


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

Мы знаем, что у многих есть проблема с добавлением события себе в календарь. Мы проверили ещё раз и выяснили, что добавить себе событие в мобильном приложении календаря невозможно - ни на Android, ни на IOS. Гугл календарь не принимает свои же созданные события 😔 Это выглядит как системная ошибка на стороне сервиса, к сожалению, мы ничего не можем с этим сделать. Тут тоже про это писали https://stackoverflow.com/questions/63886313/google-calendar-event-link-not-opening-google-calendar-app-event-creation-with-d

Поэтому пока мы предлагаем следующее:

Пожалуйста, добавляйте себе события в календарь через браузер. Там все отлично работает🙌.  А мы займёмся поиском вариантов как и где ещё можно организовать регистрацию и напоминая о наших событиях с большим удобством и надёжностью
5
На занятии курса [Технический Лидер] один из участников задал вопрос – “Допустим, выкатили на прод версию с ошибкой и поломали всю систему микросервисов. Быстро пофиксить не удается. Как провести откат системы к работающему состоянию?” Тема интересная и на занятии мы ее рассмотрели подробно. Приводим коротко спектр доступных опций.

5 сценариев отката неудачного релиза

Когда можем себе позволить downtime:

1️⃣Сценарий – нет ни документации, ни версионирования, ни плана 😱. Придется собрать лидов и сеньоров всех команд, ответственных за неисправные сервисы. Вместе разобрать логи ошибок, локализовать их в каждом микросервисе и откатить до рабочего состояния БД. Вариант только для экстренных случаев, требует несколько часов совместных титанических усилий.

2️⃣Сценарий – есть скрипты Liquibase / Flyway, есть версионирование структуры базы. Команда каждого микросервиса отдельно от других откатывает код до старой версии. Если в процессе миграции были объемные изменения данных – в хранимой процедуре должен быть подготовлен скрипт, который производит миграцию в обратную сторону. Такой вариант занимает уже полчаса-час.

Когда нужно без downtime:

3️⃣Сценарий – запретить изменения в базу, но оставить доступ на чтение. Пользователи не могут полноценно пользоваться сервисами, но могут, например, посмотреть отчет за какой-то период. Для этого варианта нужен подготовленный фронтенд с feature flags. С клиента на бэкенд будут приходить только select, но не update. В это время можно спокойно (относительно) реализовать один из предыдущих сценариев.

4️⃣Сценарий – каждая команда делает релизы независимо друг от друга и есть реестр версий каждого сервиса. В таком случае, через средства автоматизации весь прод откатывается к последнему чекпоинту, когда комбинация микросервисов с разными версиями работала. Каждый микросервис, который обновился, откатывается до нужной версии независимо от других. За такой реестр должен отвечать кто-то над всеми командами разработки – архитектор или delivery-менеджер.

5️⃣Сценарий – в релизе сложные изменения в большой системе. Пример: меняем KV-базу на реляционную. Параллельно работают два варианта кода – со старой базой и с новой. В старую базу добавляется поле “переведено в новую БД”. Все апдейты, которые попадают в старую базу, дублируются в новую и, когда это происходит, в старой БД меняется значение этого “feature flag” каждой записи. Если с новой версией что-то не так – старая продолжает работать.

А с какими сценариями сталкивались вы? Делитесь в комментариях 👇
🔥71❤‍🔥1