Mad Devs Channel
1.6K subscribers
664 photos
30 videos
1 file
867 links
Канал Mad Devs.🤘Здесь мы рассказываем о жизни компании и инсайтах. Делимся знаниями и лайфхаками IT-индустрии.
Download Telegram
Обратная связь – это факты, которые помогут человеку изменить свое поведение. У фактов нет эмоциональной окраски. Поэтому, когда кто-то не справляется с работой, не стоит высказывать свое недовольство из-за сорванных сроков, лучше выяснить у сокомандника, что пошло не так, как помочь ему справиться с причиной и не допускать срывов на будущих проектах.

Давать качественную обратную связь – часть работы любого участника команды, но в осовенности лидеров. За счет правильной подачи можно построить доверительную и открытую атмосферу внутри команды. Сегодня разбираемся, что такое обратная связь, как её давать, и какие методы помогут вам.
👍9
Mad Devs Channel
Пришло время показать решение этой логической задачи. Скорее читаем и сравниваем со своим результатом 🤓 Начнем с выяснения вероятности брака у батареек. Предположим, вероятность выпуска брака составляет – 0,02. Тогда вероятность изготовления рабочей батарейки…
Как вы думаете, сколько решений имеет эта задача? Как оказалось, не одно.

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

Для решения этой задачи можно использовать биномиальное распределение. Если X - количество бракованных батарей в партии из 10 000 штук, то тогда X имеет биномиальное распределение с параметрами n=10000 и p=0.02 (вероятность брака).

Согласно условиям задачи, система контроля качества выявляет нерабочие батареи в 98% случаев, но при этом в 1% случаев ошибочно определяет рабочие батареи как бракованные. Это значит, что если батария действительно бракованная, то с вероятностью 0.98 она будет определена как бракованная, а если батария действительно рабочая, то с вероятностью 0.01 она будет ошибочно определена как бракованная. Таким образом, вероятность того, что батария будет определена как бракованная, равна:

P(брак) = 0.02 * 0.98 + 0.98 * 0.01 = 0.0296

Теперь можно найти среднее количество бракованных батарей в партии из 10 000 штук, используя формулу для биномиального распределения:

E(X) = n * p = 10000 * 0.02 = 200

Ожидается, что в партии из 10 000 батарей будет 200 бракованных батарей.

Интересно, правда? Кто решал так же? Поделитесь в комментариях как быстро и почему вы выбрали такое решение ⬇️
🤯6💯1
Нейробиологический фундамент продуктивности 🧠

Наверное, каждый из нас задумывался о том, что неплохо бы в целях личной эффективности заиметь 25 час в сутках или таблетку из фильма “Области тьмы”. Стать более продуктивным вам могут помочь нейрогормоны о которых сегодня поговорим.

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

📍 Выделение адреналина – общий фон продуктивности и эффективности.
📍 Синтез адреналина интевсивнее всего в голубом пятне, “щупальцы” которого проходят через структуру мозга.
📍 Эффект адреналина – работа по сценарию: бить, бежать, замереть (вот он нам и нужен в работе).

Замирание важно для выполнения задач, а именно в этот момент тело остается недвижимым, а мозговая активность на пределе. Как результат, задачки щелкаются, как семечки. Вы в потоке, вы в ресурсе 💪

🤝 Немаловажный тандем гормонов – «адреналин + ацетилхолин», где адреналин отвечает за бодрость и включенность, а ацетилхолин – за воплощение мыслей в действия.

Ацетилхолин помогает нам ориентироваться в работе, маневрировать среди целей. Есть пару “но”:

📍 Много ацетилхолина = уйдете в работу с головой и будете бегать, как крыса в колесе.
📍 Мало ацетилхолина = будете метаться между частями задачи и не знать, с какой стороны подойти, что приведёт к прокрастинации.

🤝 Следующая пара, которая помогает нам в работе, – «дофамин и норадреналин». Они похожи друг на друга, но выполняют разные задачи. Дофамин в комплексе с адреналином и ацетилхолином – топливо для концентрации и фокусировки. Чем дольше он выделяется, тем дольше состояние продуктивности.

Как увеличить рост этих нейрогормонов?

📍 Естественным образом. Это могут быть интенсивная работа или прохождение сложной миссии в игре.
📍 Механическим образом. Это могут быть концентрация на задачах, которые зависят от вас. Или же однозначный старт, когда поэтапно выполняете все действия. Поможет и дедлайн, который обеспечит высвобождение адреналина, и вы будете работать на пределе. Быстрые задачки, которые решаются за час-полтора.
📍 Фармакологический способ. У данных инструментов есть свои особенности, которые могут привести к неприятным последствиям при неправильном применении. Необходима консультация специалиста.

Для повышения интеллекта очень важно понимать, что вы делаете. Бессмысленно это делать при помощи ноотропов, режима дня и фармы, если у вас нет желания и попыток двигаться к новым знаниям, умениям и навыкам.
👍3🔥1🤔1
Ошибки при изучении Python или 5 стадий принятия неизбежного

“Ученье – свет, а неученье – тьма”. Все мы слышали эту пословицу. Но никто не предупреждал, что путь ученья бывает тернист и что очень легко допустить ошибку. И чтобы вы не допускали ошибок в будущем, мы разобрали 5 ошибок при изучении Python.

✍️ Первая и самая простая ошибка – начинать изучение Python с чужого кода, а не с терминологии и концепции языка программирования.

Разберитесь с понятийным аппаратом, составьте собственный словарь. Изучите элементы Python. После чего вы можете приступать к написанию собственного кода. Изучать чужой код полезно, если у вас уже есть опыт. Это помогает найти новые решения и оптимизировать свой код. Тем самым вы повышаете собственную насмотренность.

✍️ Вторая - отказ от поиска и сравнения разных инструментов для оптимального решения задач.

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

✍️ Третья ошибка - создавать промежуточные ручные решения, снижающие универсальность кода и уровень его автоматизации.

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

✍️ Четвертая - делать скрипт нечитаемым, пренебрегая структурой.

Старайтесь во время написания кода внимательно относиться к новым переменным, подписывайте зачем они нужны, убирайте лишний блоки. Важно структурировать свой код. Позже для оформления кода можно использовать PEP 8 – руководство по стилю кода Python. Можете использовать для анализа инструменты, например, pycodestyle, prospector и пр. Не забудьте о пользовательских функциях.

✍️ Пятая ошибка - не сохранять удачные решения в базу знаний.

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

Не бойтесь допускать ошибки, но и не забывайте их исправлять. Расскажите в комментариях о своих ошибках в обучении, которые помогли вам👇
👍7🔥2😁1
АНТИсоветы начинающим разработчикам

❗️Сначала изучить ВСЮ спецификацию языка, а потом учиться писать код
Если хотите качественный продукт, то делайте все сами от UX/UI дизайна до тестов. Все сами!
❗️ Код 24/7 – никогда не останавливайтесь и не отдыхайте. Забудьте о друзьях, семье. Только так придет успех, деньги, слава.
❗️ Никогда не пишите комментарии к коду. Там же итак все понятно и очевидно.
❗️Один стек наработали и хватит. Не изучайте ничего нового.
❗️Разработчики никогда не ошибаются. Все должно работать с первого раза, иначе меняйте профессию. Не созданы вы для этого.
❗️Тру разработчик не использует готовых решений и инструментов. Все пишет вручную. Все эти библиотеки, шаблоны, фреймворки – плагиат.
❗️Git для слабаков. Весь процесс разработки должен быть в голове. Мерджи, пуши, коммиты – зачем тратить лишние ресурсы.
❗️Дайте себе свободу. Захотели написать весь код в одну строчку – почему нет? Все эти методологии, ограничения, соглашения только мешают вам.

Но это все, конечно, шутки. 😆 Но не стесняйтесь добавить и свои вредные советы из личного опыта в комментариях. Явно у вас были свои забавные случаи, которые создали ваш личный "кодекс правил" в программировании. ⬇️
🙈10👍3🤣1
Кибирд снова с вами, и на этот раз в новом формате!

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

🔗 https://youtu.be/gVzl3H4-Oww

Приятного просмотра 😎
🔥161
React vs. Vue

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

⚙️ Архитектура

React использует виртуальную DOM (Document Object Model) для обновления пользовательского интерфейса, в то время как Vue использует синтаксис на основе шаблонов. Виртуальный DOM в React позволяет быстрее обновлять интерфейс, но может быть более сложным для понимания. Синтаксис Vue, основанный на шаблонах, проще в освоении, но может быть не таким производительным, как виртуальный DOM React.

🔎 Работа с данными

React использует одностороннюю привязку данных, что означает, что изменения в состоянии данных будут влиять на пользовательский интерфейс только в одном направлении. Vue использует двустороннюю привязку данных, что позволяет изменениям в пользовательском интерфейсе немедленно обновлять базовые данные.

🔗 Компоненты

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

📚 Обучение

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

👥 Сообщества

React является более старым и высоко узнаваемым фреймворком. Он был создан компанией Facebook и используется в многих известных проектах, таких как Instagram и WhatsApp. Сообщество React очень активно и включает в себя много крупных компаний и ведущих разработчиков. Vue же является более молодым фреймворком, который приобрел популярность за последние несколько лет. Однако, у Vue открытый исходный код и активное и поддерживаемое сообщество разработчиков, которое стремится к развитию и улучшению фреймворка.

Итого, React - хороший выбор для больших и более сложных приложений, в то время как Vue - для небольших и более простых приложений. Выбор между React и Vue зависит от конкретных потребностей и предпочтений команды разработчиков. А с каким из этих фреймворков работаете вы?
👍3😁2
Ваш основной фреймфорк это:
Anonymous Poll
52%
React
18%
VUE
30%
Работаю с другим фреймворком
Как выбрать между публичным и частным облаком устройств?

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

💰 Расходы
Настройка частного облака обычно стоит дороже, поскольку для него требуется собственное оборудование и ПО. Публичное облако, напротив, гораздо более рентабельны. Так как они обычно предлагаются как разделяемый сервис с меньшими накладными расходами.

💂 Безопасность
Когда мы говорим о безопасности, то нужно учитывать, что частные облака предлагают более высокий уровень защиты, поскольку они недоступны для общественности. Публичные облака менее безопасны, потому что ими может пользоваться больше людей.

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

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

🤳 Поддержка
Соглашения об уровне обслуживания (SLA) обеспечивают более персонализированную и индивидуальную поддержку частных облаков. Публичные облака, с другой стороны, обычно предлагают более общие услуги поддержки.

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

🧑‍💻 Наличие устройств
Вероятность получить предпочтительную модель устройства в публичном облаке ниже из-за большой базы пользователей. Частные облака, с другой стороны, имеют больше доступных устройств, поскольку устройства используются только одной организацией.

Выбирая правильное облачное решение для своих нужд, организациям необходимо тщательно взвесить все за и против. Все вышеперечисленные факторы необходимо учитывать. Но в конечном счете правильный выбор будет зависеть от конкретных потребностей и требований вашей организации.
🤔5
О чем не стоит забывать при переносе приложения в Kubernetes

Пост для тех, кто пишет код с нуля и планирует запустить его в Kubernetes, и для тех, у кого уже есть готовое приложение, которое нужно мигрировать в k8s.

📌Делайте выбор в пользу Stateless-приложений

Перезапуск и отключение нод – это норма для Kubernetes, особенно при автохилинге. Стоит организовать приложение так, чтобы данные писались в базы данных, файлы в S3 хранилище, а кэш в Redis, например. В общем, никакие данные, требующие сохранения, не должны писаться в контейнер, в котором приложение запущено. Так вы облегчаете масштабирование кластера под нагрузкой, когда нужно добавить доп ноды и репликацию.

📌 Не забывайте о Endpoints для проверки состояний приложений

В Kubernetes endpoints очень важны для отслеживания состояния приложения. Liveness помогает определить, когда пришло время перезапустить контейнер, а Readiness probes нужен для того, чтобы понять, когда контейнер готов принимать трафик.

📌SIGTERM обеспечивает graceful shutdown контейнера

Иногда Kubernetesм убивает приложение до того, как оно успевает освободить ресурсы. Как ответить на входящие запросы, не принимая новые, завершить транзакцию или сохранить данные в базу данных? Для этого есть SIGTERM. При завершении работы контейнера в его PID 1 прилетает сначала сигнал SIGTERM, затем приложению дается немного времени на корректное завершение.

📌Приложение не должно зависеть от того, на какой из подов приходит запрос

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

📌Не мучайтесь с SSL-сертификатами Kubernetes

Можно использовать отдельный сервис в оркестраторе — cert-manager, который можно просто доустановить. А еще есть Ingress Controller, который позволяет использовать SSL-сертификаты для терминации TLS-трафика. Можно применять как Let's Encrypt, так и заранее выпущенные сертификаты.

📌Приложение за реверс-прокси, соответственно, ссылки в HTTPS

В Kubernetes приложение находится за реверс-прокси, а не торчит напрямую в интернет, и ссылки, соответственно, надо отдавать с HTTPS. В используемой вами библиотеке не забудьте поставить галочку, что приложение находится за реверс-прокси.
🔥7
Mad Devs Channel
HR Day уже завтра ⚡️ Наш первый профессиональный митап для HR-специалистов работающих в IT состоится уже завтра 25 февраля. Напоминаем, регистрация участников начинается в 10:30, а сам ивент стартует в 11:00. Коротко о спикерах и докладах: 📌 Маргарита…
Не так давно мы проводили HR Day. 😎🤘🏻

Событие прошло очень насыщенно и ярко, было много инсайдерской информации из первых уст и дискуссий по ним. Мы помним, что обещали поделиться презентациями наших сотрудников. Обещали, делаем! ⬇️

Ловите:

📌 «Держите одеяло у себя: как общаться с кандидатом и узнавать все, что вам интересно» — Маргарита Мысина, рекрутер в Mad Devs

📌«Дружелюбный онбординг: как с увеличением количества не потерять качество» — Клара Абдулова, HR-специалист в Mad Devs

А вам, кстати, удалось поучаствовать? Поделитесь впечатлениями в комментариях!
3🔥3
Зачем автоматизировать тесты в Agile-среде?

Ручное тестирование по прежнему необходимо в ряде случаев. Однако хорошая автоматизация все же помогает сильно сэкономить время и улучшить качество кода 🦾 Это становится критичным, если вы ведете Agile разработку, о чем сегодня мы и поговорим:

📌 Ручное тестирование занимает много времени. Это может сильно мешать быстрой и гибкой разработке. Ведь приложения постоянно усложняются, матрица тестов растет и в результате команды уже не могут выполнить регрессионные тесты вручную за время спринта, что может привести к недостаточному тестированию и низкому качеству продукта. Именно поэтому в Agile-среде так важна автоматизация, чтобы сократить время на тестирование стандартных кейсов и гарантировать высокое качество продукта в кратчайшие сроки.

📌 Ручное регрессионное тестирование может привести к техническому долгу. Обычно Agile-команды запускают регрессионные тесты каждый день. Делая это вручную может потребовать помощи программистов, что в свою очередь влечет за собой потерю фокуса и увеличение технического долга. Автоматизация тестирования здесь, можно сказать, откровенно напрашивается и отлично решает проблему.

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

📌 Автоматизация тестирования необходима для CI/CD. Важно избегать частичных или поврежденных сборок, которые в последствии забирают дополнительное время команды. Автоматизация здесь является ключевым фактором для создания непрерывных и стабильных сборок на протяжении всей итерации. Это позволяет команде быстро и эффективно выявлять и устранять проблемы, обеспечивая более плавный и гибкий процесс разработки.

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

📌 Автоматические регрессионные тесты как подстраховка. Они предоставляют команде уверенность при изменении кода и помогают быстро обнаруживать дефекты, что особенно важно в гибкой разработке. Хороший охват автоматическими регрессионными тестами создает надежную среду для команды, позволяя им безопасно писать и добавлять код в основную ветку.

📌 Ручное тестирование подвержено человеческим ошибкам. С повторением одних и тех же задач, тестировщики могут начать упускать очевидные ошибки. Автоматизированные тесты могут быть запущены множество раз без изменений или ошибок. Такие тесты гарантируют, что процессы будут выполнены корректно, и улучшают согласованность работы команды. Это особенно важно в гибкой разработке, где быстрое выполнение тестов и обнаружение ошибок помогает команде быстро адаптироваться к изменениям и достичь лучших результатов.

Конечно, автоматическое тестирование не заменяет ручное, а лишь дополняет его, позволяя стандартизировать и ускорить процесс. ❤️

Если вы знаете больше преимуществ, которыми хотите поделиться, то ждем вас в комментариях. ⬇️
🤔41👍1👏1
Хотите сделать проект на великом и могучем С++, но не уверены какой графической библиотекой пользоваться? Давайте разберемся! 🤟

📌 SFML это библиотека написана на C++ и предоставляет простой, быстрый и кроссплатформенный набор инструментов для разработки игр и мультимедиа. Она предлагает различные модули для работы с графикой, аудио, сетью и т.д., что делает ее универсальным решением для многих проектов. Она также предоставляет простой и интуитивно понятный API, что облегчает работу даже начинающим программистам.

📌 Qt это кросс-платформенная среда, которая предоставляет набор API для создания приложений, работающих на различных платформах, включая Windows, macOS, Linux и мобильные устройства. Qt предоставляет обширную библиотеку для разработки графического интерфейса, а также библиотеки для работы с сетями, мультимедиа и многое другое. Она также предоставляет интегрированную среду разработки (IDE) под названием Qt Creator, а также вам доступны QtDesigner, QDevelop, Edyuk, и интеграция с Visual Studio, Eclipse и XCode.

📌 Cairo - это библиотека векторной 2D-графики, которая обеспечивает высококачественный рендеринг векторной графики и изображений. Она широко используется в настольных, веб и мобильных приложениях и поддерживает широкий спектр устройств вывода, включая мониторы, принтеры и прочее. Cairo написана на языке C и предоставляет простой, низкоуровневый API, который облегчает разработчикам интеграцию векторной графики в свои приложения.

📌 Cocos2D-X - это кроссплатформенная игровая библиотека, предоставляющий набор инструментов и API для разработки 2D-игр. Она написана на C++ и обладает высокой степенью кастомизации, что позволяет разработчикам создавать игры, которые выглядят и ощущаются уникально. Cocos2D-X также предоставляет мощный и простой в использовании физический движок, что делает его отличным выбором для игр с достаточно сложной механикой.

📌 Juce - это кроссплатформенный фреймворк, который предоставляет набор API для создания мультимедийных приложений. Он написан на C++ и призван облегчить разработчикам создание приложений, работающих на различных платформах, включая Windows, macOS, Linux и мобильные устройства. Juce предоставляет полный набор библиотек для разработки графического интерфейса, обработки звука и отлично подходит для написания аудио плагинов.

📌 wxWidgets - это кроссплатформенный фреймворк для создания графического интерфейса, который использует низкоуровневый код и предоставляет набор API для создания приложений с нативным внешним видом на различных платформах, включая Windows, macOS, Linux и мобильные устройства. Он предоставляет не только полный набор библиотек для разработки графического интерфейса, но также и библиотеки для работы с сетью, мультимедиа, и различными устройствами ввода вывода.

📌 SDL 2.0 - SDL (Simple DirectMedia Layer) - это простая и быстрая кроссплатформенная мультимедийная библиотека для разработки игр и других мультимедийных приложений. Она предоставляет основные компоненты, такие как аудио, видео, системы ввода, а также поддержку различных аудио и видео форматов. SDL поддерживается на различных платформах, включая Windows, macOS, Linux и мобильные устройства, а также совместима с различными IDE, такими как Visual Studio, Code::Blocks и Xcode.

📌 GTK+ - это открытый многоплатформенный набор инструментов для создания графических пользовательских интерфейсов. Он предоставляет ряд функций, таких как управление окнами, обработка событий и управление макетом, а также поддерживает и несколько других языков программирования, включая чистый C. GTK+ широко используется для создания настольных приложений и является базовым инструментарием для популярной среды рабочего стола GNOME. Он поддерживается на различных платформах, включая Windows, macOS и Linux, и совместим с различными IDE, такими как Visual Studio, Code::Blocks и Eclipse.

Надеемся, теперь вам будет намного проще выбрать подходящую библиотеку ❤️
👍31👌1🤣1
Как вы можете обесценить проектные ритуалы🤔

Многие менеджеры и лидеры команд говорят, что качество конечного продукта и ритуалов управления процессами косвенно связаны. Лидер, в ритуалы которого не верит команда, может потерять бразды правления проектом. Сегодня разберем популярные ритуалы, а также дадим «правильные» советы, которые помогут их не обесценить.

📌 Кик-офф — это установочная встреча участников проекта, на которой обозначают цели проекта, определяют основные роли в команде и обсуждают, как будет выстроена работа.

Что точно поможет?
— Пригласите деливери или сейлз менеджеров, чтобы подробно описать команде требования заказчика.
— При появлении нового члена команды – проведите новый кик-офф.
— Не пропускайте онбординг новых членов команды. Полезно будет создать страницу в confluence с чеклистом для онбординга, чтобы ничего не забыть.

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

Что точно поможет?
— Чтобы не затягивать встречи, фиксируйте проблемы и обсуждайте в рамках рабочих встреч, где будут только причастные.
— Если вы менеджер - не забывайте, что вы член команды, а не начальник. Ваш дейлик не должен состоять из одних созвонов.
— Напомните, что "сделал" не равно "делал". Так как "делал" не говорит о чем-то конкретном. Для ПМ-а должно быть "красным флагом", если сотрудник уже несколько дней делает таску.
— Активность и живость членов команды во время встречи зависит от ПМ-а. Склеивайте встречу, добавляйте переходы, задавайте вопросы, комментируйте.

📌 Ретроспектива — это один из ритуалов, который прямо влияет на качество проекта и процессов в нём. Цель — увеличить эффективность работы команды через улучшение процессов и рефлексию.

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

📌 One-on-one (1:1) — это регулярные встречи с простыми правилами, во время которых легко раскрыться.

Что точно поможет?
— Не опаздывайте на встречи и будьте включенными в разговор.
— Отложите все гаджеты в сторону.
— Не обесценивайте проблемы собеседника. Постарайтесь помочь в поиске решений.
— Откажитесь от панибратства.

Все ритуалы — это инструменты, которые помогают менеджерам и лидерам настроить рабочие процессы в команде. Посоветуйте в комментариях ритуалы, которых вы придерживаетесь 👇
🔥5🤔1
🧠 Давайте поговорим про ИИ.

Кроме ChatGPT, существуют и другие сервисы. Собрали 5 развлекательных веб-приложений с ИИ, за которыми вы можете скоротать вечер.

Quick, Draw!
Игра предлагает вам нарисовать объект или идею, а нейросеть пытается угадать, что вы изобразили. Хитрость в том, что разработчики обучили алгоритм следить за движением курсора/пальца.

AI Duet
Сервис для любителей создавать музыку. Вы можете с помощью кнопок компьютера или MIDI-клавиатуры сыграть несколько нот мелодии, а система постарается логично продолжить.

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

Система построена с использованием библиотеки TensorFlow.

Scroobly
Оживите придуманного персонажа. Система использует Facemesh и PoseNet, чтобы скоординировать движения человека и персонажа в режиме реального времени.

Для машинного обучения использовали библиотеки TensorFlow.js, а для анимации компьютерной 3D-графики Three.js.

Semantris
Выберете тетрис или аркаду и сыграйте в слова. Основа сервиса – технология семантического поиска.

Играя в тетрис, вам нужно придумать слово, которое ассоциируется с одним из имеющихся. ИИ постарается угадать, о чем идет речь.

В аркадном режиме вам нужно подобрать близкие по смыслу слова, на которые указывает ИИ.

AI Dungeon
Это многопользовательская текстовая приключенческая игра, в которой ИИ генерирует контент. А при желании можно и в синглплеер.

Сперва вы выбираете сеттинг для своего приключения, а затем настраиваете другие относящиеся к нему параметры.

В начале игры у вас есть 4 основных метода взаимодействия: Do, Say, Story и See.
Дальше система адаптируется и реагирует на большинство примененных пользователем действий, а пустое поле побуждает ИИ к генерации нового контента.

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

🎮 Может, у вас есть свои фавориты? Расскажите в комментариях.
🔥6👨‍💻1🙈1
На сегодняшний день распределённые приложения являются главным элементом современной индустрии разработки ПО. Они имеют важное значение для облачных сервисов хранения данных, так же позволяют веб-приложениям с огромной аудиторией оставаться производительными. Для их создания отличным подспорьем для программистов являются паттерны распределённых систем.

В инфографике мы представили 5 главных шаблонов проектирования распределенных систем, их преимущества, недостатки и области применения.
👍61