TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #721 · 26.12

Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev

Hashtags

Резултати

Намерени 1 подобни публикации

Търсене: #releaseengineer

当前筛选 #releaseengineer清除筛选
Data Science Jobs

@datasciencejobs · Post #3122 · 02.02.2026 г., 18:18

#релизинженер#релизинженервакансия#MLOps#DevOps#ReleaseEngineer ❇️Релиз-инженер с функцией MLOps Senior ❇️| Компания Top Selection 🔥 Мы в поиске Релиз-инженера с функцией MLOps на проектную занятость Грейд: Senior Ставка: от 288К до 315К Гражданство/Локация: РФ Загрузка: фуллтайм Срок: долгосрочный Оформление: только ИП ‼️ Описание: Мы создаём интеллектуальную ML - систему прогнозирования спроса, которая учитывает сезонность, промо, макро- и микроэкономические факторы, поведение клиентов и ограничения логистики. Наш стек: GitHub/Gitlab, Jfrog Artifactory, SonarQube, Jenkins/GitlabCI , ArgoCD, Helm, Hashicorp Vault, OpenTelemetry, Grafana, Grafana Tempo, Mimir, Prometheus, Apache Spark, k8s 📝 Задачи: * Облегчение и ускорение труда разработчиков * Создание CI/CD пайпланов. * Помощь в контейнеризации приложений, подготовке к доставке и развертыванию. * Техническая консультация. * Помощь в настройке централизованной среды разработки * Управление релизным процессом, проведение, сопровождение релизов. * Заведение RFC * Проведение релизов * Контроль работоспособности систем до, во время и после релизов. * Актуализация технической документации. * Управление инфраструктурой * Поддержание работоспособности инфраструктурных сервисов. * Настройка мониторинга сервисов. * Контроль за утилизацией ресурсов, повышение оптимальности их использования. * Своевременное обновление сервисов и зависимостей. * Своевременное устранение обнаруженных уязвимостей в исходном коде и подкотрольных сервисах. ✅Требования к кандидату (+/-): - Не менее 4 лет в роли DevOps/Release Engineer или аналогичной, с фокусом на CI/CD и релизный процесс. - Опыт работы в проектах с ML-моделями. СУспешное проведение релизов в production-средах, включая управление RFC и контроль работоспособности систем до/во время/после релизов. ✅Технические навыки и обязанности: - CI/CD и релизный менеджмент: Создание и поддержка пайплайнов в Jenkins/GitLab CI; управление релизным процессом с ArgoCD и Helm; контейнеризация приложений (Docker/Kubernetes). - Инфраструктура как код: Работа с Kubernetes (k8s), HashiCorp Vault для секретов; настройка и поддержка инфраструктуры. - Мониторинг и observability: OpenTelemetry, Grafana (Tempo, Mimir), Prometheus; контроль утилизации ресурсов, выявление уязвимостей (SonarQube). - Артефакты и репозитории: GitHub/GitLab, JFrog Artifactory. - MLOps-специфика: Опыт с Apache Spark для ML-workloads; автоматизация развертывания ML-моделей, интеграция с ML-пайплайнами. - Дополнительно: Актуализация документации, технические консультации для разработчиков, настройка централизованной dev-среды, устранение уязвимостей и обновление зависимостей. ✅Стек технологий (обязательный опыт): - GitHub/GitLab, JFrog Artifactory, SonarQube, Jenkins/GitLab CI. - ArgoCD, Helm, HashiCorp Vault. - OpenTelemetry, Grafana, Grafana Tempo, Mimir, Prometheus. - Apache Spark, Kubernetes (k8s). По всем вопросам и с резюме пишите @aliiS_a