Уйти в IT! - тимлиды, архитектура, базы данных, разработка и менеджмент
266 subscribers
34 photos
3 videos
70 links
▪️Ведущий технический менеджер в Yandex Infrastructure
▪️15 лет в IT

Пишу о происходящем в мире IT - обзоры на интересные статьи и гайды от себя по технологиям, софт скилам, dev процессам и карьере в целом

Я: @arturgspb
Download Telegram
Что такое хороший и плохой код? Где граница и как понять, когда хватить переделывать и пилить бизнес фичи, а когда надо продолжать технологизацию? Поговорили с Витей из Кода Кода про это. Кроме меня на подкасте много замечательных людей, очень рекомендую послушать - там много полезных мыслей!

Вот ссылочка на пост - https://t.me/kodakodacast/284
👍5
Просто история

Селениум тесты начали тут медленно работать. Долго боролись, думали что-то это после обновления либы, которую мы юзаем для тестов или еще чего-то там у нас. Связались с разработчиком либы - он сказал, что не наблюдает такого поведения. Прям много всего перебрали, думали даже, что vpn как-то влияет на мироощущение хрома, точку останова ставили в кишочках, много гуглили и пр и пр. Потом отпуска и вчера с новыми силами вернулись к проблеме и оказалось, что баг в chromedriver именно на apple m1. 🤦‍♂️ На m1 он запускал не arm архитектуру под селениумом, а intel =) Хотя если просто браузер запускаешь - все ок. И браузер хром под тестами запускался без алертов, но тест работал не 6 секунд как надо было, а около 80 секунд.

Баг до сих пор не пофиксили, кстати. Мы пока перешли на FF, а хром на selenoid в облаке гоняем - там все ок, там на linux уже все крутится.

Короче - и на старуху бывает проруха и не всегда вы виноваты. Даже в больших компаниях с оч большими бюджетами все равно бывают такие вот адские косяки, которые уже наверно месяц не могут полечить и советуют java переустановить (и все равно это не всем помогает). 😂
👍5
Интересная статья, которая в который раз показывает, что с определенного уровня не уйти от говорения ртом, развития в себе софтскилов, в целом навыков убедительной аргументированной речи и, даже, чего-то типа навыков продажи.

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

Если вам надо что-то протащить, то аргументировать как правило надо не на основе того, что у вас болит. Я бы сказал, что надо понять, что надо другому человеку (что у него болит или его желания) и через это (не обманывая, конечно) строить с ним диалог о том, что вам что-то надо. Т.е. придумать как получить win-win.
👍4❤‍🔥1
Про приоритеты

Менял сегодня роутер на даче с грехом пополам)) Разобрался как поменять MAC-адрес моего роутера у провайдера. Тема про то, что у провайдеров есть фильтрация по MAC-адресу роутера, чтобы кто-то не цеплялся посередине в ваш канал, как-то прошла мимо меня, но опять Леха помог 👋.

Как всё сделал, пошел проверять на устройствах. Телефоны ок, репитер ок, пошел к телевизору. На даче ТВ юзается через интернет через всякие онлайн кинотеатры, чтобы не ставить антенну или тарелку. Так вот, открываю один онлайн кинотеатр от одной большой компании и первым загружается рекламный баннер на четверть экрана 😅. И только потом подгружаются карточки фильмов и телепередач. Такие вот дела. Улыбнуло, закрыл и мысли унесли меня в воспоминания про свой путь в качестве разработчика.

Вообще, я в рекламном бизнесе в разработке уже лет 13 или 14 и это, я вам скажу, всегда было интересно и довольно безопасно. При всяких кризисах рекламный рынок, конечно, довольно быстро падает, но и восстанавливается одним из первых. Я застал уже 3 кризиса, наверно, и два из них я был уже в «рекламе». Стоит сказать, что реклама бывает разной - серые и черные методы, обман, спам, дорвеи всякие и пр. А есть и нормальная цивилизованная реклама с интересными интеграциями с рекламными системами типа VK рекламы, Яндекс.Директа или пр. В такой я и работаю все это время. Тут нет всякой жести и обмана, тут речь скорее про качественные рекламные материалы и хорошие «белые» подходы. Про таргетинг на нужную аудиторию для того, чтобы показывать вам только нужное и не раздражать, а наоборт скорее помочь быстрее найти то, что вам надо и пр. и пр.

Пока писал пост, подумал, что раз уж речь пошла про рекламу, то почему бы не написать, что наша команда расширяется и мы ищем:

- FullStack Middle / Senior разработчиков (стек nodejs, reactjs, sql, rabbitmq, redis)
- QA инженеров Junior / MIddle (Allure, Selenium автоматизация на python)
- UI / UX дизайнеров (figma и еще что-то, тут лучше вопросы позадавать, если интересно)

Если интересно, то писать можно мне в личку в ТГ @arturgspb и на почту a@centra.ai
👍7
Про сложности

Сегодня мы запустили ракету на луну. Я про Луна 25, говорю. Это прекрасно и я вас с этим горячо поздравляю! Наконец-то космосом опять начинают заниматься в плане конкретных действи и пиара, да и в целом лично для меня это что-то новое в космических начинаниях РФ. Ура!

Я хотел поговорить немного про СССР. Как и везде были плюсы и минусы (и я бы не хотел это обсуждать), но в одном я очень завидую тогдашним мальчишкам. Взгляд людей был направлен на что-то в будущем, на что-то потрясающее и завораживающее. Космос! Очень многие хотели быть космонавтами, летчиками, врачами, спортсменами и пр. Все читали приключения Алисы Селезневой. Не было или особо не афишировались эти приземленные «кек», «лол» и пр. шелуха =) Люди, как мне кажется, в массе своей стремились поменять мир и оказаться в будущем, а не просто заработать бобла и отвалить.

Так вот. Когда мы делаем проекты, часто бывает так, что мы забываем о больших стремлениях, развитии отрасли как таковой, забываем думать сами свой головой! А именно это и питает, например меня. У кого-то это все превращается в бесконечную кальку предыдущих проектов или историй как делают в других компаниях / группах / отделах. Быть в теме, конечно, не плохо и даже крайне важно, но при этом не надо забывать, что мы сами можем менять мир вокруг нас. И вообще не факт, что там, куда вы смотрите, все сильно лучше и правильнее на самом деле. Там свои проблемы и свой контекст. Хотелось бы пожелать всем нам больше думать самим, ставить великие цели и стараться добиваться их, а не просто пытаться повторить успех кого-то. Это сложно и надо тратить на это достаточно времени, но это будет ваш прорыв и ваша жизнь, а не калька. Будущее зависит от каждого из нас.

В общем, как говорится - чтобы переплыть реку недостаточно стоять на берегу и смотреть на воду. Счасться нам всем и упорства. Через тернии к звёздам. Все получится!
👍7
Хорошая статья сегодня пролетела про микросервисы - как с ними жить и вообще оправданы ли они. Как по мне автор немного сгущает краски и статья орет почти всю дорогу, что они совсем не нужны. И только под конец автор говорит, что возможно нужны не микросервисы, а сервисы или монолит, но главное - понимать зачем вы выделяете что-то в отдельный сервис. Ну и действительно, всегда надо думать головой, а не быть просто на хайпе.

При этом хочу сказать, что автор забыл упомянуть, например, вопросы найма - нанимать команду на монолит может быть сильно сложнее, так как люди еще и о своем резюме заботятся. Также есть вопросы к теме сложности понимания кода разработчиками. Автор статьи утверждает, что понимать много микросервисов сильно сложнее, но у меня, например был обратный случай с кодовой базой на 5к-7к файлов на php+js. Просто от объема кода и возможности все импортить откуда угодно были проблемы, но тогда и линтеров особо не было в мире разработки, конечно))

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

https://renegadeotter.com/2023/09/10/death-by-a-thousand-microservices.html
👍31
Ассиметричное соотношение риска и выгоды

«Сначала художник рисует просто и плохо. Потом сложно и плохо. Потом сложно и хорошо. И только потом просто и хорошо.» Сегодняшний короткий пост о том, что сложно и долго не всегда хорошо. Я всегда стараюсь искать более простые и дешевые варианты для достижения цели бизнеса (и как правило, она не совсем техническая). Это в какой-то степени, даже сродни игре или пари - сможешь или нет. Если удается за разумное время придумать решение 1:5 или 1:10 по простоте, дешевизне и расширяемости - это бинго, это дает силы! При этом я не про оверинжениринг или типа того. Суть как раз в том, чтобы изменить максимально мало кода/процессов/дизайна, постараться не добавлять сложностей, и при этом получить несоразмерно больше плюсов. Кроме этого надо помнить, что вы, как правило, работаете не в одиночку и эти решения должны нести пользу и быть понятны большинству.
🔥5
Инструмент любимчик

Я понимаю, что язык программирования - это просто инструмент, но как у повара есть любимый нож, у меня любимчик - это, пожалуй, Python. При этом я очень люблю и Java и JavaScript (но скорее TypeScript) за те возможности, которые они дают. TS вообще сейчас основной язык разработки и вполне устраивает.

За счет простоты и лаконичности Python-а на нем очень легко и просто писать мелкие синхронные скриптики для повседневной работы и жизни - что-то посчитать, спарсить, быстро тестово подключиться к внешнему api. Для него по умолчанию не надо тонну обвяза скачивать в виде кучи пакетов node_modules, gradle, maven и пр. Общий объем и синтаксическая простота кода также меня очень радует. Это не значит, что это лучший и самый правильный ЯП всех времен, а скорее просто хотелось похвалить его еще раз дополнительно и пожелать ему долгих лет.

Кстати недавно вышел Python 3.12 и о его нововведениях можно почитать на Хабре или в официальной доке.
👍5
Шутки шутками, а масштабируемость - она как раз про это. Масштабируемость бывает как в инфраструктуре, так и в архитектуре или структуре кодовой базы. Единственное, что я не особо люблю - когда часто переделывают большие куски, например отображение целой страницы каждый месяц. А так норм - надо готовить кодовую и инфраструктурную базу к тому, чтобы иметь возможность быстро что-то менять, добавлять и удалять
👍4
Ура! 1000 человек! 🎉🎉🎉 Я очень рад, что видео помогают коллегам. Кому-то для обучения, а кому-то помогают выйти из сложной рабочей ситуации быстро и малой кровью. Хотел еще раз сказать спасибо всем, кто читает, смотрит, кто подписался - это очень греет мою душу и мотивирует дальше делиться мыслями, идеями и рабочими подходами. Спасибо вам большое! 🫶
🔥7👍2
Конечно, скоро все будет через LLM модели генериться 😬, а пока хотел поделиться с начинающими коллегами одним очень важным лайфхаком.

Правильное гугление - один из самых ценных навыков☝️ И я не только про навыки работы с поисковыми системами типа гугл, яндекса и пр. Я вообще про умение искать - по issues в github-е, по коду репозитория используемой вами библиотеки, умение перефразировать вопрос, умение вовремя догадаться, что такую проблему наверняка кто-то уже мог решать. И все это перед (!) тем, как подумать о том, что стоит отвлечь вашего коллегу вопросом. Надо научиться проводить быстрое (до 2, а максимум 4 часов) исследование проблемы, перед тем, как задавать вопросы - у коллег ведь тоже свои задачи и пр. и пр. НО по личному опыту могу сказать, что дольше 4ч это уже не хорошо, тут эффективнее уже привлечь кого-то на помощь.

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

Всем успехов и удачных выходных!
👍6
Последний месяц вечерами делал pet-проект и он у меня прошел под эгидой ML - я активно (уже в третий раз наверно за всю жизнь) осваивал Catboost. И знаете, за почти 15 лет работы в разработке, я только сейчас наверное очень остро и конкретно так ощутил отсутствие математического образования. Алгоритмы, базовая борьба с нагрузкой, разные языки программирования, базы данных, фреймфорки и пр. это совсем не то, там проблемы более менее быстро закрываются гуглением, чтением нескольких док и парой видосов, может. Я сейчас про статистику, комбинаторику и прочие приколы. Многое я подучил, по каким-то моментам обратился с ученым мужам, но блин, все равно это не то. Учитесь короче, учитесь хорошо, пока есть возможность, иначе потом, возможно, будет реально тяжело.

Однако, я не про это хотел рассказать. 😊 В этот раз Catboost как раз зашёл, что называется, "как дети в школу". И все получилось. И прям сразу и достаточно точно! Если честно, я был поражен - в последний раз что-то такое было, когда я первый раз применил ClickHouse и мягко говоря удивился, когда он просто залетал вообще не напрягаясь на тех данных, с которыми postgres-у было очень тяжко. Было сложно поверить, что всё работает как надо и я не налажал, загрузив меньше данных или еще что-то в этом роде. Так вот с Catboost было то же самое - предикт (на хорошо размеченных данных) просто запустился и давал ответы достаточно точно на задаче мультиклассификации. И это при том, что для этого мне понадобилось примерно 15-20 минут для написания кода на Python. Все было настолько нативно и просто, что даже не верилось, что код на 50 строк - это вообще все, что нужно. Понятное дело, что со временем модель усложнялась и их стало даже несколько, но это уже был скорее тюниг, а просто из коробки со стандартными настройками оно уже хорошо работало у меня.

В общем, заканчивая хвалебные оды отечественным программистам 👏, хочу подчеркнуть как важно бывает сделать программу/функцию с минимальными настройками так, чтобы оно уже круто работало, НО при этом добавить удобные ручки для тюнинга. Чтобы пользователь получил первичный результат быстро и может даже не до конца понимая все, а разобравшись, сумел улучшить результат.
👍5🔥2
Читаешь вот такие статьи про ML и невольно думаешь - как далеко это все зайдет? Зачем вообще что-то учить и думать самому, если за тебя это лучше сделает ИИ? Может он потом за тебя и кофе приготовит и работу по дому сделает? 😉 Сайт закодит и заказы примет с него и договорится с курьером о доставке клиенту? На ум сразу приходят двое из ларца.

В школе раньше с учебников сами переписывали задание и потом сами решали, тем самым тренируя внимательность, письмо и много чего еще. Сейчас в младших классах надо вписать буквы и цифры в заранее подготовленные места. На музыке - разукрасить картинки. В общем вопрос большой, открытый, на внимательность и с подвохом. Всем добра и удачных выходных!
👍1
Уйти в IT! - тимлиды, архитектура, базы данных, разработка и менеджмент
Читаешь вот такие статьи про ML и невольно думаешь - как далеко это все зайдет? Зачем вообще что-то учить и думать самому, если за тебя это лучше сделает ИИ? Может он потом за тебя и кофе приготовит и работу по дому сделает? 😉 Сайт закодит и заказы примет…
В продолжение ранее написанных мыслей вот эта статья. Я наверное уже много раз так или иначе писал про это в канале.

Работа программиста - это в первую очередь поиск решений, язык программирования - инструмент, chatgpt - инструмент, компьютер - инструмент (я к тому, что ему желательно быть актуальным и достаточно быстрым), облака - инструмент и даже ваши знания - инструмент.
Как мне видится, фишка в том, чтобы хотеть (!) найти решение проблемы, а не просто что-то покодить, потыкать новые технологии в вакууме и поперемещять файлы из папки в папку, называя это рефакторингом. К слову, порой перемещение действительно нужно и обычно оно идет с заменой главных методов пакета и некоторым переосмыслением концепции и команда с этим согласна.
В общем-то автор статьи пишет про то, чтобы быть первооткрывателями, алхимиками своего времени, что-ли. Изучать новое, что не закостенеть в своем уютном мирке. И делать проекты.

Ну а просто кодинг в том представлении как был раньше, конечно, постепенно уходит, а нарастающая популярность low-code, no-code и просто кодогенераторов тому пример. Да и IDE стали очень умными. Все мы знаем закон Мура и он применим для всего вышеперечисленного, так как на основе предыдущих технологий делаются будущие и всё это идет в геометрической прогрессии или около того. И, если сейчас мы видим только 1% (например) занятия рынка решениями low-code/no-code и пр, то лет через 10-15 это уже будет совсем другая история, НО (!) CEO и бухгалтерия как не программировали, так и не будут 😊. Всегда будут нужны люди, которые будут решать их проблемы. Поэтому мне кажется крайне важным учить базовые знания, тренировать логику и не полагаться во всем на chatgpt и подобные штуки, жить свою жизнь, думать своей головой про конечный результат работы, ну и, конечно, мечтать и делать что-то оч крутое на основе знаний и всех доступных вам инструментов. Как сказал Джобс - "Оставайтесь голодными. Оставайтесь безрассудными.".
👍5
Подсобрал все мысли в кучу и решил написать статью по индексам в БД. Мне видится, что будет полезно вообще всем - есть много интересных штук, которые могли пройти мимо вас. Например, я не знаю как, но фильтр Блума в PG прошел мимо меня, а это ж просто праздник, что он там есть! Ну и буду благодарен, если поделитесь ссылкой с коллегами 😊
https://dzen.ru/media/lets_goto_it/indeksy-v-postgresql-6587220af79ef86dc12431a2
👍5🔥1
Ну что ж, вот и подходит к концу этот год. 🎄🎄🎄 Во многих отношениях он был совсем не простым, но плодотворным для меня. Не буду вдаваться в подробности, а, пожалуй, просто пожелаю всем здоровья и счастья. Да, вот так просто, но чем дольше живешь, тем больше ценишь эти пожелания.

Так же, традиционно желаю изучать больше информации и не всегда IT направленности (сейчас, например, я читаю книгу про маркетинг), больше думать своей головой, не поддаваться на провокации и манипуляции. И самое главное - наметить себе цель и идти не сворачивая.

С наступающим! Пусть всё сбудется!
Увидимся в новом году и спасибо, что подписываетесь, комментируете и оставляете реакции.
🔥53👍3🤔1
Таких статей будет всё больше и больше - https://habr.com/ru/articles/784724/
И это прекрасно! Я просто отмечу, что автор понимает, что делает с точки зрения разработчика и, что хочет получить в конце с точки зрения менеджера. Это в целом важный навык - видение.

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

Эх, в какую эпоху живем! ❤️ Всё становится проще и дешевле - вспоминаю свой 2008 постоянно, когда еще jquery не было (или особо никто про него не знал) и был php и perl (или C, но это в некоторых интернет компаниях все же, не массово). По сравнению с текущими компами и технологиями тогда нормально вообще нельзя было разрабатывать 🤣. Ну, а если школьные годы брать, то это ваще мрак - интернета не было в начале, попозже был модемный фидонет. А совсем на старте еще до интернетов и фидо доку по qbasic на дискетах носил от Лехи) Леха, привет, если читаешь! До сих пор тебе благодарен за помощь тогда!
Смена точки зрения

Жизнь и эмоциональное здоровье очень сильно зависит от восприятия и, если хотите, от точки зрения на ситуацию. Например незнакомого человека из соседней команды, который пришел и чего-то хочет от тебя, многие могут воспринимать как «врага» или «захватчика». Так эволюционно сложилось, как утверждает Девид Рок в книге «МОЗГ. Инструкция по применению» и тут уж ничего не поделаешь - у кого-то это проявляется больше, у кого-то меньше. Но, как утверждает Девид, мы можем упросить жизнь и себе и тому человеку, если специально попробуем «заставать» наш мозг мыслить в других терминах - не враг/захватчик, а друг/компаньон. Это, понятное, дело, если человек вроде нормальный и не показал признаков агрессии сразу же =) И даже тогда лучше попытаться поставить себя на его место и понять почему он так себя ведет. Все это поможет выстроить действительно полезный для вас обоих диалог, так как закрываться в ракушке от всех не эффективно.

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

Желаю всем нам хорошего и спокойного завершения рабочей недели и удачных выходных!
🔥2