Мы уже публиковали свои внутренние документы с ожиданиями от инженеров и менеджеров продукта в плейбуке на Гитхабе. Пришло время поделиться ещё одним — кодексом тимлида.
User
Коллеги, вы меня огорчаете
Задача формулировалась как «найти человека, который сможет задать и поддерживать высокий уровень профессионализма в применении языка Go». То есть, сформулирована она была по-человечески, перевод на канцелярит — мой. Под эту задачу я сформировал новый опросник вместо того, которым пользовался несколько лет — старый был с жестким закосом под DevOps. Методику, которой я пользуюсь для создания опросников и количественной оценки соответствия кандидатов, я излагал в своем докладе «Техническое интервью как инженерная задача» на конференции Saint TeamLead 2019.
И вот что я хочу сказать вам, коллеги: вы меня огорчаете.
![](https://habrastorage.org/webt/fn/tk/gt/fntkgteqab17ul3ql4gkjztxil0.jpeg)
Не трогайте разработчиков. Отстаньте. Просто не беспокойте
![](https://habrastorage.org/webt/dq/op/p3/dqopp3yjjjemoftmiwlkz2xdwb4.png)
Всем привет! Меня зовут Ян, я руководитель разработки Департамента ИТ инвестиционного бизнеса Газпромбанка. Совершенно неожиданно я занял первое место на конференции Highload++ с докладом про то, как организована работа в наших командах разработки.
Очень коротко: мы пересобрали процесс разработки как таковой, постаравшись выкинуть оттуда явно кривые решения. Получилось следующее: каждые две недели в команде есть дежурный, который отвечает вообще за все внешние коммуникации. То есть он не разрабатывает, а ловит всех входящих в мессенджерах и в личке и не даёт им пробиться до самой команды. Естественно, этот дежурный знает всё происходящее и может ответить на любой вопрос, а это требует и понимания архитектуры, и знания интерфейсов, и понимания особенностей кода коллег.
В результате из простой задачи «не трогайте разработчиков» получилось сделать и очень правильное обучение (если вы дежурите, то у вас нет шансов не разбираться во всех процессах команды), и снижение техдолга (дежурный не берёт таски по фичам на спринты, но может заниматься документацией и всякими вещами в наведении порядка, до чего обычно не доходят руки), и много чего ещё. Сначала казалось, что за это мы платим снижением эффективности команды на 8–10 % (ведь мы выключаем дежурного из разработки), но на деле оказалось, что эффективность даже растёт. Есть ряд вещей, которые очень поменялись и в управлении такими командами в лучшую сторону.
Естественно, такой подход имеет кучу подводных камней и подходит далеко не всем и не каждому типу команд.
Сейчас расскажу про практический опыт.
Как алкоголь влияет на мозг. Углубляясь в нейробиологию
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/eef/adb/362/eefadb362973a4fbf4867b442d76c17a.jpeg)
Ром для старого пирата — это приговор. А как насчет нормального и здорового человека? Цель материала изучить не столько влияние ударной дозы во время пьянки, сколько эффект от регулярного и умеренного пития. Хотя про то, как литрами выпитый алкоголь влияет на мозг, и прав ли был доктор Ливси, мы тоже поговорим.
Прионная болезнь. Романтический ужас
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/467/ec6/62f/467ec662f387fdbc610208cf19eea68d.jpeg)
История открытия прионных болезней представляет собой одну из самых романтических страниц в истории борьбы человека против инфекционных болезней.
В свою очередь, история исследования прионов насчитывает чуть более пятидесяти лет. Открытие этих инфекционных агентов сыграло выдающуюся роль в формировании представления о медленных инфекциях, впервые представив доказательства распространения медленных инфекций среди не только животных, но и людей.
Прионные инфекции отличает длительный инкубационный период
(в течение нескольких месяцев и даже лет), медленно прогрессирующий характер течения, необычность поражения органов и тканей и неизбежный летальный исход.
В мире в настоящее время учёным и врачам знакомы шесть прионных заболеваний животных: скрепи, трансмиссивная энцефалопатия норок, хронический синдром истощения оленей и лосей, коровье бешенство.
Известны также четыре прионных болезни человека: куру, болезнь Кройтцфельда-Якоба, синдром Герстманна-Штреусслера-Шейнкера и фатальная семейная бессонница. В данном очерке рассказ будет о трёх самых известных и наиболее распространённых прионных болезнях человека и животных: скрепи, куру и болезни Кройтцфельдта-Якоба.
Измеритель CO2 без датчика CO2?
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/529/091/bdb/529091bdbd547506b3367751956d1af5.jpg)
Года три назад самый дешевый домашний прибор по измерению уровня CO2 стоил $80. И это была неплохая цена, так как до этого столько стоил один лишь инфракрасный датчик. Сейчас на Ali появилась пара устройств с ценником от 800 рублей. Их заказывают буквально сотнями в разных магазинах, и есть подозрение, что датчика CO2 в них, на самом деле, нет. В общем, у меня тут возникла пара вопросов к самым дешевым приборам.
Как понять, что перед вами плохой разработчик
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/ee4/a85/6ac/ee4a856acc7655731c1216569181d9b9.png)
Мало просто сменить свою сферу работы на IT, желательно еще и стать хорошим разработчиком. Бывший тимлид и консультант Александр Усков рассказывает, как понять, что перед вами плохой разработчик и что с ним вообще можно делать
В этой статье мы разберем признаки слабых разработчиков, которые можно обнаружить на собеседовании, в ходе совместной работы или даже в процессе неформального разговора в курилке. Важное уточнение — все описанное в нашей статье не стоит рассматривать как чек-лист формальных правил. Это скорее некоторые закономерности, каждая из которых не является гарантией того, что перед вами — «плохой» разработчик. Но, если в одном человеке сочетаются несколько из них, то вероятность этого сильно увеличивается.
[Личный опыт] Стоит ли программисту «покорять» Америку
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/7d5/b04/372/7d5b04372f0fb130ab4cb65ba3abb236.jpg)
Х. работает в «американской мечте» программистов — Кремниевой долине. Он поделился своим собственным взглядом на жизнь в Америке, где большие зарплаты, но плохой сервис; прекрасная природа, но ужасные отели; много возможностей, но сложно достичь вершины. А также почему Америка — страна дряхлых технологий, и в чем не прав Дудь. Передаем слово!
Выгорание эволюционирует. Что такое «тихий уход» — новый тренд среди офисных сотрудников
![](https://habrastorage.org/webt/6s/ay/sb/6saysb3_afjno8drygwujgwhl7o.png)
«Громкий уход» — это когда ты объявляешь всем, что увольняешься. Когда об этом знают по крайней мере твои работодатели. Но в последнее время резко начал набирать популярность так называемый «тихий уход» («quiet quitting»). Когда о том, что ты по сути перестал стараться, знаешь только ты.
Как изменилась стандартная библиотека Python за последние годы
Когда выходит очередная версия Python, все внимание достается новым фичам языка: моржовому оператору, слиянию словарей, паттерн-матчингу. Еще много пишут об изменениях в асинхронной работе (модуль asyncio
) и типизации (модуль typing
) — эти модули на виду и бурно развиваются.
Остальным модулям стандартной библиотеки достается незаслуженно мало внимания. Хочу это исправить и рассказать, что интересного появилось в версиях 3.8–3.10.
Предотвращаем утечки памяти в Go, ч. 2. Особенности рантайма
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/7a9/c96/877/7a9c96877ce44eeab107a8ce57f55b99.jpg)
Мы продолжаем наш рассказ о причинах повышенного потребления памяти в языке Go. В предыдущей статье мы детально разобрали ошибки бизнес-логики приложения, которые могут привести к утечкам памяти. Сегодня же сосредоточимся на особенностях рантайма языка Go.
Ехать или не ехать? Check list
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/c20/8b9/070/c208b9070c4e5eb1b7990cecc2f77c61.jpg)
Эта статья не даст вам советов, ехать или не ехать. Принять решение вы должны сами, однако, я попытаюсь систематизировать аргументы ЗА и ПРОТИВ так как сам жил и работал за границей по 3 года дважды - в Америке и Франции.
Мои вопросы работодателю, когда подаюсь на разработчика
За последние 10 лет я поменял 3 работы, прособеседовался с 10+ компаний на позицию разработчика (software engineer) и вел переписку с HR/рекрутерами из нескольких десятков фирм. По ходу дела заметил, что вопросы, которые я задаю на собеседовании с менеджером/командой или с HR, повторяются, и решил их структурировать. Некоторые из них являются общими, и их может задать кандидат на почти любую вакансию; другие касаются только вакансий для программистов. В этой статье поделюсь с вами наиболее типичными и важными вопросами, которые, на мой взгляд, может задать соискатель потенциальному работодателю.
Личный опыт выгорания
Как Go выполняет встраивание
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/08f/a81/e5c/08fa81e5c6d71202908b7f68157f57cf.jpeg)
Привет, я Никита Галушко, работаю над мессенджером ВКонтакте. Расскажу, как Go подходит к инлайнингу функций — этот процесс ещё называют встраиванием. В статье разберёмся, зачем вообще это нужно, какой профит можно получить для ускорения работы кода, а когда плюсы могут обернуться минусами. На примерах углубимся в специфику Go: как этот язык инлайнит функции, что можно и что нельзя встроить, какие возможности доступны в разных версиях. Также обсудим ограничения и способы обойти их.
Предотвращаем утечки памяти в Go, ч. 1. Ошибки бизнес-логики
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/e5c/3f2/1e6/e5c3f21e6a0f72400d70197a04464311.jpg)
Можно любить Go за многое: за простоту и строгость, за горутины и каналы, за реализацию параллельного и асинхронного программирования, за продвинутый планировщик, за аллокатор с большим количеством оптимизаций, за высокую производительность.
Но, по сообщениям некоторых пользователей, у программ, написанных на Go, течёт память. Issue-трекер языка Go на github по запросам «high memory usage», «memory leak», «out of memory» выдаёт сотни и тысячи тикетов. А в самом популярном вопросе на stackoverflow по словосочетанию «golang memory» автор пытается разобраться, почему потребление оперативной памяти в рантайме в 4 раза превышает количество реально сделанных аллокаций. Обращения, в которых люди рапортуют о перерасходе оперативной памяти в Go, стали массовым явлением.
Что же это — утечки памяти, вызванные программистскими ошибками, или ожидаемое поведение рантайма языка? Мы попытаемся разобраться в причинах этого явления и сформулировать общие рекомендации, которые помогут в отладке проблем с потреблением памяти.
Апоптоз
Апоптоз - странно звучащее слово. Не зная его смысла (или не зная греческого), невозможно догадаться что оно означает. Непосвящённым может навеять мысли о филейных частях тела. Но все даже более романтично. Апоптоз означает самоубийство клетки. Помните, как древние императоры избавлялись от неугодных? Присылали вежливую записку с пожеланием смерти и законопослушный гражданин выпивал яду или резал себе живот или вскрывал вены. Так и клетки в какой-то момент своей жизни могут получить указание от высшей власти умереть, которое, как и полагается истинным самураям, беспрекословно выполняют.
Введение в многомерный анализ
Некоторое время назад мне довелось организовывать новую группу разработки, которая должна была заняться развитием OLAP и BI продуктов в дружеской софтверной компании. А так как группа была собрана из свежих выпускников ВУЗов, то мне пришлось написать «краткий курс молодого бойца» для того чтобы максимально доступно дать начальные понятия об OLAP людям, которые ни разу с ним не сталкивались, но уже имели опыт программирования и работы с БД.
Выкладываю теперь это Введение в Общественное Достояние.
В статье несколько смешиваются понятия OLAP, Business Intelligence, и Data Warehouse, но и в жизни часто сложно понять, где проходит граница. А уж в реальных проектах, так и подавно, все они ходят рядом. Поэтому прошу не судить строго.
Рефакторинг программы на Go: ускорение в 23 раза
![](https://habrastorage.org/webt/fw/oq/ji/fwoqjijc84e50kqfhpyzqfl-oay.jpeg)
Привет! Меня зовут Марко, я работаю в Badoo в отделе «Платформы». У нас довольно много всего написано на Go, и зачастую это критичные к производительности системы. Именно поэтому сегодня я предлагаю вашему вниманию перевод статьи, которая мне очень понравилась и, я уверен, будет вам очень полезна. Автор пошагово показывает, как он подходил к проблемам производительности и как их решал. В том числе вы познакомитесь с богатым инструментарием, доступным в Go для такой работы. Приятного чтения!
Несколько недель назад я прочитал статью «Хороший код против плохого кода в Go», где автор шаг за шагом демонстрирует рефакторинг реального приложения, решающего реальные бизнес-задачи. Она сфокусирована на превращении «плохого кода» в «хороший код»: более идиоматичный, более понятный, полноценно использующий специфику языка Go. Но автор также заявлял о важности производительности рассматриваемого приложения. Во мне взыграло любопытство: давайте попробуем её ускорить!
50 оттенков Go: ловушки, подводные камни и распространённые ошибки новичков
![](https://habrastorage.org/files/64f/bc1/8a3/64fbc18a37fa4dd884eeb8200dd5c8dd.jpg)
Go — простой и забавный язык. Но в нём, как и в любых других языках, есть свои подводные камни. И во многих из них сам Go не виноват. Одни — это естественное следствие прихода программистов из других языков, другие возникают из-за ложных представлений и нехватки подробностей. Если вы найдёте время и почитаете официальные спецификации, вики, почтовые рассылки, публикации в блогах и исходный код, то многие из подводных камней станут для вас очевидны. Но далеко не каждый так начинает, и это нормально. Если вы новичок в Go, статья поможет сэкономить немало часов, которые вы бы потратили на отладку кода. Мы будем рассматривать версии Go 1.5 и ниже.
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Registered
- Activity