Mad Devs Channel
1.77K subscribers
483 photos
26 videos
1 file
752 links
Канал Mad Devs.🤘Здесь мы рассказываем о жизни компании и инсайтах. Делимся знаниями и лайфхаками IT-индустрии.
Download Telegram
Не так давно наш фронтенд-разработчик Антон Грушкин выступил на слаконаре Hexlet.io с темой “Командная игра в разработке: не быть мудаком проще, чем кажется”. Слаконар – это формат интерактива со спикером, при котором вопросы и ответы печатаются в канале Slack.

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

Как стать таким стоппером и блокером? Какие простые приёмы и инструменты стоит использовать, чтобы выполнять свои обязательства? Как не оставлять в проекте бардака и вовремя информировать команду? Почему твоё саморазвитие не только твоя, но и общекомандная проблема? Ответы на все эти вопросы можно получить, почитав материалы слаконара.
This media is not supported in your browser
VIEW IN TELEGRAM
Новый сайт Mad Devs уже тут, встречайте!

https://maddevs.io/

За время изоляции мы успели подготовить новый сайт с информацией о нас как компании, наших услугах и проектах. И это только начало – в дальнейшем на сайте Mad Devs появятся серии новых технических статей и большой обучающий проект для заказчиков ПО – Customer University.

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

А ещё наш новый сайт, полностью в opensource! Чекайте последние изменения в GitHub

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

Десятки спринтов, 1000+ pull requests, но мы готовы увеличить эти цифры ради отличного результата! Пишите нам в поле comments прямо под этим
This media is not supported in your browser
VIEW IN TELEGRAM
Мы в Mad Devs следим за последними трендами и больше не можем игнорировать популярность TikTok. (Да, теперь за тем, как мы работаем, можно следить и там тоже - обещаем много забавных видео из наших просторных офисов!)

Ищите нас там по нику maddevsio или просто переходите по ссылке: https://vm.tiktok.com/J8GJgrp/
В Mad Devs мы работаем не только над качеством наших продуктов, но и над качеством знаний в команде. У нас внедрена процедура аттестаций сотрудников.

Аттестация – это встреча представителей двух поколений, более опытного и начинающего. Прокачанный специалист проверяет знания менее квалифицированного. На основе выявленных пробелов формируется план профессионального развития. Менее опытный сотрудник понимает, куда ему двигаться и чему учиться. Проверяющий прививает новичку ценности работы в IT-отрасли вообще и в Mad Devs в частности.

Аттестация похожа на нагрузочное тестирование – человеку задают вопросы из его области до тех пор, пока он может дать ответ. Иногда суть вопроса – рабочая ситуация, на которую нужно отреагировать. Это позволяет оценить и уровень компетенций того, кто проходит аттестацию, и то, как он мыслит, как планирует действовать. Важно не погладить человека по голове за то, что он уже знает, а определить то, в чём он пока не разбирается. Именно над этим аттестуемому и предстоит работать.
Mad Stream продолжается! 🤘

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

В ходе выступления Вы узнаёте:
- Как написать письмо на которое ответят;
- 6 обязательных шагов в деловой переписке;
- Bad habits в деловой переписке, которые всех бесят.

После нашего Mad Stream будет сессия вопросов и ответов.

Будем ждать всех желающих!

📅 В четверг 16 июля.
В 18:00 по Бишкекскому времени.

Ссылка на стрим: https://youtu.be/2m4qvRz6ZSs
Сегодня полезный пост про линтеры.

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

Какими линтерами стоит пользоваться при разработке и организации непрерывной поставки (CI)? Ниже список от нашего CTO, Андрея Минкина:

1. Проверка стайлгайдов — pep8, go vet.
2. Проверка докстрингов — golint, pylint.
3. Проверка на мертвый код и неиспользуемые зависимости — deadcode, pyflake8.
4. Проверка на цикломатическую сложность (Cyclomatic Complexity) — gocyclo.
5. Проверка на безопасность и статический анализ AST — gosec, bandit.
Мы уже писали пост про изучение Go для начинающих. Оно, конечно, полезно, но что делать продолжающим? А продолжающим можно идти по следующим путям:

1. https://github.com/golang/go/wiki/Courses – официальный гайд от команды разработчиков Go. Покрывает внутренности языка, конкуренси, распределенные системы, сети и дизайн компилятора
2. https://github.com/hoanhan101/ultimate-go – отличный гайд для закрытия всевозможных зон некомпетенции от алгоритмов, до дизайна языка. От дизайна ПО до тестирования. Это более общий и широкий гайд, который будет отличным дополнением узкопрофильному и хардкорному варианту от разработчиков языка.

Развивайтесь и процветайте!
Иногда возникает необходимость изучить что-то срочно. Задача по переносу растущего проекта в облако может потребовать от ваших инженеров новых компетенций. Что делать, если нужно за очень короткое время освоить AWS и облака?

Есть множество разных курсов разной степени фундаментальности, но наши инженеры рекомендуют https://acloud.guru Этот ресурс с хорошим контентом по облакам также даёт рекомендации по тому, как лучше усваивать новую информацию.

Кроме того, "A Cloud Guru" имеет разбиение по ролям в компании – если вы разработчик или архитектор, можете выбрать Developer или Architect соответственно, чтобы получить доступ к материалом для вашей специализации. На ресурсе также доступна и подготовка к сертификации.
Уже много лет мы предоставляем IT-услуги сервису доставки Namba Food, который во время карантина обеспечивал жителей Бишкека едой и лекарствами, и сейчас продолжает активно работать. Проект предлагает различные варианты сотрудничества - от собственной брендированной страницы организации до полноценного партнёрства с развёртыванием аналогичного сервиса в другом городе и под другим брендом.

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

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

Namba Food: Top 1 Delivery Service in Central Asia
Чтобы не было мучительно больно, желательно всегда знать, что происходит у вас на продакшне. Решить эту проблему помогает хороший мониторинг. Какими системами стоит пользоваться? Ниже топчик от Чака (aka Andrew Minkin), CTO Mad Devs.

1. Sentry.io хорош для сбора ошибок с бекенда и фронтенда.
2. Crashlytics стоит использовать для проверки мобильных приложений.
3. New Relic даёт возможность сбора метрик по приложению, профайлинга и ошибкам.
4. Elastic APM – альтернатива New Relic.
5. Prometheus – хорошее хранилище метрик.
6. ELK подходит для анализа логов.

Мониторинг спасает от панического перетряхивания всего продакшна в попытках понять, что там происходит. Хороший и качественно настроенный мониторинг вовремя предупредит о проблеме и позволит локализовать её (у вас будет хотя бы примерное представление, что именно сломалось). Вы получите оповещение в Slack и отправитесь чинить правильную часть системы, не ломая ничего больше. Мониторинг – ваши глаза и ваш рентген, без него вы работаете вслепую.
Искусственный интеллект и машинное обучение постепенно изменят наш мир до неузнаваемости. Уже сейчас с помощью нейросетей можно генерировать тексты, превращать фотографии в картины, распознавать текст на фото.

Ведутся и эксперименты по тому, чтобы применять ИИ для решения бизнес-задач – например, ему предложили придумать новые способы для обучения людей языкам.

Но есть и те, кто идёт ещё дальше. Учёные уже пробуют создать полностью цифрового человека – существо, которое выглядело бы как человек, при этом не являясь человеком. Один из них, Дуг Робл, даже рассказал об этом в докладе TED: https://www.youtube.com/watch?v=nJd_2mJ4u-I
Сегодня говорим про алгоритмы.

Где их изучить? Источников множество, но если вы новичок в программировании, лучше сразу выбирать хороший первоисточник, чтобы потом не переучиваться с плохого. Мы советуем материалы Роберта Седжвика (Robert Sedgewick), профессора Принстонского университета и бывшего члена совета директоров Adobe Systems. Он написал ряд книг по алгоритмам для нескольких языков программирования. Ещё на Coursera можно пройти два курса по алгоритмам, который Роберт Седжвик читает вместе с коллегой Кевином Уэйном:

https://www.coursera.org/learn/algorithms-part1
https://www.coursera.org/learn/algorithms-part2

Курсы подойдут и тем, кто не знает алгоритмы, и тем, кто хочет освежить их в памяти.
Mad Stream продолжается!

В этот четверг мы проводим онлайн-вебинар, где наш специалист по Embedded System Engineering, Антон Козлов, выступит с темой:

«Что можно напечатать на 3d принтере, помимо ещё одного 3d принтера.»

На стриме вы узнаёте:
1. О том как нам преподносят трехмерную печать и чем она является на самом деле;
2. Трехмерная печать не серебряная пуля, недостатки технологии как: масштабируемость, цена, качество изделий;
3. Основные виды трехмерных принтеров доступных простому обывателю и принцип их работы;
4. Пример проекта в котором трехмерная печать ускорит разработку продукта.

После стрима будет сессия вопросов и ответов.

Ждем всех желающих!

Мероприятие начнётся в четверг 30 июля, в 17.00 по Бишкекскому времени.

Ccылка на стрим: https://youtu.be/klHxO9c1d2Y
Проверено Mad Devs: лучшие посты получаются из того, что по-настоящему бесит. Наш CTO Андрей (Чак) Минкин однажды потратил 14 часов, чтобы запустить Geo Django на ElasticBeanstalk. Если вам тоже нужно сделать это, и вы не желаете изобретать колесо заново, прочитайте статью (но учтите, что она на существует только английском языке)

🧨 Running Geo Django on ElasticBeanstalk
Более 270 километров в день на велосипеде!

Наш CTO Чак (Андрей Минкин) и разработчик Анатолий Федоренко проехали от Бишкека до озера Иссык-Куль ради прекрасных видов и испытания себя на прочность.

Удалось не только доказать, что такое в принципе возможно для не профессионального спортсмена, но и выявить некоторые ошибки, которые не стоит совершать при таких длительных поездках. Подробности про Mad Bike Trip можно почитать на Medium:

🚴‍♂️ Бишкек – Иссык-Куль на велосипеде 🚴
У нас в Mad Devs удалённая работа строится с помощью разных типов созвонов. Проверенный факт – разные форматы идентичной активности помогают работать более продуктивно. Возможно, наш опыт пригодится там, где офисы всё ещё пусты.

1. A stand-up sync – обычный созвон на 15 минут, где участники команды просто рассказывают о том, что было сделано вчера и делятся планами на сегодня, а также озвучивают проблемы. Споры и выяснения отношений не предусмотрены. Может происходить раз в день.

2. Blame sync – созвон, предназначенный специально для споров и выяснения отношений. Можно орать, ругаться (в том числе нецензурно), наезжать, требовать и получать по заслугам. Проводится раз в неделю.

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

4. Rush session – созвон, на котором рабочая группа намерена в течение определенного времени (например, 2 часов) сделать максимум работы, решить максимум проблем и вскрыть максимум "черных ящиков". Обычно на этом созвоне присутствует не менее двух менеджеров (одному не справиться). Они быстро пробегаются по проблемам, добавляют к себе на созвоны нужных ребят на 10-15 минут, пишут доки, делают звонки, и всё это в максимальном темпе. Такой формат может применяться раз в день, если в проекте очень много блокеров.

5. Silent session – созвон, при котором все отключают звук и тихо, спокойно работают. Может продолжаться в течение всего рабочего дня. По сути это замена текстового чата. Для такого формата подходит push-to-talk voice chat.

6. Drunk sync – созвон, на котором народ собирается и общается на разные темы, в том числе далёкие от работы. Алкоголь разрешён. Назначается такой созвон раз в неделю, обычно по пятницам.

7. Engineer sync – созвон, на котором инженеры обсуждают новости, проблемы, делятся опытом. Проходит раз в неделю.
Кибирд #18 – Программист в штатском

Равняясь, смирно! Как вы думаете чем отличается прогер в штатском от бывалого программиста-вояки? Такое вот условное разделение на сей раз будут обсуждать бессменные ведущие Кибирда – Олег Пузанов и Михаил Иващенко.

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

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

Больше деталей в нашем видео, подписывайтесь на канал, ставьте лайки и оставляйте комментарии, нам важно ваше мнение.
Наш CTO и сооснователь компании Андрей Минкин принял участие в записи подкаста The Art of Programming по теме "Честные аутсорсеры и знания" для докладчиков Knowledgeconf.

Обсуждали автоматизацию процессов с помощью JIRA (например, для ускорения онбординга сотрудников), не обошли стороной управление знаниями, командой и повышение продуктивности. Послушать подкаст можно здесь:

https://blog.golodnyj.ru/2020/06/222-art-of-programming-knowledgeconf.html
Ни один бизнес в Интернете не сможет функционировать без надёжной системы получения оплаты от конечных пользователей. Система приёма платежей должна соответствовать современным требованиям к безопасности и работать без сбоев и ошибок.

Писать собственную платёжную систему с нуля нецелесообразно – рынок таких систем уже достаточно развит, чтобы подключить стороннюю готовую разработку. Обычно мы рекомендуем своим клиентам Stripe и Stripe Connect

С одной стороны, интеграция Stripe и Stripe Connect удобна благодаря подробной документации и хорошему API. С другой стороны, если у вас нет опыта подобных интеграций, вы можете столкнуться с подводными камнями и потратить много времени на решение известных проблем. Чтобы этого не произошло, ознакомьтесь со статьёй нашего разработчика Анатолия Федоренко:

https://blog.maddevs.io/opyt-vnedreniya-stripe-connect-v-e-commerce-proekty-b6c7a6458418