Forwarded from darerror
смотрю сейчас большое свежее интервью одного из основных мейнтейнеров Postgres и сооснователя Postgres Pro 🐘
нравится слушать именно такие подкасты на стыке простых жизненных вопросов и технической составляющей
подобные истории вдохновляют. оставляю сноску из описания видео:
нравится слушать именно такие подкасты на стыке простых жизненных вопросов и технической составляющей
подобные истории вдохновляют. оставляю сноску из описания видео:
поговорили про то, кто стоял у истоков Postgres, проблемы мирового опенсорса, как изменились отношения среди Postgres сообщества после начала СВО. А также про то, какое место в этих процессах занимал Олег Бартунов, про компанию Postgres Pro, сколько зарабатывает компания и в частности Олег Бартунов в год, про изменения с приходом AI, а еще зачем он писал Сергею Брину в 1995 году и почему нужно вкладываться в обучение сегодня, чтобы иметь сильное IT в России завтра
Forwarded from darerror
когда только начинаешь карьеру в разработке, сложно понять, на что опираться. особенно если кажется, что все вокруг умнее, быстрее, опытнее.
с самого начала работы я получала очень тёплую и честную обратную связь от коллег. благодаря этому у меня выстраивалась опора — на себя, на процесс, на рост. ниже — пару выдержек из отзывов.
«коллеги очень высоко оценили твою активность, инициативность и желание качественно делать задачи»
«ты справляешься с уже достаточно сложными задачами, проявляешь инициативу и не боишься брать на себя ответственность»
«успешно решаешь сложные проблемы, задаешь правильные вопросы, стремишься к лучшему коду»
«отмечают твой вклад в разработку фич, внимание к деталям и постоянное стремление улучшать решение»
«серьёзно подходишь к проектированию, выстраиваешь коммуникации с командой и заказчиком, быстро адаптируешься и делаешь качественный код»
эти слова давали мне не только поддержку, но и пищу для анализа: а что именно я делаю правильно? а что работает?
сформировались принципы, которые я бы с радостью отдала себе-джуну в первый рабочий день. делюсь ими здесь.
1. всегда проверять реализацию
даже если всё супер и тесты зелёные — всё равно делать смоук-проверку руками. лучше я поймаю баг, чем QA будет разбираться, почему не работает. *в некоторых командах это является зафиксированным процессом, а в некоторых - нет
2. быть пессимистом — полезнее, чем оптимистом
научись сразу думать о худших сценариях. особенно в сроках и оценках. лучше успеть раньше, чем провалить дедлайн. без навыка оценивать дальше никуда.
3. самостоятельность — мышца, которую надо качать
если нет идей — это не повод молчать. я старалась озвучить хоть что-то, и старшие коллеги подхватывали. не страшно быть неуверенной — страшно не учиться на этом.
4. не обижаться на «тщательное» ревью
знаю, что некоторые воспринимают ревью как критику, но это в корне не так. это не про «ты плохо сделал», а про то, как сделать лучше. хорошее ревью - это подарок. я всегда просила меня жестче ревьюить.
5. нужно бороться с иллюзией «все всё знают, а я — нет»
вечно кто-то да обсуждает какую-нибудь сортировку креветками. да, большой пласт незнания на старте - это естественно, но существует категория людей, которая буквально вчера прочитала что-то заумное и редкое на хабре и теперь хочет, чтобы об этом знал весь мир. никто не знает всё. часто задачи специфичны. это просто иллюзия восприятия.
6. ошибаться — нормально
«человек, который ошибался много и часто – но никогда не совершал одну и ту же ошибку дважды, – более надежен, чем тот, кто не ошибался никогда»
— если доделываю задачу вечером, утром обязательно перепроверю на свежую голову
— если не знаю, с чего начать, - пытаюсь сформулировать вопрос: ответы самому себе часто приходят в процессе формирования вопроса другому
— сначала пишу код средне, чтобы просто работало. а потом улучшаю до состояния «нравится»
если пост понравился - оставляйте реакцию
Please open Telegram to view this post
VIEW IN TELEGRAM
❤22 1
https://freedium.cfd/ стал однажды моим большим открытием в бесконечном скроллинге медиум страниц
🔥3
зачем?
сейчас я работаю на проекте с микросервисной архитектурой, но так было не всегда. до этого у меня был опыт с SOA. понятно, что ни одна архитектура не является универсальной — у каждой свои плюсы и минусы. но дело не в сравнении подходов.
хочется не просто уметь пользоваться инструментом, а понимать, зачем он был создан, какие задачи решает. даже если сейчас очень многое делается с помощью k8s.
Spring Cloud — это не просто фреймворк. это набор обёрток над проверенными архитектурными решениями: Resilience pattern, API Gateway pattern, Distributed events, dynamic configuration и другие.
изучение этих проектов даёт не только новые инструменты для решения нетривиальных задач, но и понимание того, как выстраивать систему более осознанно:
— как автоматизировать CI/CD с помощью contract-тестирования
— почему используют Vault для безопасного хранения секретов
— какие trade-off’ы стоят за выбором: Bus vs manual refresh
это помогает делать более обоснованный выбор решений, понимать чужой код глубже и трезво оценивать уровень зрелости проектов.
в конечном счёте, цель — прокачка архитектурного мышления.
не просто использовать аннотации, а видеть за ними реальные паттерны, инженерные компромиссы и логику. в том числе — лучше понимать open source и, возможно, однажды внести вклад в него
Please open Telegram to view this post
VIEW IN TELEGRAM
Spring Cloud
Level up your Java code and explore what Spring can do for you.
👍3❤2🔥2🗿1
девопсы, к вам вопрос: что делали разработчики, что вас прямо выбешивало??
❤2
моя жизнь в разработке сейчас очень насыщенная — и это настоящая отдушина🧋
особенно когда то, что ты делаешь «в рутине», прокачивает тебя и снаружи
если коротко — около 80% моего времени уходит на технические задачи. осенью, скорее всего, возьму паузу в сторону бизнеса, но пока держу курс на «харды». чуть подробнее:
а) продолжаю заниматься миграцией с oracle на postgres без простоя. у нас есть четкий поэтапный план по всем микросервисам, проработанный лично мной. где-то я просто отслеживаю прогресс как фича-лид, где-то пишу руками. стараемся давать всем поучаствовать — чтобы знания не застаивались. для миграции данных используем debezium, и недавно я занималась оптимизацией kafka: настраивала сжатие и schema registry.
б) изначально не очень понравилась система отчетности в проекте: видно было, что там много узких мест, но времени обычно не хватает. сейчас наконец дошли руки до анализа и поиска реальных точек улучшения. про техдолг не забыли — и это радует.
в) в следующем спринте беру миграцию одного из микросервисов с java 11 на 17. часть уже перевели, я решила не упускать возможность и тоже выцепила задачку — хочу набить руку в этом процессе. он идет параллельно с переходом на postgres, но там другой фича-лид, мой коллега.
г) по мелочи — баги, продовые вопросы, локальные задачки.
вообщем, очень кайфую от работы❤️
особенно когда то, что ты делаешь «в рутине», прокачивает тебя и снаружи
если коротко — около 80% моего времени уходит на технические задачи. осенью, скорее всего, возьму паузу в сторону бизнеса, но пока держу курс на «харды». чуть подробнее:
а) продолжаю заниматься миграцией с oracle на postgres без простоя. у нас есть четкий поэтапный план по всем микросервисам, проработанный лично мной. где-то я просто отслеживаю прогресс как фича-лид, где-то пишу руками. стараемся давать всем поучаствовать — чтобы знания не застаивались. для миграции данных используем debezium, и недавно я занималась оптимизацией kafka: настраивала сжатие и schema registry.
б) изначально не очень понравилась система отчетности в проекте: видно было, что там много узких мест, но времени обычно не хватает. сейчас наконец дошли руки до анализа и поиска реальных точек улучшения. про техдолг не забыли — и это радует.
в) в следующем спринте беру миграцию одного из микросервисов с java 11 на 17. часть уже перевели, я решила не упускать возможность и тоже выцепила задачку — хочу набить руку в этом процессе. он идет параллельно с переходом на postgres, но там другой фича-лид, мой коллега.
г) по мелочи — баги, продовые вопросы, локальные задачки.
вообщем, очень кайфую от работы
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤30❤🔥8👍6
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41❤7💯2
потихоньку появляются темы докладов предстоящего Joker🍇
уже для себя отметила парочку интересных.
но встал вопрос: ребята-разработчики (бэк), а как у вас отношения с девопс-обязанностями?
сейчас прикреплю опрос
уже для себя отметила парочку интересных.
но встал вопрос: ребята-разработчики (бэк), а как у вас отношения с девопс-обязанностями?
сейчас прикреплю опрос
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8
касаемо меня: прожала 3 вариант.
почти каждый день общаюсь с devops-инженерами на работе. базовое понимание их процессов сильно помогает говорить на «одном языке».
не считаю, что разработчику нужно уметь это все, но в некоторых проектах роли всё-таки смешивают — и это сразу можно считать по вакансиям.
у самой есть интерес чуть глубже разобраться в практической части. возможно, ближе к четвёртому кварталу что-то поделаю руками — просто чтобы расширить картину мира.
но цели идти в devops-команду нет.
всё-таки проды, падающие в три ночи, — это не та романтика, которая меня пленит😒
почти каждый день общаюсь с devops-инженерами на работе. базовое понимание их процессов сильно помогает говорить на «одном языке».
не считаю, что разработчику нужно уметь это все, но в некоторых проектах роли всё-таки смешивают — и это сразу можно считать по вакансиям.
у самой есть интерес чуть глубже разобраться в практической части. возможно, ближе к четвёртому кварталу что-то поделаю руками — просто чтобы расширить картину мира.
но цели идти в devops-команду нет.
всё-таки проды, падающие в три ночи, — это не та романтика, которая меня пленит
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍7🤝1
всё чаще сталкиваюсь с тем, что рефакторинг — это задача, которую всегда можно отложить. она вроде бы важна, но на фоне продуктовых фич или багфиксов теряет приоритет.
и это ловушка. потому что когда накопившийся долг взрывается, правки начинают вноситься в несколько мест, флоу становится непрозрачным, а тестировщики получают задачу “мы поправили тут и тут, но проверьте на всякий случай всё”.
в итоге трудозатраты растут, а доверие падает.
мне близко правило “сделай чуть лучше, чем было до тебя”. не перегружая, просто оставить после себя место чище.
и я уже не раз видела, как это “чуть-чуть” срабатывает. и спустя месяц — оказывается, что именно оно помогло не утонуть.
а как у вас с рефакторингом?
и это ловушка. потому что когда накопившийся долг взрывается, правки начинают вноситься в несколько мест, флоу становится непрозрачным, а тестировщики получают задачу “мы поправили тут и тут, но проверьте на всякий случай всё”.
в итоге трудозатраты растут, а доверие падает.
мне близко правило “сделай чуть лучше, чем было до тебя”. не перегружая, просто оставить после себя место чище.
и я уже не раз видела, как это “чуть-чуть” срабатывает. и спустя месяц — оказывается, что именно оно помогло не утонуть.
а как у вас с рефакторингом?
❤32
близка мне концепция «жим-жим» — «отдых» в работе.
смысл простой: стабильно беру себе такую задачу, что и страшно, и интересно. когда не до конца понимаешь, что делать, и от этого внутри чуть ёкает. когда нужно выжать из себя больше, чем обычно, за те же часы. но зато — растёшь.
а между такими «жим-жимами» — отдых. лёгкие задачи, поток быстрый, почти не устаёшь, но всё равно делаешь полезное.
сейчас у меня снова прокачка мышц: перевожу микросервис на более свежую Java.
хоть перечитай все статьи на эту тему, но всё равно опыт будет у всех разным.
приложение просто не стартует. «не могу найти бин» — какой-то системный. без конкретики. вот и сиди, верти этот кубик рубика.
нравится!
а какой у вас подход к рабочим задачам? просите сами или берете что дают?
смысл простой: стабильно беру себе такую задачу, что и страшно, и интересно. когда не до конца понимаешь, что делать, и от этого внутри чуть ёкает. когда нужно выжать из себя больше, чем обычно, за те же часы. но зато — растёшь.
а между такими «жим-жимами» — отдых. лёгкие задачи, поток быстрый, почти не устаёшь, но всё равно делаешь полезное.
сейчас у меня снова прокачка мышц: перевожу микросервис на более свежую Java.
хоть перечитай все статьи на эту тему, но всё равно опыт будет у всех разным.
приложение просто не стартует. «не могу найти бин» — какой-то системный. без конкретики. вот и сиди, верти этот кубик рубика.
нравится!
а какой у вас подход к рабочим задачам? просите сами или берете что дают?
❤31💋4
поделиться ли с вами чуть позже своим опытом переезда с java 11 -> java 17 (sb 2.* -> 3.*)?
посмотрю на количество реакций❤️
посмотрю на количество реакций
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥92😭8👍6🔥4❤1😢1
и также своим опытом перевоза всего проекта на postgresql??
❤77🔥16👍8😭4😢2
давайте соберем под этим постом все конференции/митапы/суету, которые посещали/хотите посетить?
❤8
спросили недавно: «как глубже погрузиться в кодинг?»
решила поразмышлять.
включать режим «великий почемучка». на первых порах я без конца спрашивала у авторов кода: «почему именно так, а не иначе?», «почему выбрали это решение?», «как можно сделать лучше?». и это касается не только команды, но и смежных проектов. этот навык нужен на всех грейдах: можно разбирать хорошие практики в открытых репозиториях на гитхабе, читать статьи, смотреть доклады.
в разработке есть мем «крудошлёп» — и он не случайный. json гонять действительно приходится всем. и это нормально, это база. другое дело — наполнять рутину более нетривиальными вызовами: просить задачи посложнее или предлагать улучшения в системе. опыт и уверенность помогают со вторым, но первое доступно сразу.
залезать в чужие pr — отдельное удовольствие. я этим часто занимаюсь: можно найти много интересного.
ютуб для меня — лавина. с одной стороны, кладезь знаний, с другой — вечный поток, где невозможно получить конечное понимание. код проекта можно изучить вдоль и поперёк, а ютуб — нет. поэтому я стараюсь держать баланс и не уходить в фанатизм.
чтение — отдельная история. узкая теория, которая «приносит деньги», работает до определённого уровня. дальше без качания хардов никуда. но широта мышления всегда зависит от того, насколько готов выходить за пределы привычных задач. книги тут — отличный тренажёр: нейроны прокачиваются, но важно не просто читать, а разбирать и прорабатывать материал.
ещё одно: уходить от копипаста с ии или гугла к настоящему пониманию. пока копируешь — кажется, что понял. но это иллюзия, остаётся только в кратковременной памяти. закрепить можно только через осознанную проработку.
и, наверное, самое базовое — это окружение. коллеги, которые пишут хорошо и интересно. тут не нужно прилагать специальных усилий — со временем скилл подтягивается сам.
а у вас какие наблюдения?
решила поразмышлять.
включать режим «великий почемучка». на первых порах я без конца спрашивала у авторов кода: «почему именно так, а не иначе?», «почему выбрали это решение?», «как можно сделать лучше?». и это касается не только команды, но и смежных проектов. этот навык нужен на всех грейдах: можно разбирать хорошие практики в открытых репозиториях на гитхабе, читать статьи, смотреть доклады.
в разработке есть мем «крудошлёп» — и он не случайный. json гонять действительно приходится всем. и это нормально, это база. другое дело — наполнять рутину более нетривиальными вызовами: просить задачи посложнее или предлагать улучшения в системе. опыт и уверенность помогают со вторым, но первое доступно сразу.
залезать в чужие pr — отдельное удовольствие. я этим часто занимаюсь: можно найти много интересного.
ютуб для меня — лавина. с одной стороны, кладезь знаний, с другой — вечный поток, где невозможно получить конечное понимание. код проекта можно изучить вдоль и поперёк, а ютуб — нет. поэтому я стараюсь держать баланс и не уходить в фанатизм.
чтение — отдельная история. узкая теория, которая «приносит деньги», работает до определённого уровня. дальше без качания хардов никуда. но широта мышления всегда зависит от того, насколько готов выходить за пределы привычных задач. книги тут — отличный тренажёр: нейроны прокачиваются, но важно не просто читать, а разбирать и прорабатывать материал.
ещё одно: уходить от копипаста с ии или гугла к настоящему пониманию. пока копируешь — кажется, что понял. но это иллюзия, остаётся только в кратковременной памяти. закрепить можно только через осознанную проработку.
и, наверное, самое базовое — это окружение. коллеги, которые пишут хорошо и интересно. тут не нужно прилагать специальных усилий — со временем скилл подтягивается сам.
а у вас какие наблюдения?
❤40
помню, что во времена университета мне не хватало чего-то реального: правдивых задач, невыдуманных сценариев и серьезных вызовов.
сейчас на работе я этого получаю слихвой.
вот, например, недавняя ситуация: попросили перевести мс-ы на балансер постгреса. казалось бы, смена портов — и готово. но не все так тривиально. спустя время в логах заметила ошибки, что таблицы не находятся. и это плавающее поведение, не при старте.
что ж.
я предполагала, что дело было в схемах, но всегда нуждаюсь в доказательной основе, подтверждении теорий и т.д. пришлось разворачивать и воспроизводить локально.
включать логи хикари, писать их в файлах. аспекты вспомогательные делать.
в итоге вот что было: со временем балансер может отрубать неиспользуемые соединения, подрубать новые — и выставлять им настройки по умолчанию без указания нужной схемы. а потом к этому соединению цепляется хикари и… падает. повезет, если подцепится по новой к нужному из пула. и часть свойств, которые были указаны в конфигурации - не спасали от этого мракобесия.
одно дело — воспроизвести, другое — починить. благо хватило немного гуглинга да новых наблюдений.
вот такие вот лабораторные работы.
сейчас на работе я этого получаю слихвой.
вот, например, недавняя ситуация: попросили перевести мс-ы на балансер постгреса. казалось бы, смена портов — и готово. но не все так тривиально. спустя время в логах заметила ошибки, что таблицы не находятся. и это плавающее поведение, не при старте.
что ж.
я предполагала, что дело было в схемах, но всегда нуждаюсь в доказательной основе, подтверждении теорий и т.д. пришлось разворачивать и воспроизводить локально.
включать логи хикари, писать их в файлах. аспекты вспомогательные делать.
в итоге вот что было: со временем балансер может отрубать неиспользуемые соединения, подрубать новые — и выставлять им настройки по умолчанию без указания нужной схемы. а потом к этому соединению цепляется хикари и… падает. повезет, если подцепится по новой к нужному из пула. и часть свойств, которые были указаны в конфигурации - не спасали от этого мракобесия.
одно дело — воспроизвести, другое — починить. благо хватило немного гуглинга да новых наблюдений.
вот такие вот лабораторные работы.
❤40
маленькое наблюдение.
раньше было стыдно за то, что могу что-то забыть. что-то невероятно базовое или обыденное. или то, что вроде «обязан знать каждый разработчик».
я впитываю много знаний, но как только они не используются — мозг откладывает их на дальнюю полку.
правда в том, что сейчас я опираюсь на другую метрику.
не «я всё помню» (что оказалось невозможным), а «как быстро я смогу вспомнить, где это найти и как работает»
это как база данных: ценность в том, чтобы в нужных местах были индексы
и это действительно сильно упрощает мое восприятие мира
💎 - знакомо/узнал себя
⛰ - задумался
🪨 - я все по жизни помню
🐓 - для веселых ребят
раньше было стыдно за то, что могу что-то забыть. что-то невероятно базовое или обыденное. или то, что вроде «обязан знать каждый разработчик».
я впитываю много знаний, но как только они не используются — мозг откладывает их на дальнюю полку.
правда в том, что сейчас я опираюсь на другую метрику.
не «я всё помню» (что оказалось невозможным), а «как быстро я смогу вспомнить, где это найти и как работает»
это как база данных: ценность в том, чтобы в нужных местах были индексы
и это действительно сильно упрощает мое восприятие мира
Please open Telegram to view this post
VIEW IN TELEGRAM