Уютный IT адочек
3.43K subscribers
68 photos
7 videos
4 files
202 links
С любовью к людям и их горящим задницам
Download Telegram
Однажды подрядчики столкнулись с проблемой с целостностью данных в БД. Ну мы почесали репу, написали им SQL-запрос, который должен был подсветить, где проблема.

Не помогло, говорят.
Странно, говорят, запрос не валидный.
Стали разбираться.

Оказалось, что перед тем как вводить SQL-команду — нужно подключиться к базе данных.
🎉27🤯10🔥7👍2🤔2💩1
Кажется, началось…

В Госдуме началось обсуждение законопроекта, который предлагает ввести запрет на пропаганду языка программирования C#.

По мнению инициаторов законопроекта, C# слишком сильно концентрирует внимание разработчиков на платформе Microsoft, и такой монопольный подход негативно сказывается на разнообразии и инновациях в мире программирования.

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

Нужно начинать продвигать Rust как более правильную замену!
🎉26💩10🤯5👍2
Когда вступаешь в управленческую должность — нужно сделать ряд вещей, о которых никто тебе не скажет. Нужно “въехать” в целый ряд тем, самый лучший вариант — это буквально поставить себе задачу выяснить и оформить в виде схем/документов.

Какие это могут быть темы и артефакты?

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

То есть буквально: забиваем в календарь кучу встреч, ходим, спрашиваем, рисуем в схемы и конспекты. Эти артефакты помогут вам не только разобраться, но и быстро найти общий язык с коллегами, когда будете объяснять к чему будете вести команду. Это задача, которую ты ставишь сам себе и добиваешься её первым приоритетом.

Аналогичные приседания (в большей или меньшей степени) приходится делать буквально каждый раз, когда на тебя сваливается новая зона ответственности / дополнительная роль.
👍40🔥18
Рубрика “плохие советы от топовых руководителей” (основано на реальных событиях)

Старайся быть объективным.
Если ты считаешь, что кто-то сообщил ошибку — не надо вот этого вот “мне кажется” и “на мой взгляд”. Говори с объективной позиции, используй чёткие формулировки: “так делать нельзя”, “это так не работает” и “мир устроен иначе”.
Говоря “я считаю” или “мне кажется” — ты внушаешь неуверенность своим сотрудникам, как будто ты не профессионал и не разбираешься, как будто на тебя нельзя опереться.

Будь твёрдым и покажи сотрудникам, кто здесь более компетентен! Не провоцируй ненужных обсуждений — они расфокусируют!
🔥12🤯6💩6🎉1
Съездил я в Дубай, где удалось пообщаться с местными “понаехами” и туристами. Какой же это плавильный котел культур!

Почти все общаются на английском, и часто это вызывает затруднения: попробуйте разобрать числительные в произношении арабов или индусов. Но вместо раздражения люди проявляют терпение, переспрашивают — и это работает. Счастье в том, чтобы достучаться до собеседника и быть услышанным, даже если это трудно. Нет смысла смущаться своего низкого уровня владения языком — нужно пробовать и общаться.
Интересно наблюдать за детьми: они владеют английским почти идеально. Они не понимают, как можно не знать английский, у них в школах преподавание идёт на английском. Мне стало интересно и я, заинтригованный, вышел в интернет. Нашёл отчёт (https://www.ef.com/wwen/epi/ ), который показывает, что, кроме Китая, английский уверенно растет по всему миру последние десять лет.
На фоне "разворота на восток" и иногда проскальзывающих лозунгов "давайте учить китайский — он нужнее" (и растущего своего ребёнка) невольно задумываешься, какой язык будут использовать наши дети и внуки для написания кода? Останется ли английский главным, или всё-таки придёт время 1С и китайских аналогов?
🔥13👍5
Многие сейчас пишут про terminal.shop — магазин где, якобы, можно по ssh сделать заказ кофе.
Но мало кто помнит про

telnet towel.blinkenlights.nl

Приятного просмотра
🔥12
В одном не-айти стартапе собрали кучу народу из разных компаний. Самых разных специальностей.
И начались увлекательные приключения, потому что люди не понимали друг друга. Вот например, есть дерево компонентов:

- хреновина
- - попиндюшка
- - - тарантайка
- - - пулипулька
- - тирипунька

И в очередном документе появляется новый термин, “фигулина”.
Выходцы из одной компании называют словом “фигулина” — хреновину. А в другой — тарантайку.

А теперь представьте себе, что таких терминов — сотни.

И дальше, в таких условиях, сотруднику ставится задача: “проработать взаимодействие фигулины и аляпувины”. И ему нужно организовать создание кучи проектной документации, отчётов по результатам исследований и тому подобного. И каждый документ — пересыпан терминами.

Класс, да? 🙂

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

Как их к этому подвести?
- Отобрать экспертов (человек 20)
- Выбрать скоуп документов, в которых есть термины
- С помощью аналитиков, которые хотя бы чуток понимают предметную область, вычитать все документы и выписать все термины, которые им встретятся (с указанием где они встретились и при каких обстоятельствах)
- Эксперты должны пройтись по всем терминам, которые знают, и расписать их определения. Получится до 5 вариантов одного и того же термина — и это прекрасно!
- Экпертов, отметившихся в одних и тех же терминах нужно будет свести на серию встреч и фасилитировать их обсуждение до тех пор и столько встреч подряд, сколько потребуется, чтобы прийти к согласию.
- Далее эксперты самостоятельно распространят новое знание, а им в этом можно помочь публикациями и рекламой.
👍43
На ретро и мозговых штурмах сложная часть — это "раскачать" народ, чтобы они отключились от прошлых задач, погрузились и начали генерировать идеи. У меня порой уходило до 15-20 минут, чтобы народ включился.
Толку от людей эти первые десятки минут никакого — один вред.
Для меня открытием был интересный приём, отталкивающийся от принципа "не можешь победить — возглавь".

Вместо того, чтобы пытаться получить от людей пользу — нужно творчески заняться с людьми полной хуйнёй! Главное при этом — делать это творчески.

Таким первым заданием может быть:
- найдите и запостите на доску в miro картинку, которая отражает ваше состояние
- пришлите в чат зума картинку, которая ассоциируется у вас с <термином>
- расскажите, какой вы сегодня кот
А после того, как люди сделают свою часть — обсудите на серьёзных щщах, почему каждый выбрал именно этот вариант. Проделайте примерно то же самое, что будете делать во время серьёзных обсуждений, заодно и с форматом людей познакомите!

Абсурд? Конечно.
"Эффективных" будет бомбить? Обязательно.
"Бесполезная трата времени" — однозначно нет.
👍32🔥15🎉4💩4🤔1
Forwarded from Sharovatov (Vitaly Sharovatov)
какое однако красивое принёс товарищ: https://ncase.me/crowds/
🔥13🤔1
https://habr.com/ru/news/818177/
Докер хаб недоступен

Ищите пути обхода, если не подготовились, например
https://huecker.io/

Но старайтесь учитывать, что использование чужих прослоек = риск, что вам подменят образы.
💩5🔥4
Обожаю такое. Началось всё с того, что однажды к нам прилетела жалоба на небольшой процент ошибок при разборе очереди. Сужали область поиска и нашли те конкретные сообщения, на которых происходил сбой.

Казалось бы — в сообщениях нет ничего особенного. Сообщение как сообщение, но сервис на нём падает. Раскопали, что есть какая-то особенность XML, которую некоторые валидаторы не пропускают. Обидно, конечно, что наша либа не обрабатывает эту особенность как исключение, а просто крэшит приложение, но бывает.
Поменяем либу на более толерантную и заживём!

….

Перебрали несколько вариантов и энтузиазма поубавилось. Проблема воспроизводилась снова и снова, независимо от количества звёздочек и автора.

Ага! — говорит особо внимательный разработчик, — так тут же все пакеты под node.js под капотом используют одну и ту же либу на плюсах! И проблема в этой либе, которая не обрабатывает конкретно эту исключительную ситуацию, с которой мы столкнулись
Опечалились мы: не хотелось писать свою либу на плюсах 🙂
Возьмём либу на Go, — предложил разработчик, — подсунем её и всё будет хорошо”.
План был отличный, кроме того, что не сработал. Угадайте, как либа на Go парсила XML? С помощью всё той же библиотеки на плюсах.

Знать, что под капотом у ваших библиотечек с гитхаба таки полезно! А мы в итоге написали предварительные проверки руками в своей обертке.
🔥27👍10🤔4🎉2
Рубрика “мерзкие советы от топовых менеджеров”
Основано на реальных топовых менеджерах.

Рост специалистов — не то, что тебя должно интересовать как руководителя.
Тебе надо зарабатывать деньги.
Тебе надо, чтобы всё идеально работало.
Ты должен установить планку качества и требовать результатов от людей.

Кто выплывет — тот выплывет. Кто не выплывет — того уволим.
💩21👍4🤯4🤔3🔥2
Адаптивность - важнейшее свойство живых существ, свойство, доверенное человеком до совершенства.

Выскажу непопулярное мнение, что на работе надо быть гибким. Не в смысле "маму родную продам", а в смысле "могу адекватно функционировать в широком спектре ситуаций".

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

Если вы годами яростно охраняете себя, то ваши софт скиллы - гавно.

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

Или нет.
🔥23🤯4👍3💩1
Предвестники беды

На полном серьезе, на мердже в программе доклады с шизотерикой. Это форменный пиздец. Когда в техническую тематику приходит нумерология жди беды. Ладно, что есть такие люди, хрен бы с ними, фантазерами мир полнится, но на айтишной конфе на полном серьезе заявлять такие доклады 🤡. Если такое начинает происходить на полном серьезе, и никто в этом не видит проблемы - жди беды

- "...затронем важные Астрологические нюансы/факты (ретроградный Меркурий, коридоры затмений, соединение планет) и как эти факты могут повлиять на сферу IT и в целом на ваш бизнес."
- Как-как, НИКАК (фьють-ха)

Что дальше? Начнете приворотные зелью на выручку и кроличьи лапки на CSI продавать?
💩24🤯16👍3🔥2
Читал я тут Лю Цысиня и очень понравилась концепция держателя меча.

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

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

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

И это не выдуманное, могу пальцем показать на успешную компанию-аутсорс, где своими глазами видел правило "для клиентов надо делать ровно столько, чтобы они не ушли, но не больше!"

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

Не можете стать злым? У вас есть явная зона для личного роста.
👍29🤔1
Поехали в офис, Игорь! Надо увидеть друг друга, Игорь!
Сядем, поработаем вместе, Игорь!

Тем временем — интернет в офисе.
🔥19🤯8👍3💩1
Умение выражать свои мысли не зависит от уровня заработка, позиции в иерархии, роли или возраста.
Парадоксально, но владелец бизнеса может быть кривовыражающимся моральным уродом, косноязычие которого компенсирует его команда.

Как быть, если вы оказались в плохой компании? Как понимать и быть понятым?
👍6🤔5
А потом он нажал "deploy"...

Мы не знаем сейчас, кто именно написал этот код и кто нажал деплой. И вряд ли когда нибудь узнаем.
Старики, заставшие ковид посмеиваются, говорят, что им это знакомо, но уверенности в их словах не много.
Мы сидим у подъезда, рассказываем друг другу новости, сплетни. Дети играют в тикток друг перед другом.
Третий месяц лежит вообще все. Банки, поезда и самолеты, магазины и доставка.
Люди как-то приспособились, но многие компании закрылись навсегда. Насильная offlinization теперь навсегда с нами и с этим придется как-то жить, даже когда все восстановится.
🔥25🤔4💩4👍1
Прошел ещё год, и я верю, что некоторые из вас видели восхитительные приключения.
Если при этом получилось навести порядок со знаниями в команде и вы могли бы поделиться светом знания - пожалуйста, не держите в себе!
https://cfp.knowledgeconf.ru/ - одна из самых круто организованных конференций ищет докладчиков, возможно это - ваш шанс прокачать нетворкинг и личный бренд.

Не реклама, пишу от чистого и пламенного сердца
🔥5
Итак, у нас было клиентское приложение. Приходит клиент, говорит, АЛЯРМА, КАЖДУЮ НОЧЬ НА ПРОДЕ ПРИЛОЖЕНИЕ ПАДАЕТ!
И начинается наше приключение длиной в несколько недель...

Начинаем разбираться.

Реально, согласно мониторингу приложение частично лежит в ночи, с 3 ночи до 5.
В это же время потребление CPU уходит под предел лимитов.
Повышаем CPU — оно выжирает целиком 1 проц (именно ночью! днём нормально работает!) и выше не растёт. Ну тут мы сразу поняли: nodejs, параллелиться по ядрам не умеет.
Просыпаемся в ночи, смотрим что такое. Приложение убивают liveness пробы, поэтому вырубаем пробы — приложение не падает, но в метриках всё ещё пусто, в логах пусто, вообще ничего не видно. Приложению настолько плохо, что оно вообще ни на что не реагирует и ничего не делает.

Пытаемся добраться до того, что же оно там делает.

Смотрим, что прилетает из кафки — может там какой-то батч в ночи присылают им огромный, который кладёт приложение? В пользу этого говорит то, что после 5 утра (когда залипалово заканчивается) приложение согласно логам выдает дальше по процессу море данных из кафки.
Изучение взаимодействия с кафки не даёт примерно нифига.
Делаем хуёмболу, которая следит за блокировкой event loop (это такая херня в js, когда он не может переключиться на другую "асинхронную" задачу из-за того, что залип на чём-то). Аккуратно врубаем хуёмболу.
Видим, что происходит блокировка event loop на 7200000 (!!!!!) миллисекунд.

Очень заинтригованные лезем изучать код приложения.

А там… кастомная реализация функции sleep, в которой написано крутиться в бесконечном цикле если время на часах — с 2 часов ночи до 5.
🔥34🤯30🎉5💩3🤣1