Media is too big
VIEW IN TELEGRAM
Один із трендових напрямків зараз — інтеграція AI у CI/CD 🤖🚀
І це реально круто, що на етапі CI воно може в рази пришвидшити написання та перевірку коду.
Але коли мова про CD, тут ще є нюанси 🙃
Моделі статистичні → значить, вони недетерміновані. Це може давати:
❌ фолс-позитивні результати (бачать проблему там, де її нема)
🤷♂️ пропускати важливі речі (не ловлять баг, коли він є)
🌀 «галюцинації»
🙅♂️ «огріхи» від неповного датасету чи неідеального навчання
Попри все, тренд рухається вперед. І цікаво спостерігати, як AI буде поступово «вростати» у CI/CD процеси 💡
І це реально круто, що на етапі CI воно може в рази пришвидшити написання та перевірку коду.
Але коли мова про CD, тут ще є нюанси 🙃
Моделі статистичні → значить, вони недетерміновані. Це може давати:
❌ фолс-позитивні результати (бачать проблему там, де її нема)
🤷♂️ пропускати важливі речі (не ловлять баг, коли він є)
🌀 «галюцинації»
🙅♂️ «огріхи» від неповного датасету чи неідеального навчання
Попри все, тренд рухається вперед. І цікаво спостерігати, як AI буде поступово «вростати» у CI/CD процеси 💡
👍16🙊3🔥1
Все, що потрібно знати про PHP 8.5: від clone with до Fatal Errors stack trace
Друзі, цього разу ми з Йожефом пройшлися по прийнятих RFC у PHP 8.5 — від клонування імутабельних об’єктів до покращення OPcache і свіжого pipe-оператора.
📍Що розібрали по суті (з живими прикладами):
• Immutability + clone with — нормальний шлях для value objects/DTO. Порівняли з попередніми «костилями» (рефлексія, копіпасти with*), розібрали нюанси: публічний set для readonly, порядок викликів та відсутність параметрів у __clone, shallow vs deep copy.
• URI-класи в ядрі (RFC 3986 / WHATWG) — стандартизований парсинг без власноручних регексів.
• array_first() / array_last() — прозорий доступ до крайніх елементів без reset()/end() та внутрішніх поінтерів; чому це справді краще за array_key_first()/array_key_last().
• Pipe operator |> — ланцюжки викликів у зрозумілому функціональному стилі.
• #[NoDiscard] — ловимо тих, зто «забув використати» дані з return.
• Стек-трейс у Fatal Errors — нарешті нормальний дебаг замість «білого екрану».
👉Велика подяка Йожефу за настрій та практичні поради, як завжди було круто
Випуск вже на каналі. Слухайте, дивіться, ставте питання та вподобайку, якщо було корисно.
https://youtu.be/abHntd9evic?si=BGg-K9KagHf1dXkF
Друзі, цього разу ми з Йожефом пройшлися по прийнятих RFC у PHP 8.5 — від клонування імутабельних об’єктів до покращення OPcache і свіжого pipe-оператора.
📍Що розібрали по суті (з живими прикладами):
• Immutability + clone with — нормальний шлях для value objects/DTO. Порівняли з попередніми «костилями» (рефлексія, копіпасти with*), розібрали нюанси: публічний set для readonly, порядок викликів та відсутність параметрів у __clone, shallow vs deep copy.
• URI-класи в ядрі (RFC 3986 / WHATWG) — стандартизований парсинг без власноручних регексів.
• array_first() / array_last() — прозорий доступ до крайніх елементів без reset()/end() та внутрішніх поінтерів; чому це справді краще за array_key_first()/array_key_last().
• Pipe operator |> — ланцюжки викликів у зрозумілому функціональному стилі.
• #[NoDiscard] — ловимо тих, зто «забув використати» дані з return.
• Стек-трейс у Fatal Errors — нарешті нормальний дебаг замість «білого екрану».
👉Велика подяка Йожефу за настрій та практичні поради, як завжди було круто
Випуск вже на каналі. Слухайте, дивіться, ставте питання та вподобайку, якщо було корисно.
https://youtu.be/abHntd9evic?si=BGg-K9KagHf1dXkF
YouTube
RFC-тур по PHP 8.5: Pipe Operator, Clone with, #[NoDiscard], stack trace та інші
Зустрічайте чотирнадцятий випуск Fwdays PHP Talks!
У цьому випуску наші постійні спікери — Йожеф Гісем і Кирило Сулімовський — обговорять нові RFC та можливості PHP 8.5, які вплинуть на щоденний код.
На що варто підписатися:
– Більше цікавого для розробників:…
У цьому випуску наші постійні спікери — Йожеф Гісем і Кирило Сулімовський — обговорять нові RFC та можливості PHP 8.5, які вплинуть на щоденний код.
На що варто підписатися:
– Більше цікавого для розробників:…
👍34🔥6⚡1
⚡ Ну що, нарешті PHP fwdays’25
Особисто для мене це завжди крута подія, котру кожен рік чекаю, щоб засинхронізуватись з колегами, подивитись що відбувається у інших, заглибитись в актуальні підходи, поговорити про архітектуру та використання фреймворків, дізнатись кейси по інтеграції AI у PHP і т.д.
Коли: 4 жовтня (субота)
Де: Київ (офлайн, лише 80 місць) + онлайн
Серед спікерів:
— Андрій Яценко, Oro Inc. — «Застрибуємо у гайп-потяг AI розробки, поки він не згорів»
— Владислав Поздняков, mono — «Long running processes на PHP»
— Юрій Панайотов, Silpo (E-commerce) — «Як мати 200+ PHP сервісів у продакшні і не з’їхати з глузду?»
— В’ячеслав Вергелес, TENTENS tech — «Міцний сон інженера: як ми забезпечуємо якість, щоб спати спокійно»
— Олександр Бучек, MacPaw — «Не клонувати інфру, а ізолювати дані: ефемерні PR-оточення у shared-env»
🎟 Квитки вже у продажу. Діє знижка 10% за моїм промокодом PHP10Beer.
🔗 Деталі та квитки
Особисто для мене це завжди крута подія, котру кожен рік чекаю, щоб засинхронізуватись з колегами, подивитись що відбувається у інших, заглибитись в актуальні підходи, поговорити про архітектуру та використання фреймворків, дізнатись кейси по інтеграції AI у PHP і т.д.
Коли: 4 жовтня (субота)
Де: Київ (офлайн, лише 80 місць) + онлайн
Серед спікерів:
— Андрій Яценко, Oro Inc. — «Застрибуємо у гайп-потяг AI розробки, поки він не згорів»
— Владислав Поздняков, mono — «Long running processes на PHP»
— Юрій Панайотов, Silpo (E-commerce) — «Як мати 200+ PHP сервісів у продакшні і не з’їхати з глузду?»
— В’ячеслав Вергелес, TENTENS tech — «Міцний сон інженера: як ми забезпечуємо якість, щоб спати спокійно»
— Олександр Бучек, MacPaw — «Не клонувати інфру, а ізолювати дані: ефемерні PR-оточення у shared-env»
🎟 Квитки вже у продажу. Діє знижка 10% за моїм промокодом PHP10Beer.
🔗 Деталі та квитки
🔥15👍6
Сьогодні важлива подія
Думаю ні для кого не секрет, що насправді я давненько відійшов від постійного програмування на PHP, займаю менеджерську позицію, пробую себе в golang, python та іншому стеку.
🤷 Виходить так, що контекст змінився, а канал ні. Мені хочеться ділитись думками частіше, та завжди себе зупиняю, що вони "не в тему каналу".
👉 Важлива подія в тому, що тільки но закатив перший відос на свій YouTube канал. Він зовсім не про PHP, він про те як якісно проводити 1-on-1. Про подібні речі також хочеться писати пости, отримувати фідбек, ділитись спостереженнями і дискутувати.
Тому:
1. Закликаю всіх подивитись відос, буду вдячний за коментарі, критику, особливо конструктивну
2. Дати реакцій, чи заходить така тематика і подібний контент
3. Кому заходить - підтримати підпискою, вподобайкою, зворотнім звʼязком
https://youtu.be/s2wuc-t3ZO0
#1-1 #manager #teamlead #youtube
Думаю ні для кого не секрет, що насправді я давненько відійшов від постійного програмування на PHP, займаю менеджерську позицію, пробую себе в golang, python та іншому стеку.
🤷 Виходить так, що контекст змінився, а канал ні. Мені хочеться ділитись думками частіше, та завжди себе зупиняю, що вони "не в тему каналу".
👉 Важлива подія в тому, що тільки но закатив перший відос на свій YouTube канал. Він зовсім не про PHP, він про те як якісно проводити 1-on-1. Про подібні речі також хочеться писати пости, отримувати фідбек, ділитись спостереженнями і дискутувати.
Тому:
1. Закликаю всіх подивитись відос, буду вдячний за коментарі, критику, особливо конструктивну
2. Дати реакцій, чи заходить така тематика і подібний контент
3. Кому заходить - підтримати підпискою, вподобайкою, зворотнім звʼязком
https://youtu.be/s2wuc-t3ZO0
#1-1 #manager #teamlead #youtube
YouTube
Структура ідеального 1:1: покроковий алгоритм для менеджерів
У цьому відео ділюся покроковим планом ефективних 1-on-1 зустрічей - з чіткою структурою та практичними інструментами, які допоможуть вибудувати довіру, знизити ризик вигорання й підвищити продуктивність команди.
00:00 Вступ
00:44 Мета та значення 1-on…
00:00 Вступ
00:44 Мета та значення 1-on…
👍31🔥13
Нарешті це сталось. Я повністю перебрав, доповнив і опублікував статтю на DOU — «Принцип підстановки Барбари Лісков (про передумови, постумови та інваріанти)».
Спробував максимально розжувати те, що ж Барбара мала на увазі, додати конкретики та пройтися по кожному важливому пункту 🙂
У статті розповів про:
• принцип самої підстановки
• передумови та післяумови
• коваріантність і контраваріантність
• як з цим жити або як обійти
📌 Якщо ви вважали цей принцип незрозумілим — рекомендую до прочитання, адже я постарався навести реальні приклади коду та чіткі пояснення.
🙃 До речі, давно не писав у такому форматі, тож радий повернутися.
👇🏻 Діліться своїм досвідом у коментарях — цікаво почути, чи стало трошки зрозуміліше, що воно таке і з чим його їдять.
https://dou.ua/forums/topic/55754/
Спробував максимально розжувати те, що ж Барбара мала на увазі, додати конкретики та пройтися по кожному важливому пункту 🙂
У статті розповів про:
• принцип самої підстановки
• передумови та післяумови
• коваріантність і контраваріантність
• як з цим жити або як обійти
📌 Якщо ви вважали цей принцип незрозумілим — рекомендую до прочитання, адже я постарався навести реальні приклади коду та чіткі пояснення.
🙃 До речі, давно не писав у такому форматі, тож радий повернутися.
👇🏻 Діліться своїм досвідом у коментарях — цікаво почути, чи стало трошки зрозуміліше, що воно таке і з чим його їдять.
https://dou.ua/forums/topic/55754/
DOU
Принцип підстановки Барбари Лісков. Про передумови, постумови та інваріанти
У статті автор розбирає принцип Лісков на практичних прикладах, як працювати з базовими та спадковими класами, щоб уникнути помилок. А також пояснює передумови, постумови, інваріанти і «правило історії» через концепцію «Design by Contract».
🔥52👍7
Друзі, продовжую низку неочікуваних новин 🙂 Давно хотілось створити подкаст, де говорити на менш технічні і на більш загальні теми в айтішці. Про професії, зони відповідальності, курйозні ситуації, ринок, проблеми, чи просто понити.
То ж вийшов перший пілотний випуск, в котрому спробували прояснити «Хто такий Delivery Manager»
Було дійсно цікаво поговорити з Олею, вона Delivery Manager із понад 10-річним досвідом у міжнародних компаніях.
📍 Якщо коротко, що затронули:
– чим насправді відрізняється Project, Product і Delivery Manager;
– як менеджери справляються зі стресом і факапами;
– чи потрібна технічна експертиза, щоб ефективно керувати командою;
– як виживає команда без менеджера та що не так із Jira;
– чи може штучний інтелект замінити менеджера.
🎥 Випуск уже на каналі
Переходьте, дивіться, ставте запитання в коментарях і буду дуже вдячний за ваш зворотній звʼязок
https://youtu.be/RGyYU2fhDtY
То ж вийшов перший пілотний випуск, в котрому спробували прояснити «Хто такий Delivery Manager»
Було дійсно цікаво поговорити з Олею, вона Delivery Manager із понад 10-річним досвідом у міжнародних компаніях.
📍 Якщо коротко, що затронули:
– чим насправді відрізняється Project, Product і Delivery Manager;
– як менеджери справляються зі стресом і факапами;
– чи потрібна технічна експертиза, щоб ефективно керувати командою;
– як виживає команда без менеджера та що не так із Jira;
– чи може штучний інтелект замінити менеджера.
🎥 Випуск уже на каналі
Переходьте, дивіться, ставте запитання в коментарях і буду дуже вдячний за ваш зворотній звʼязок
https://youtu.be/RGyYU2fhDtY
YouTube
Хто такий Delivery Manager? Про роботу, факапи і стрес
Сьогодні ми говоримо відверто про IT! 🔥
Думаєте, менеджер в IT — це просто "передавати таски" і "точити ляси"? Ви глибоко помиляєтесь. У цьому інтерв'ю ми розкриваємо реалії однієї з найвідповідальніших і найстресовіших ролей в індустрії.
Наша гостя — Оля…
Думаєте, менеджер в IT — це просто "передавати таски" і "точити ляси"? Ви глибоко помиляєтесь. У цьому інтерв'ю ми розкриваємо реалії однієї з найвідповідальніших і найстресовіших ролей в індустрії.
Наша гостя — Оля…
🔥17👍7⚡6
Записали черговий подкаст для FWDays PHP Talks з Павлом і Йожефом. Цього разу копнули Event Driven архітектуру.
Почали з основ — навіщо це все придумали, а потім розібрали три стовпи Event Driven: Event, Producer та Subscriber.
📍Ну і, звісно, поговорили про вузькі місця:
• Хто створює черги — продюсер чи сабскрайбер?
• Як правильно налаштовувати конфіги?
• Що робити з навантаженням і скейлінгом воркерів?
• І найболючіше — коли падають воркери, у тебе починає деградувати вся система.
Плюс затримки. Ті самі затримки, від яких нікуди не подітись 😅
👉 Коротше, якщо працюєте з Event Driven або тільки плануєте впроваджувати — рекомендую послухати. Ми розповіли про все те, з чим самі стикалися і що, на жаль, доводилось розгрібати.
Переходьте, дивіться, пишіть вашу думку і фідбек — буду радий подискутувати 🙂
https://youtu.be/SNplV4BaKvU
Почали з основ — навіщо це все придумали, а потім розібрали три стовпи Event Driven: Event, Producer та Subscriber.
📍Ну і, звісно, поговорили про вузькі місця:
• Хто створює черги — продюсер чи сабскрайбер?
• Як правильно налаштовувати конфіги?
• Що робити з навантаженням і скейлінгом воркерів?
• І найболючіше — коли падають воркери, у тебе починає деградувати вся система.
Плюс затримки. Ті самі затримки, від яких нікуди не подітись 😅
👉 Коротше, якщо працюєте з Event Driven або тільки плануєте впроваджувати — рекомендую послухати. Ми розповіли про все те, з чим самі стикалися і що, на жаль, доводилось розгрібати.
Переходьте, дивіться, пишіть вашу думку і фідбек — буду радий подискутувати 🙂
https://youtu.be/SNplV4BaKvU
YouTube
Event-Driven Architecture: магія чи хаос під капотом?
Зустрічайте 15 випуск Fwdays PHP Talks!
У цьому випуску наші постійні спікери — Йожеф Гісем і Кирило Сулімовський, разом із гостем Павлом Акіменко, обговорюють Event-Driven Architecture:
- звідки походить цей підхід і як він змінив сучасний бекенд
- коли…
У цьому випуску наші постійні спікери — Йожеф Гісем і Кирило Сулімовський, разом із гостем Павлом Акіменко, обговорюють Event-Driven Architecture:
- звідки походить цей підхід і як він змінив сучасний бекенд
- коли…
🔥23👍3
Чому я почав вести YouTube? 🎬
А чи має бути причина?
Ніби без причини щось не має сенсу. Чому, коли хочеться спробувати щось нове, ти одразу шукаєш, пояснення, мотивацію, а іноді і виправдання?
Не все має починатись з логіки. Деякі речі народжуються просто тому, що хочеться, тому, що є внутрішній імпульс — і все, без уточнення «навіщо».
Мені подобається говорити, спілкуватись, ділитись думками, записувати подкасти, знайомитись з людьми з індустрії, отримувати фідбек, як позитивний, так і той, після якого хочеться рости.
І цього достатньо.
Не шукайте «чому». Коли всередині є справжнє бажання — це вже і є причина
https://youtube.com/@beercodeit?si=ZHLpe7xaN3eGQfqo
А чи має бути причина?
Ніби без причини щось не має сенсу. Чому, коли хочеться спробувати щось нове, ти одразу шукаєш, пояснення, мотивацію, а іноді і виправдання?
Не все має починатись з логіки. Деякі речі народжуються просто тому, що хочеться, тому, що є внутрішній імпульс — і все, без уточнення «навіщо».
Мені подобається говорити, спілкуватись, ділитись думками, записувати подкасти, знайомитись з людьми з індустрії, отримувати фідбек, як позитивний, так і той, після якого хочеться рости.
І цього достатньо.
Не шукайте «чому». Коли всередині є справжнє бажання — це вже і є причина
https://youtube.com/@beercodeit?si=ZHLpe7xaN3eGQfqo
👍16🔥6
Друзі, маю для вас новий випуск на своєму каналі 🚀
Продовжуємо говорити відверто про айтішку. Цього разу ми спробували розібратися, хто ж такий DevOps інженер і чому всі кажуть, що ця роль "не для джунів".
В гостях був Томош – Cloud DevOps інженер, який погодився простою мовою пояснити, за що йому платять гроші 😁
📍 Якщо коротко, про що поговорили:
– Чому насправді "не буває Junior DevOps" і звідки тоді вони беруться?
– SysAdmin, DevOps, DevSecOps, FinOps – у чому різниця і де чия відповідальність?
– "Лінивий DevOps" – це хороший DevOps?
– Що бісить девопсів найбільше?
– Наскільки глибоко DevOps має знати код (Python, GoLang) і чи важливі soft skills?
– Вплив ШІ: як Copilot, Grok та Claude вже змінюють підходи до інфраструктури та автоматизації
Переходьте, дивіться, і, звісно, діліться своїми історіями та запитаннями в коментарях. Буду дуже вдячний за ваш зворотній звʼязок!
https://youtu.be/s-TTevLwMPA
Продовжуємо говорити відверто про айтішку. Цього разу ми спробували розібратися, хто ж такий DevOps інженер і чому всі кажуть, що ця роль "не для джунів".
В гостях був Томош – Cloud DevOps інженер, який погодився простою мовою пояснити, за що йому платять гроші 😁
📍 Якщо коротко, про що поговорили:
– Чому насправді "не буває Junior DevOps" і звідки тоді вони беруться?
– SysAdmin, DevOps, DevSecOps, FinOps – у чому різниця і де чия відповідальність?
– "Лінивий DevOps" – це хороший DevOps?
– Що бісить девопсів найбільше?
– Наскільки глибоко DevOps має знати код (Python, GoLang) і чи важливі soft skills?
– Вплив ШІ: як Copilot, Grok та Claude вже змінюють підходи до інфраструктури та автоматизації
Переходьте, дивіться, і, звісно, діліться своїми історіями та запитаннями в коментарях. Буду дуже вдячний за ваш зворотній звʼязок!
https://youtu.be/s-TTevLwMPA
YouTube
Хто такий DevOps? Про щоденні задачі, провали та несподівані виклики
У цьому відео ми відверто спілкуємось про DevOps та роботу в IT з Томашем, досвідченим Cloud DevOps-інженером. Розбираємося, хто такий DevOps, чим він відрізняється від сісадміна, розробника й інших суміжних ролей, а також обговорюємо:
• Навіщо DevOps…
• Навіщо DevOps…
👍11🔥3🙊1
Друзі, вийшла друга частина розмови Fwdays PHP Talks про DDD! 🎥
Разом з Йожефом Гісемом та Ігорем Проніним продовжили говорити про те, як бізнес і розробка можуть нарешті порозумітися 🙂
У цьому епізоді:
💬 про те, як знайти спільну мову між бізнесом і девелоперами — щоб усі рухались в одному напрямку, а не говорили різними мовами
🧩 коли реально варто використовувати Event Storming і контекст-мапи — і як ці штуки допомагають розкласти складну систему по поличках
⚙️ Value Object, Entity та Rich Model — не просто теорія, а як це працює у живих проєктах
Якщо тема DDD тобі близька — обов’язково глянь випуск і поділися своїми спостереженнями в коментарях 👇🏻
https://youtu.be/AnicWaTTvLg?si=4PFnfL_SLmBRL6AM
Разом з Йожефом Гісемом та Ігорем Проніним продовжили говорити про те, як бізнес і розробка можуть нарешті порозумітися 🙂
У цьому епізоді:
💬 про те, як знайти спільну мову між бізнесом і девелоперами — щоб усі рухались в одному напрямку, а не говорили різними мовами
🧩 коли реально варто використовувати Event Storming і контекст-мапи — і як ці штуки допомагають розкласти складну систему по поличках
⚙️ Value Object, Entity та Rich Model — не просто теорія, а як це працює у живих проєктах
Якщо тема DDD тобі близька — обов’язково глянь випуск і поділися своїми спостереженнями в коментарях 👇🏻
https://youtu.be/AnicWaTTvLg?si=4PFnfL_SLmBRL6AM
YouTube
DDD: складно, але потрібно | Як говорити однією мовою з бізнесом і не зійти з розуму від контекстів
Зустрічайте шістнадцятий випуск Fwdays PHP Talks!
У цьому випуску наші постійні спікери — Йожеф Гісем і Кирило Сулімовський, разом із гостем Ігорем Проніним, продовжують розмову про Domain-Driven Design (DDD):
- Як бізнес і розробка знаходять спільну мову…
У цьому випуску наші постійні спікери — Йожеф Гісем і Кирило Сулімовський, разом із гостем Ігорем Проніним, продовжують розмову про Domain-Driven Design (DDD):
- Як бізнес і розробка знаходять спільну мову…
👍20🔥3
Звільнення
Мабуть, одна з найбільш табуйованих і неприємних тем у менеджменті.
Зізнавайтесь, чи бачили ви співробітника, якого "тягнуть"?
🤔 "А раптом він виправиться?", "Шкода людину", "Може, це я погано пояснив?".
Я проходив через ці сумніви. Але правда в тому, що коли ви не звільняєте неефективну людину, ви руйнуєте команду зсередини.
👉 Тому у новому відео вирішив підняти цю важку тему і розкласти все по поличках:
• Чому ми насправді боїмося звільняти (і до чого тут емпатія)
• Оцінка 360 та 9-box model: як зрозуміти, хто "тягне", а хто ні
• Токсичність, чому це бомба сповільненої дії
• Performance Improvement Plan (PIP)
• Покроковий скрипт, як повідомити про рішення, щоб це було професійно
Звільнення - це, мабуть, найскладніше рішення для менеджера. Але іноді - найправильніше
Тому дивіться відео, там багато практичних інсайтів: https://youtu.be/lZ-a_LzJXhU
Буду вдячний за зворотній звʼязок
#manager #teamlead #youtube
Мабуть, одна з найбільш табуйованих і неприємних тем у менеджменті.
Зізнавайтесь, чи бачили ви співробітника, якого "тягнуть"?
🤔 "А раптом він виправиться?", "Шкода людину", "Може, це я погано пояснив?".
Я проходив через ці сумніви. Але правда в тому, що коли ви не звільняєте неефективну людину, ви руйнуєте команду зсередини.
👉 Тому у новому відео вирішив підняти цю важку тему і розкласти все по поличках:
• Чому ми насправді боїмося звільняти (і до чого тут емпатія)
• Оцінка 360 та 9-box model: як зрозуміти, хто "тягне", а хто ні
• Токсичність, чому це бомба сповільненої дії
• Performance Improvement Plan (PIP)
• Покроковий скрипт, як повідомити про рішення, щоб це було професійно
Звільнення - це, мабуть, найскладніше рішення для менеджера. Але іноді - найправильніше
Тому дивіться відео, там багато практичних інсайтів: https://youtu.be/lZ-a_LzJXhU
Буду вдячний за зворотній звʼязок
#manager #teamlead #youtube
YouTube
Алгоритм звільнення: від попередження до прощальної розмови
У цьому відео розкриваю покроковий алгоритм звільнення — від подолання власного страху і збору аргументів до коректної розмови та комунікації з командою. На реальних прикладах показую, як вчасно виявити неефективність працівника, чим загрожує токсична поведінка…
🔥8👍4