"Spring разработчики" и нужно ли их бояться?
На прошлой неделе был в походе, где с руководителем департамента разгорелась интересная дискуссия. Его позиция жесткая: большинство современных разработчиков деградируют. Они умеют только бизнес-логику писать, а как всё работает под капотом - не понимают. Spring или Laravel разработчики, нет никакой разницы, идея в том что фреймворк всю работу берет на себя и инженерная экспертиза пропадает.
Свежий пример из жизни: соседняя команда неделю билась с проблемой - база данных неадекватно жрала CPU. Не могли понять в чём дело, попросили парня из моей команды помочь. Тот за полчаса локализовал проблему благодаря пониманию архитектуры БД и навыкам инцидент-менеджмента.
Моя позиция кардинально другая: а что здесь плохого? Проблема не в разработчиках, а в составе команды. Нет 1-2 сильных специалистов - вот и весь корень зла. Остальные пусть спокойно пишут бизнес-логику под контролем code review старших товарищей. Такие разработчики рынку тоже очень нужны. Бизнесу важна в первую очередь скорость для быстрого результата, а о эффективности и оптимизации продукта можно подумать потом. Ну или нанять дорогого, бородатого интроверта, пусть он думает.
Думаю, мы оба правы, просто смотрим на ситуацию с разных сторон. Это обычная эволюция профессии. Если ты не успеваешь развиваться - тебя заменят инструменты или те, кто успевают. К томуже AI уже дышит в спину некомпетентным «коллегам».
На прошлой неделе был в походе, где с руководителем департамента разгорелась интересная дискуссия. Его позиция жесткая: большинство современных разработчиков деградируют. Они умеют только бизнес-логику писать, а как всё работает под капотом - не понимают. Spring или Laravel разработчики, нет никакой разницы, идея в том что фреймворк всю работу берет на себя и инженерная экспертиза пропадает.
Свежий пример из жизни: соседняя команда неделю билась с проблемой - база данных неадекватно жрала CPU. Не могли понять в чём дело, попросили парня из моей команды помочь. Тот за полчаса локализовал проблему благодаря пониманию архитектуры БД и навыкам инцидент-менеджмента.
Моя позиция кардинально другая: а что здесь плохого? Проблема не в разработчиках, а в составе команды. Нет 1-2 сильных специалистов - вот и весь корень зла. Остальные пусть спокойно пишут бизнес-логику под контролем code review старших товарищей. Такие разработчики рынку тоже очень нужны. Бизнесу важна в первую очередь скорость для быстрого результата, а о эффективности и оптимизации продукта можно подумать потом. Ну или нанять дорогого, бородатого интроверта, пусть он думает.
Думаю, мы оба правы, просто смотрим на ситуацию с разных сторон. Это обычная эволюция профессии. Если ты не успеваешь развиваться - тебя заменят инструменты или те, кто успевают. К томуже AI уже дышит в спину некомпетентным «коллегам».
⚡1🔥1
Как не превратиться в упертого старика-разработчика 🧠
Года идут, и я заметил неприятную вещь: мозг начинает терять гибкость. То, что раньше осваивал за пару дней, теперь требует больше усилий. Чтобы не стать "тем самым" сеньором, который говорит "а вот раньше было лучше", я начал практиковать эксперименты.
Правило простое: один календарный месяц на любое изменение. Не важно, 28 дней или 31. После месяца честно оцениваю: оставляю или убираю.
Поделюсь тем что прижилось лучше всего:
✅ Календарь. выгрузил все задачи из головы, теперь она свободна для решения проблем
✅ Neovim. отключил большинство автокомплишенов, стал лучше понимать код
✅ Сплит-клавиатура. руки благодарят, правда сижу на ней только дома
Что не зашло:
❌ Белая тема системы. пробовал трижды, глаза до сих пор в шоке. Но не сдаюсь 😄
Главное понять, что пользу многих вещей понимаешь только спустя время. В первые дни работает правило "где заканчиваются силы, начинается характер". По этому стоит давать себе время на то чтобы привыкнуть.
Года идут, и я заметил неприятную вещь: мозг начинает терять гибкость. То, что раньше осваивал за пару дней, теперь требует больше усилий. Чтобы не стать "тем самым" сеньором, который говорит "а вот раньше было лучше", я начал практиковать эксперименты.
Правило простое: один календарный месяц на любое изменение. Не важно, 28 дней или 31. После месяца честно оцениваю: оставляю или убираю.
Поделюсь тем что прижилось лучше всего:
✅ Календарь. выгрузил все задачи из головы, теперь она свободна для решения проблем
✅ Neovim. отключил большинство автокомплишенов, стал лучше понимать код
✅ Сплит-клавиатура. руки благодарят, правда сижу на ней только дома
Что не зашло:
❌ Белая тема системы. пробовал трижды, глаза до сих пор в шоке. Но не сдаюсь 😄
Главное понять, что пользу многих вещей понимаешь только спустя время. В первые дни работает правило "где заканчиваются силы, начинается характер". По этому стоит давать себе время на то чтобы привыкнуть.
🔥3👍1
Datomic база данных с философией
Недавно слушал подкаст, где обсуждали базу данных Datomic, якобы она рок-звезда среди всех БД со своей интересной философией. Мне стало настолько интересно, что последние дни провёл в теоретическом знакомстве, и остался в лёгком когнитивном шоке (в хорошем смысле).
Во-первых, она не удаляет данные. Никогда. Вообще! Каждая транзакция - это не просто "обновление", а добавление нового факта во временной поток. Получается встроенный time-travel: можно спросить у базы, как она выглядела на прошлой неделе в 17:42, и она честно ответит. Для задач с историей, аудитом и регуляторными требованиями - золото.
Во-вторых, архитектура: единый транзактор для всех записей и множество читателей (peer'ов), которые тянут данные напрямую из хранилища. Чтения масштабируются горизонтально, а кеши встроены по дефолту. Да, звучит странно, но красиво.
Datalog (язык запросов) тоже порадовал - что-то между SQL и Прологом, но ближе к логическому мышлению. Особенно хорошо ложится в проекты на Clojure. И вот тут начинаются минусы...
👉 В Go мире Datomic - как гость с другого континента. Нет нативной библиотеки, всё взаимодействие только через REST или EDN. То есть, хочешь использовать - ставь JVM, пиши прослойку, парси EDN. В общем, костыли.
👉 Datomic плохо подходит под высоконагруженные сценарии с частыми записями. Один транзактор = одна очередь. Не жужжит как Kafka, увы.
👉 И главный вопрос: а тебе точно нужна вечная история всех данных? Если да - это шанс. Если нет - может, стоит просто логировать изменения в Postgres.
💡 В целом, Datomic - как японская керамика: красиво, нестандартно, требует уважения к философии. Но чашку кофе в неё не нальёшь, если ты пишешь микросервисы на Go и хочешь всё просто.
Оставлю пока как архитектурную идею и источник вдохновения. А вдруг когда-нибудь соберусь на проект с Clojure и решу пожить немного вне времени 😉
P.S. Если интересно расскажу подробнее в следующих постах: про плюсы/минусы или как это всё сравнивается с Mongo и PostgreSQL?
Недавно слушал подкаст, где обсуждали базу данных Datomic, якобы она рок-звезда среди всех БД со своей интересной философией. Мне стало настолько интересно, что последние дни провёл в теоретическом знакомстве, и остался в лёгком когнитивном шоке (в хорошем смысле).
Во-первых, она не удаляет данные. Никогда. Вообще! Каждая транзакция - это не просто "обновление", а добавление нового факта во временной поток. Получается встроенный time-travel: можно спросить у базы, как она выглядела на прошлой неделе в 17:42, и она честно ответит. Для задач с историей, аудитом и регуляторными требованиями - золото.
Во-вторых, архитектура: единый транзактор для всех записей и множество читателей (peer'ов), которые тянут данные напрямую из хранилища. Чтения масштабируются горизонтально, а кеши встроены по дефолту. Да, звучит странно, но красиво.
Datalog (язык запросов) тоже порадовал - что-то между SQL и Прологом, но ближе к логическому мышлению. Особенно хорошо ложится в проекты на Clojure. И вот тут начинаются минусы...
👉 В Go мире Datomic - как гость с другого континента. Нет нативной библиотеки, всё взаимодействие только через REST или EDN. То есть, хочешь использовать - ставь JVM, пиши прослойку, парси EDN. В общем, костыли.
👉 Datomic плохо подходит под высоконагруженные сценарии с частыми записями. Один транзактор = одна очередь. Не жужжит как Kafka, увы.
👉 И главный вопрос: а тебе точно нужна вечная история всех данных? Если да - это шанс. Если нет - может, стоит просто логировать изменения в Postgres.
💡 В целом, Datomic - как японская керамика: красиво, нестандартно, требует уважения к философии. Но чашку кофе в неё не нальёшь, если ты пишешь микросервисы на Go и хочешь всё просто.
Оставлю пока как архитектурную идею и источник вдохновения. А вдруг когда-нибудь соберусь на проект с Clojure и решу пожить немного вне времени 😉
P.S. Если интересно расскажу подробнее в следующих постах: про плюсы/минусы или как это всё сравнивается с Mongo и PostgreSQL?
🔥3
🎮 Clair Obscure: Expedition 33 - игра, о которой я чуть было не забыл рассказать.
Когда я только завёл этот канал, первой темой которую хотелось осветить была именно она. Но как это часто бывает, жизнь внесла свои коррективы, подкинув более срочные темы. Неделя прошла, потом другая… И вот сегодня утром поймал себя на мысли: или сейчас, или уже никогда. Тем более, что игра действительно заслуживает внимания!
Когда покупал Clair Obscure: Expedition 33, ожидания были завышены до предела. Про игру много говорили в подкастах: кто-то восторгался, а кто-то ворчал, мол, «слишком пафосно». Я всё-таки решил рискнуть, и вот мой вердикт: она превзошла даже мои, казалось бы, нереалистично высокие ожидания.
Clair Obscure - это просто визуальный, музыкальный и сюжетный экстаз! Причём не из разряда «вау, красиво», а именно гармоничный и выверенный до мелочей. Каждый кадр - отдельная картина, музыка идеально дополняет сюжет, а персонажи настолько колоритные и живые, что запоминаются сразу и надолго. Каждый уникален, причём именно с большой буквы.
Да, кто-то жаловался, что всё слишком серьёзно и театрально. Но лично я этого даже не почувствовал. Когда попадаешь в деревню жестралей, вся эта «театральность» мгновенно рассеивается. Ты просто сидишь, наблюдаешь за местными жителями, разговариваешь с ними, смеёшься вслух и совершенно не хочешь уходить. Хочется исследовать каждый уголок и погрузиться в эту атмосферу ещё глубже.
И главный инсайд напоследок:
Над игрой, по слухам, работало всего около 30 человек, большинство из которых ранее трудились в Ubisoft. И это яркий пример того, что любовь к своему делу может оказаться намного сильнее, чем многомиллионные бюджеты.
Чтобы создать что-то великое, необязательно быть огромной студией. Достаточно просто сильно любить своё дело и действительно гореть идеей!
P.S. Я выбрал концовку Версо. На мой взгляд это было справедливо по отношению ко всем.
Когда я только завёл этот канал, первой темой которую хотелось осветить была именно она. Но как это часто бывает, жизнь внесла свои коррективы, подкинув более срочные темы. Неделя прошла, потом другая… И вот сегодня утром поймал себя на мысли: или сейчас, или уже никогда. Тем более, что игра действительно заслуживает внимания!
Когда покупал Clair Obscure: Expedition 33, ожидания были завышены до предела. Про игру много говорили в подкастах: кто-то восторгался, а кто-то ворчал, мол, «слишком пафосно». Я всё-таки решил рискнуть, и вот мой вердикт: она превзошла даже мои, казалось бы, нереалистично высокие ожидания.
Clair Obscure - это просто визуальный, музыкальный и сюжетный экстаз! Причём не из разряда «вау, красиво», а именно гармоничный и выверенный до мелочей. Каждый кадр - отдельная картина, музыка идеально дополняет сюжет, а персонажи настолько колоритные и живые, что запоминаются сразу и надолго. Каждый уникален, причём именно с большой буквы.
Да, кто-то жаловался, что всё слишком серьёзно и театрально. Но лично я этого даже не почувствовал. Когда попадаешь в деревню жестралей, вся эта «театральность» мгновенно рассеивается. Ты просто сидишь, наблюдаешь за местными жителями, разговариваешь с ними, смеёшься вслух и совершенно не хочешь уходить. Хочется исследовать каждый уголок и погрузиться в эту атмосферу ещё глубже.
И главный инсайд напоследок:
Над игрой, по слухам, работало всего около 30 человек, большинство из которых ранее трудились в Ubisoft. И это яркий пример того, что любовь к своему делу может оказаться намного сильнее, чем многомиллионные бюджеты.
Чтобы создать что-то великое, необязательно быть огромной студией. Достаточно просто сильно любить своё дело и действительно гореть идеей!
P.S. Я выбрал концовку Версо. На мой взгляд это было справедливо по отношению ко всем.
🔥4
Системный подход к проблеме энергии: тестирую гипотезы на себе
Четвертую неделю экспериментирую с утренними силовыми тренировками в 7 утра. Гипотеза простая: если начать день с физической нагрузки, энергии хватит до самого вечера.
Пока результаты впечатляют. К концу рабочего дня сохраняю почти утреннюю эффективность в коде и ревью (хотя с ревью по честному получается хуже). После обеда обычно "плыл", а сейчас остаюсь в тонусе.
Планирую тестировать гипотезу 2 месяца, чтобы получить объективные данные.
А как вы боретесь с энергетическими провалами в течение дня? 💪
Четвертую неделю экспериментирую с утренними силовыми тренировками в 7 утра. Гипотеза простая: если начать день с физической нагрузки, энергии хватит до самого вечера.
Пока результаты впечатляют. К концу рабочего дня сохраняю почти утреннюю эффективность в коде и ревью (хотя с ревью по честному получается хуже). После обеда обычно "плыл", а сейчас остаюсь в тонусе.
Планирую тестировать гипотезу 2 месяца, чтобы получить объективные данные.
А как вы боретесь с энергетическими провалами в течение дня? 💪
🔥5👍1
Критика - это опасность или сигнал роста?
Стал замечать, что для многих людей критика автоматически становится личной угрозой. Хотя это могла бы быть отличная точка для роста.
Сегодняшний пример: на митинге предложил вывести задачи на экран для того чтобы был виден весь список выполненных задач и тех что предстоит сделать за оставшиеся 2 дня спринта. Идея была отклонена с обоснованием "так будет быстрее". Я не стал настаивать, дал ПМу провести встречу так как он считает нужным. В этом у него опыта больше чем у меня.
Результат: вместо ожидаемых 15 минут, митинг затянулся на час. После вопроса "Получилось сделать быстрее?" получил обвинение в токсичности.
Я давно перестал обижаться на такие реакции. Но грустно от понимания, что держать марку оказывается важнее получения результата и улучшения процессов.
Зрелость команды измеряется не отсутствием ошибок, а способностью их признавать и исправлять. Критика - это не враг, это компас для роста 🧭
P.S. Обложка поста: старая форма разрушается, давая рост новой жизни.
Стал замечать, что для многих людей критика автоматически становится личной угрозой. Хотя это могла бы быть отличная точка для роста.
Сегодняшний пример: на митинге предложил вывести задачи на экран для того чтобы был виден весь список выполненных задач и тех что предстоит сделать за оставшиеся 2 дня спринта. Идея была отклонена с обоснованием "так будет быстрее". Я не стал настаивать, дал ПМу провести встречу так как он считает нужным. В этом у него опыта больше чем у меня.
Результат: вместо ожидаемых 15 минут, митинг затянулся на час. После вопроса "Получилось сделать быстрее?" получил обвинение в токсичности.
Я давно перестал обижаться на такие реакции. Но грустно от понимания, что держать марку оказывается важнее получения результата и улучшения процессов.
Зрелость команды измеряется не отсутствием ошибок, а способностью их признавать и исправлять. Критика - это не враг, это компас для роста 🧭
P.S. Обложка поста: старая форма разрушается, давая рост новой жизни.
❤4⚡1
Как "очередное обучение" оказалось "особенным".
Когда только начинался новый этап обучения по стандартам, хотелось честно сказать: "опять скучное чтение спеков". Но всё оказалось иначе.
К нам приехал Вадим Перетокин - специалист из Швеции. С первых минут стало понятно, что это не "лектор", это гик в самом хорошем смысле. У человека Linux на ноутбуке, и не просто какой-нибудь Lenovo, а самостоятельно собранный Framework. Причем не ради фетиша, он реально коммитит в open source, продвигает FHIR по всему миру и живет этой идеей.
Интенсив прошел как на одном дыхании: мы не просто разобрали стандарт, а поняли, зачем он нужен и какие реальные проблемы решает.
Особенно порадовало, что Вадим постоянно выносил нас из теории в реалии: примеры, кейсы, и дальше несколько локальных шуток в квизах. Радует что пользу получили не только разработчики, но и люди далекие от разработки.
К середине недели стало ощущение, что мы не просто учимся, а участвуем в чем-то большем.
И тут случился вообще неожиданный момент. Вадим связался с самим Грэмом Гривом, создателем стандарта FHIR, и рассказал ему про наш прогресс. И… Грэм заинтересовался. Он реально выразил желание поддержать наш проект, а возможно и приехать.
А теперь просто вдумайтесь: Центральная Азия, Узбекистан, команда разработчиков и к нам едет один из самых влиятельных людей в digital healthcare.
Вот так скепсис превращается в мотивацию, а интенсив в шаг на мировую арену 👀 Может быть в следующем году мы даже выступим на DevDays и расскажем о своих успехах.
Когда только начинался новый этап обучения по стандартам, хотелось честно сказать: "опять скучное чтение спеков". Но всё оказалось иначе.
К нам приехал Вадим Перетокин - специалист из Швеции. С первых минут стало понятно, что это не "лектор", это гик в самом хорошем смысле. У человека Linux на ноутбуке, и не просто какой-нибудь Lenovo, а самостоятельно собранный Framework. Причем не ради фетиша, он реально коммитит в open source, продвигает FHIR по всему миру и живет этой идеей.
Интенсив прошел как на одном дыхании: мы не просто разобрали стандарт, а поняли, зачем он нужен и какие реальные проблемы решает.
Особенно порадовало, что Вадим постоянно выносил нас из теории в реалии: примеры, кейсы, и дальше несколько локальных шуток в квизах. Радует что пользу получили не только разработчики, но и люди далекие от разработки.
К середине недели стало ощущение, что мы не просто учимся, а участвуем в чем-то большем.
И тут случился вообще неожиданный момент. Вадим связался с самим Грэмом Гривом, создателем стандарта FHIR, и рассказал ему про наш прогресс. И… Грэм заинтересовался. Он реально выразил желание поддержать наш проект, а возможно и приехать.
А теперь просто вдумайтесь: Центральная Азия, Узбекистан, команда разработчиков и к нам едет один из самых влиятельных людей в digital healthcare.
Вот так скепсис превращается в мотивацию, а интенсив в шаг на мировую арену 👀 Может быть в следующем году мы даже выступим на DevDays и расскажем о своих успехах.
🔥5
Повышение, от которого стало тревожно.
Однажды мне предложили перейти из лида в начальника отдела. Это было немного неожиданно, но я понимал, что на тот момент кандидатов сильнее просто не было. Я согласился. Не потому что очень хотел, а потому что знал: скоро появится кандидат, который будет этого хотеть, а потяну нагрузку пока его нет.
Если тебе предложили подобное повышение, то это может вызывать тревогу. Особенно если ты впервые сталкиваешься с таким шагом. Ты вроде бы силён в своём деле, тебя ценят, а внутри мысли: «А если не справлюсь?», «А если выгорю?», «А если меня не будут слушать?».
Если ты в этом месте, запомни одну вещь: Бояться это нормально, но это не повод отказываться. Просто поговори с руководителем. Спроси, что от тебя ждут, какие задачи, где зона роста. После такого разговора будет проще понять твоё это или нет.
А вот если внутри нет страха, а просто скука и отторжение, вот тогда точно стоит задуматься. Я однажды согласился, хотя знал что это не мой путь. А когда понял, что зря, откат был тяжёлым. Снижение это почти всегда как шаг вниз. Часто часть обязанностей всё ещё за тобой, а команда не сразу «переключается» на новый режим.
Мой вывод простой:
- Если боишься - не бойся.
- Если не хочешь - откажись.
Ну и да, даже если сам пока не уверен знай, кто-то в тебя уже верит. Как минимум твой руководитель, ведь он не просто так предлагает тебе вырасти.
Однажды мне предложили перейти из лида в начальника отдела. Это было немного неожиданно, но я понимал, что на тот момент кандидатов сильнее просто не было. Я согласился. Не потому что очень хотел, а потому что знал: скоро появится кандидат, который будет этого хотеть, а потяну нагрузку пока его нет.
Если тебе предложили подобное повышение, то это может вызывать тревогу. Особенно если ты впервые сталкиваешься с таким шагом. Ты вроде бы силён в своём деле, тебя ценят, а внутри мысли: «А если не справлюсь?», «А если выгорю?», «А если меня не будут слушать?».
Если ты в этом месте, запомни одну вещь: Бояться это нормально, но это не повод отказываться. Просто поговори с руководителем. Спроси, что от тебя ждут, какие задачи, где зона роста. После такого разговора будет проще понять твоё это или нет.
А вот если внутри нет страха, а просто скука и отторжение, вот тогда точно стоит задуматься. Я однажды согласился, хотя знал что это не мой путь. А когда понял, что зря, откат был тяжёлым. Снижение это почти всегда как шаг вниз. Часто часть обязанностей всё ещё за тобой, а команда не сразу «переключается» на новый режим.
Мой вывод простой:
- Если боишься - не бойся.
- Если не хочешь - откажись.
Ну и да, даже если сам пока не уверен знай, кто-то в тебя уже верит. Как минимум твой руководитель, ведь он не просто так предлагает тебе вырасти.
💯1
Прошло больше месяца с первого поста, пора подводить промежуточные итоги.
Всё началось 19 июня. Мы с женой отмечали годовщину, и она сделала подарок, который стал неожиданной отправной точкой: iPhone, Apple Watch и AirPods в один день. Я в шутку назвал это "корзиной яблок" 🍎
Тогда я приступил к настрайке экосистемы и впервые всерьез заглянул в приложение «Здоровье». Начал отслеживать сон, прием витаминов, активность. И вот этот банальный комфорт как будто что-то переключил. Хочется быть внимательнее к себе. Больше думать, лучше работать. Меньше плыть по течению.
Через несколько дней завел этот блог. Решил: каждую неделю буду выкладывать хотябы один пост о том, что думаю, с чем сталкиваюсь. Не ради лайков. Просто как способ честной саморефлексии и выработки привычки делиться опытом.
Итог через месяц:
- Первые дни было тяжело - не знал, о чём писать
- Потом втянулся. Вошел в ритм и сейчас идеи появляются сами
- Писать стало легко. Это почти как зарядка по утрам
Понимаю, что сам блог пользы, скорее всего читателю, не приносит. Но у меня есть сильная потребность помогать другим. И после отпуска хочу сделать первый шаг: записать обучающее видео на YouTube. Думаю начать с простого: как поднять HTTP-сервер на Go, объясняя всё так, как объяснял бы другу, только вкатывающемуся в разработку. 🧠 Или есть идея получше? Готов выслушать.
Также готовится статья на habr.com о том как работает паттерн Chain of Responsibility и история как он помог нам в реальной разработке на текущем проекте.
P.S. На следующей неделе выхожу в отпуск. Так что возможно неделю в канале будет тишина.
Всё началось 19 июня. Мы с женой отмечали годовщину, и она сделала подарок, который стал неожиданной отправной точкой: iPhone, Apple Watch и AirPods в один день. Я в шутку назвал это "корзиной яблок" 🍎
Тогда я приступил к настрайке экосистемы и впервые всерьез заглянул в приложение «Здоровье». Начал отслеживать сон, прием витаминов, активность. И вот этот банальный комфорт как будто что-то переключил. Хочется быть внимательнее к себе. Больше думать, лучше работать. Меньше плыть по течению.
Через несколько дней завел этот блог. Решил: каждую неделю буду выкладывать хотябы один пост о том, что думаю, с чем сталкиваюсь. Не ради лайков. Просто как способ честной саморефлексии и выработки привычки делиться опытом.
Итог через месяц:
- Первые дни было тяжело - не знал, о чём писать
- Потом втянулся. Вошел в ритм и сейчас идеи появляются сами
- Писать стало легко. Это почти как зарядка по утрам
Понимаю, что сам блог пользы, скорее всего читателю, не приносит. Но у меня есть сильная потребность помогать другим. И после отпуска хочу сделать первый шаг: записать обучающее видео на YouTube. Думаю начать с простого: как поднять HTTP-сервер на Go, объясняя всё так, как объяснял бы другу, только вкатывающемуся в разработку. 🧠 Или есть идея получше? Готов выслушать.
Также готовится статья на habr.com о том как работает паттерн Chain of Responsibility и история как он помог нам в реальной разработке на текущем проекте.
P.S. На следующей неделе выхожу в отпуск. Так что возможно неделю в канале будет тишина.
❤1🔥1
Иногда хочется не просто писать код, а сделать что-то по-настоящему важное.
Два года назад у меня родился сын. И в тот же момент в голове появилась мысль: "А точно ли я хочу заниматься тем, чем занимаюсь?”. Хотелось сделать что-то, что останется навсегда (ну или хотябы оставит след в истории). Что-то, чем он мог бы гордиться.
Забавно, но когда ты реально формулируешь запрос, вселенная будто слышит. Через пару месяцев получил предложение: помочь цифровизировать здравоохранение всей страны. Предложений было несколько, и некоторые казались куда удобнее и прибыльнее. Но я выбрал этот проект. Потому что захотел сделать вклад. Ради сына. Ради близких. Ради чего-то большего (да знаю я что звучит пафосно, но то и рассчет).
Сейчас я в команде, которая реально вдохновляет. Тут не просто инженеры, а рок-звезды в своей области. И руководитель, который умеет слушать и даёт свободу. Это большая редкость. Мы делаем сложную штуку. И у нас получается. Потому что нам это важно. Потому что мы горим идеей. Потому что это - не просто работа.
Делать проект ради денег - это ок. Но когда проект цепляет тебя изнутри - это совсем другой уровень энергии 💡
P.S. На постере мои рок-звезды и какой-то лысый мужик.
P.P.S. Сегодня 23 день рождения UZINFOCOM. На ней тоже парень без волос. Не понимаю на что намек :-)
Два года назад у меня родился сын. И в тот же момент в голове появилась мысль: "А точно ли я хочу заниматься тем, чем занимаюсь?”. Хотелось сделать что-то, что останется навсегда (ну или хотябы оставит след в истории). Что-то, чем он мог бы гордиться.
Забавно, но когда ты реально формулируешь запрос, вселенная будто слышит. Через пару месяцев получил предложение: помочь цифровизировать здравоохранение всей страны. Предложений было несколько, и некоторые казались куда удобнее и прибыльнее. Но я выбрал этот проект. Потому что захотел сделать вклад. Ради сына. Ради близких. Ради чего-то большего (да знаю я что звучит пафосно, но то и рассчет).
Сейчас я в команде, которая реально вдохновляет. Тут не просто инженеры, а рок-звезды в своей области. И руководитель, который умеет слушать и даёт свободу. Это большая редкость. Мы делаем сложную штуку. И у нас получается. Потому что нам это важно. Потому что мы горим идеей. Потому что это - не просто работа.
Делать проект ради денег - это ок. Но когда проект цепляет тебя изнутри - это совсем другой уровень энергии 💡
P.S. На постере мои рок-звезды и какой-то лысый мужик.
P.P.S. Сегодня 23 день рождения UZINFOCOM. На ней тоже парень без волос. Не понимаю на что намек :-)
😁4
🏖 Отпуск заканчивается. Возвращаюсь с новыми силами.
Две недели отпуска: неделя на Иссык-Куле, неделя дома. И вот теперь, когда чемоданы убраны, мясо съедено, кальяны раскурены - время подытожить.
Скажу честно, я ожидал от Иссык-Куля чего-то в духе пост-перестроечного туризма. Санатории, кукуруза на пляже, кафешки с запахом и атмосферой 90-х. И в каком-то смысле это было правдой... но не там где отдыхали мы с семьей.
Это были современные, уютные домики с панорамными окнами, своей качелей, лужайкой и летней кухней. В домике было несколько спальн, душей, халаты, полотенца и быстрый WiFi. Уютно, чисто, цивильно.
А хозяин домика, узнав, что я люблю готовить мясо, подарил нам почти 5 кг стейков! Вот это щедрость. Говорят, узбеки гостеприимны, но киргизы тоже знают, как приятно удивить. Мясо, конечно, улетело в первый же вечер 😄
Ещё впечатлила погода. Днём - солнце, ночью - грозы и ливни. Причём утром ни одной лужи, будто ночью ничего и небыло.
И конечно же кальяны. Те кто со мной знаком лично, знают о моей любви к культуре курения Кальяна. На Иссык-Куле кальяны хорошие. Вкусные. В каждом заведении давали щипцы, вроде мелочь, а приятно. Ты сам контролируешь жар, не надо ловить кальянщика глазами. Не уверен, что это "хороший сервис", но для таких, как я - идеально.
После недели там, неделю дома. И вот сейчас действительно ощущаю, что отдохнул. Без желания "ещё один день", без усталости. Всё, пора в бой!
Надо же… отпуск с пониженным ожиданием оказался одним из лучших за последнее время.
Кстати. Скоро релиз Go 1.25! На днях опишу что меня больше всего в нём заинтересовало...
Две недели отпуска: неделя на Иссык-Куле, неделя дома. И вот теперь, когда чемоданы убраны, мясо съедено, кальяны раскурены - время подытожить.
Скажу честно, я ожидал от Иссык-Куля чего-то в духе пост-перестроечного туризма. Санатории, кукуруза на пляже, кафешки с запахом и атмосферой 90-х. И в каком-то смысле это было правдой... но не там где отдыхали мы с семьей.
Это были современные, уютные домики с панорамными окнами, своей качелей, лужайкой и летней кухней. В домике было несколько спальн, душей, халаты, полотенца и быстрый WiFi. Уютно, чисто, цивильно.
А хозяин домика, узнав, что я люблю готовить мясо, подарил нам почти 5 кг стейков! Вот это щедрость. Говорят, узбеки гостеприимны, но киргизы тоже знают, как приятно удивить. Мясо, конечно, улетело в первый же вечер 😄
Ещё впечатлила погода. Днём - солнце, ночью - грозы и ливни. Причём утром ни одной лужи, будто ночью ничего и небыло.
И конечно же кальяны. Те кто со мной знаком лично, знают о моей любви к культуре курения Кальяна. На Иссык-Куле кальяны хорошие. Вкусные. В каждом заведении давали щипцы, вроде мелочь, а приятно. Ты сам контролируешь жар, не надо ловить кальянщика глазами. Не уверен, что это "хороший сервис", но для таких, как я - идеально.
После недели там, неделю дома. И вот сейчас действительно ощущаю, что отдохнул. Без желания "ещё один день", без усталости. Всё, пора в бой!
Надо же… отпуск с пониженным ожиданием оказался одним из лучших за последнее время.
Кстати. Скоро релиз Go 1.25! На днях опишу что меня больше всего в нём заинтересовало...
❤4👍1🥰1
Redisearch vs Elasticsearch
Недавно мне коллега сказал: "Смотри, есть реализация эластика на редисе". Я заинтригованно полез разбираться, и вот краткое сравнение.
🔹 Скорость - Redisearch живёт прямо в памяти Redis, поэтому поиск и фильтрация там работают в миллисекунды. На ограниченных объёмах данных (до пары миллионов документов) он часто быстрее Elasticsearch.
🔹 Масштаб - Elasticsearch изначально распределённый, работает с терабайтами данных и десятками узлов без костылей. Redisearch масштабировать сложнее, особенно в open-source варианте, и он упирается в доступную RAM.
🔹 Функциональность - у Redisearch есть полнотекст, фильтры, базовые агрегации, гео и даже векторный поиск. Но Elastic гибче: тонкие настройки анализа текста, сложные агрегации, nested-объекты и аналитика из коробки.
🔹 Интеграция в Go - Redisearch прост: подключил модуль к Redis и работаешь через лёгкий Go-клиент. Elastic требует поднять отдельный сервис и работать по REST, но возможностей у него больше.
Вывод: Redisearch это отличное решение, если нужен сверхбыстрый поиск по данным, которые уже в Redis, и объёмы укладываются в память. Но область применения узкая: для больших и сложных поисковых задач Elasticsearch остаётся более универсальным выбором. Однако сделано конечно интересно, для расширения кругозора думаю стоит изучить технологию.
Недавно мне коллега сказал: "Смотри, есть реализация эластика на редисе". Я заинтригованно полез разбираться, и вот краткое сравнение.
🔹 Скорость - Redisearch живёт прямо в памяти Redis, поэтому поиск и фильтрация там работают в миллисекунды. На ограниченных объёмах данных (до пары миллионов документов) он часто быстрее Elasticsearch.
🔹 Масштаб - Elasticsearch изначально распределённый, работает с терабайтами данных и десятками узлов без костылей. Redisearch масштабировать сложнее, особенно в open-source варианте, и он упирается в доступную RAM.
🔹 Функциональность - у Redisearch есть полнотекст, фильтры, базовые агрегации, гео и даже векторный поиск. Но Elastic гибче: тонкие настройки анализа текста, сложные агрегации, nested-объекты и аналитика из коробки.
🔹 Интеграция в Go - Redisearch прост: подключил модуль к Redis и работаешь через лёгкий Go-клиент. Elastic требует поднять отдельный сервис и работать по REST, но возможностей у него больше.
Вывод: Redisearch это отличное решение, если нужен сверхбыстрый поиск по данным, которые уже в Redis, и объёмы укладываются в память. Но область применения узкая: для больших и сложных поисковых задач Elasticsearch остаётся более универсальным выбором. Однако сделано конечно интересно, для расширения кругозора думаю стоит изучить технологию.
❤4⚡2
Отпуск завершился.
Планы были амбициозные - сделал не всё, зато появился понятный проект для комьюнити.
Готовлю бесплатный курс по Go на YouTube. За 17 коротких уроков соберём веб-сервис по мотивам Тамагочи 90х 🐣. Начнем с простого CRUD и пойдем к продакшн уровню. Каждая серия должна закрыть реальную полезную тему, без воды.
По срокам ничего сказать не могу, начинаю потихоньку записывать скринкасты. Буду нет-нет писать о ходе работ над курсом в этом канале.
Предварительный план уроков
1. Запуск базового REST сервера
2. Middleware
3. Подключение фреймворка chi
4. Конфигурация сервиса
5. Настройка REST клиента
6. Логирование
7. Сжатие запросов и ответов
8. Контекст
9. Рефакторингговно-кода на слоистую архитектуру
10. Тестирование
11. Обработка ошибок
12. Подключение базы данных PostgreSQL
13. Метрики и мониторинг
14. gRPC
15. Трассировка
16. Профилирование и оптимизация
17. Кэширование
Чего может не хватать чтобы курс закрывал больше боевых кейсов в проде? Напишите свои идеи в комментариях, попробую добавить их в план курса.
Планы были амбициозные - сделал не всё, зато появился понятный проект для комьюнити.
Готовлю бесплатный курс по Go на YouTube. За 17 коротких уроков соберём веб-сервис по мотивам Тамагочи 90х 🐣. Начнем с простого CRUD и пойдем к продакшн уровню. Каждая серия должна закрыть реальную полезную тему, без воды.
По срокам ничего сказать не могу, начинаю потихоньку записывать скринкасты. Буду нет-нет писать о ходе работ над курсом в этом канале.
Предварительный план уроков
1. Запуск базового REST сервера
2. Middleware
3. Подключение фреймворка chi
4. Конфигурация сервиса
5. Настройка REST клиента
6. Логирование
7. Сжатие запросов и ответов
8. Контекст
9. Рефакторинг
10. Тестирование
11. Обработка ошибок
12. Подключение базы данных PostgreSQL
13. Метрики и мониторинг
14. gRPC
15. Трассировка
16. Профилирование и оптимизация
17. Кэширование
Чего может не хватать чтобы курс закрывал больше боевых кейсов в проде? Напишите свои идеи в комментариях, попробую добавить их в план курса.
⚡3🔥3❤1
🚀 Вышел Go 1.25!
Главное в обновлении: Go стал умнее в контейнерах. Теперь сам ограничивает потоки под лимиты CPU (больше никаких 20 goroutines на 0.5 CPU в Kubernetes 😅).
Завезли супер-быстрый JSON v2 (пока экспериментально). Обещают куда шустрое распарсивание JSON и новые удобные API для маршалинга.
Появился экспериментальный GC "Green Tea", который в тестах на 10-40% снижает накладные расходы сборщика мусора.
Из мелочей: добавили метод
Мне больше всего понравилась авто-настройка GOMAXPROCS и новый JSON - я уже побежали бенчмаркать его в своих сервисах.
А вот что немного раскритиковали - так это отсутствие шагов по сокращению шаблона
Впрочем, релиз получился очень полезным: быстрее, безопаснее, удобнее. Лично мне не терпится включить JSON/v2 и "зелёный" GC в парочке проектов и посмотреть на результат.
Попробуйте и вы, поделитесь впечатлениями! 😉
Главное в обновлении: Go стал умнее в контейнерах. Теперь сам ограничивает потоки под лимиты CPU (больше никаких 20 goroutines на 0.5 CPU в Kubernetes 😅).
Завезли супер-быстрый JSON v2 (пока экспериментально). Обещают куда шустрое распарсивание JSON и новые удобные API для маршалинга.
Появился экспериментальный GC "Green Tea", который в тестах на 10-40% снижает накладные расходы сборщика мусора.
Из мелочей: добавили метод
WaitGroup.Go (минус шаблон Add(1)+go+Done, ура удобству!), пакет testing/synctest для тестов с синтетическим временем (прощай time.Sleep в тестах 🎉), новый net/http-защитник от CSRF и пачку оптимизаций в crypto (прощай SHA-1).Мне больше всего понравилась авто-настройка GOMAXPROCS и новый JSON - я уже побежали бенчмаркать его в своих сервисах.
А вот что немного раскритиковали - так это отсутствие шагов по сокращению шаблона
if err != nil 🙈 (Go как был консервативен в error handling, так и остался). Впрочем, релиз получился очень полезным: быстрее, безопаснее, удобнее. Лично мне не терпится включить JSON/v2 и "зелёный" GC в парочке проектов и посмотреть на результат.
Попробуйте и вы, поделитесь впечатлениями! 😉
🔥5
Кажется, уже совсем взрослый, хотя ощущается это не всегда 🙂
Топ мыслей, которые приходят в голову, когда смотришь назад:
- Люби и цени родителей. Время с ними бесценно и конечно.
- Релизить в пятницу вечером нельзя, даже если очень сильно хочется.
- Стройность тела уходит - думай о питании.
- Не думай о деньгах, они придут если развиваться.
- Волосы уходят - лучше вообще много не думай...
Коллеги в этом году порадовали подарком: майка CI/CD PIPELINE TO HELL. Разговаривали о ней почти полтора года и вот она у меня. На конвертах написано "Дорогому дедушке" и "Любимой Бабушке". Люблю свою команду. Креативные они у меня 😊
В общем и целом я свой день рождения не праздную, по личным причинам. Мне сложно этот день воспринимать как "праздник", но в прошлом году решил посидеть с коллегами в караоке. И в целом было довольно неплохо.
Может, и в этом году стоит выйти в свет?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥2🏆1💋1
Почему зарплаты редко пишут в вакансиях
Официальный ответ HR: "всё зависит от кандидата".
Неофициальный: "не хотим раскрывать карты конкурентам".
Для разработчика выглядит забавно. Ты проходишь несколько этапов собеса, тратишь кучу времени, и только в конце выясняется, что условия не совпадают с ожиданиями.
Самое смешное, что рынок и так прозрачен. Пара разговоров с коллегами за кофе дают картину честнее, чем любая вакансия.
Может когда-нибудь у нас тоже будут указывать вилки в открытую. Но пока живём в реальности "обсудим ближе к офферу".
P.S. на постере какой-то лысый парень с бородой держит карточки, которые просвечивают с обратной стороны. Задумайтесь...
Официальный ответ HR: "всё зависит от кандидата".
Неофициальный: "не хотим раскрывать карты конкурентам".
Для разработчика выглядит забавно. Ты проходишь несколько этапов собеса, тратишь кучу времени, и только в конце выясняется, что условия не совпадают с ожиданиями.
Самое смешное, что рынок и так прозрачен. Пара разговоров с коллегами за кофе дают картину честнее, чем любая вакансия.
Может когда-нибудь у нас тоже будут указывать вилки в открытую. Но пока живём в реальности "обсудим ближе к офферу".
P.S. на постере какой-то лысый парень с бородой держит карточки, которые просвечивают с обратной стороны. Задумайтесь...
👍2💯1