Pull to refresh
0
0
Send message

Как инженеру выбрать работу

Reading time18 min
Views14K

Даже на текущем рынке кандидата, каждая смена работы — это серьезное решение, инвестиция нескольких лет жизни или — неприятная строчка в резюме, причина для неудобных вопросов вроде «А почему вы ушли из компании X, проработав там немногим более года?».

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

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

За 18 лет в индустрии, в том числе на роли исполнительного директора и позднее CEO, мне удалось познакомиться с большим количеством бизнесов и поучаствовать примерно в тысяче инженерных интервью. На основе этого опыта и опыта коллег по Mindbox сложилась система, которой тут делюсь. И буду благодарен за предложения в комментариях, как ее улучшить.

Хоть я лицо и заинтересованное, надеюсь помочь и себе, и вам. Благо, в моих интересах не заманить всех и каждого, а чтобы приходящие к нам делали свой выбор рационально. Работали у нас долго, были довольны и мотивированы. 

Читать далее
Total votes 27: ↑26 and ↓1+29
Comments23

Полное руководство по Prometheus в 2019 году

Reading time11 min
Views350K


DevOps- и SRE-инженеры уже, наверное, не раз слышали о Prometheus.


Prometheus был создан на SoundCloud в 2012 году и с тех пор стал стандартом для мониторинга систем. У него полностью открытый исходный код, он предоставляет десятки разных экспортеров, с помощью которых можно за считанные минуты настроить мониторинг всей инфраструктуры.


Prometheus обладает очевидной ценностью и уже используется новаторами в отрасли, вроде DigitalOcean или Docker, как часть системы полного мониторинга.


Что такое Prometheus?
Зачем он нужен?
Чем он отличается от других систем?


Если вы совсем ничего не знаете о Prometheus или хотите лучше разобраться в нем, в его экосистеме и всех взаимодействиях, эта статья как раз для вас.

Total votes 30: ↑29 and ↓1+28
Comments30

Как GitLab проходили Y Combinator

Reading time5 min
Views2.5K
image

C января по март 2015 года, GitLab участвовал в зимней программе 2015 года Y Combinator. Мы прекрасно провели время и хотим поблагодарить сотрудников Y Combinator, наших менторов Касара и Кевина, выпускников YC и наших товарищей по программе.

Четкий фокус


Когда вы присоединяетесь к Y Combinator, вы попадаете в группу с несколькими другими стартапами. В эту группу входят другие команды основателей и один или два ментора, которые имеют опыт создания и управления новыми компаниями. Каждую неделю вы встречаетесь с одними и теми же людьми, обсуждая одни и те же темы:

  • Где вы находитесь,
  • Где вы застряли,
  • Как можно вам помочь.


Эти обсуждения очень конкретные, а не теоретические или философские. Речь идет о том, что вы делаете для достижения своей цели. У них есть четкие цели на протяжении всей программы, которые будут варьироваться от стартапа к стартапу, поскольку все они находятся на разных стадиях, когда начинают программу. Общими показателями являются количество клиентов, выручка или количество загрузок. У каждого основателя или команды есть четкая цель — сосредоточиться на одной метрике.

В течение следующих нескольких месяцев все идет к тому, чтобы провести презентацию на финальном Demo Day. Demo Day — это мероприятие только для приглашенных, на котором каждая из компаний-основателей выступает перед группой инвесторов.
Читать дальше →
Total votes 17: ↑8 and ↓9+5
Comments0

Погружение в Helm Package Manager. Часть первая

Reading time12 min
Views47K

Helm — один из самых популярных пакетных менеджеров для Kubernetes. Познакомиться с ним полезно любому DevOps-инженеру и всем, кто сталкивается с задачами деплоя приложений. Эта статья — первый из двух материалов, которые можно вместе можно рассматривать как краткое, но достаточно полное введение в Helm.

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments13

13 рекомендаций по использованию Helm

Reading time12 min
Views8.8K

Helm — незаменимый инструмент для развертывания приложений в кластерах Kubernetes. Но только следуя передовому опыту, вы действительно ощутите преимущества Helm. Вот 13 рекомендаций, которые помогут вам создавать, использовать и обновлять приложения с помощью Helm.

Читать дальше →
Total votes 10: ↑9 and ↓1+9
Comments5

Основы работы с Helm чартами и темплейтами — Часть 1

Reading time16 min
Views61K

В этом руководстве мы кратко обсудим, как Helm может помочь упростить управление приложениями Kubernetes, и узнаем, как использовать Helm для создания базового чарта.


Управление приложениями — сложный аспект Kubernetes. Helm значительно упрощает его, предоставляя единый метод упаковки программного обеспечения, поддерживающий контроль версий. Helm устанавливает пакеты (называются Чартами в Helm) для Kubernetes и управляет ими, как это делают yum и apt.


В этом руководстве мы позволим Helm создать для нас базовый чарт. В этом руководстве предполагается, что у вас есть хотя бы базовое понимание того, что такое Helm. Если вы не знакомы с ним, я предлагаю вам ознакомиться с этим руководством, прежде чем приступить к статье: https://www.alibabacloud.com/help/doc-detail/86511.htm

Читать дальше →
Total votes 8: ↑7 and ↓1+8
Comments3

Готовим Helm с GitLab, KinD и Chart-Testing

Reading time16 min
Views9.9K

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

Очень кстати, в недавно вышедшем релизе Gitlab 14.1, появился долгожданный функционал хранения Helm-чартов во встроенном Package Registry. Отлично, заодно и разберемся, как его использовать.

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments4

Установка, использование Managed Service for PostgreSQL,Managed Service for Kubernetes в YandexCloud c помощью terraform

Reading time4 min
Views5K

В этом посте будет описана установка Managed Service for PostgreSQL и Managed Service for Kubernetes в Yandex Cloud c помощью terraform. В Kubernetes будет установлено простое приложение на flask, которая записывает данные в Managed Service for PostgreSQL. Приложение на flask описано в helm чарте и будет установлено с помощью helm. Внешний трафик из интернета будет проходить сначала Network load balancer, затем попадать в Ingress. Ingress – это ресурс для добавления правил маршрутизации трафика из внешних источников в службы в кластере kubernetes.


Вся установка и настройка добавлена в скрипт install.sh. Можно просто запустить скрипт и все установится. В посте описывается более подробно.

Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments2

Основы работы с Helm чартами и темплейтами — Часть 2

Reading time18 min
Views43K

В этом руководстве мы кратко обсудим, как Helm может помочь упростить управление приложениями Kubernetes, и узнаем, как использовать Helm для создания базового чарта.

Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments1

Пишем сервис на GO. Backend для апплета

Reading time25 min
Views26K


В первой части этой дилогии мы написали рантайм контроллер для приложения на golang. Все что он умеет делать — запускать методы интерфейса Resources и функцию MainFunc, контролировать результат их выполнения, и корректно обрабатывать сигнал операционной системы о завершении работы. Это не так уж и много, но довольно полезно.


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


Правда интригующе? Где же получать информацию о вакансиях? Где хранить эту информацию? Какие критерии отбора вакансий использовать? Для того, чтобы узнать ответы на эти вопросы, прошу заглянуть под кат!

Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments20

DevOps Cookbook: как построить процессы с нуля

Reading time7 min
Views16K

Привет! Меня зовут Мария, я DevOps-инженер в компании Wrike. В этой статье расскажу о работе DevOps-инженеров с командами разработчиков: как выглядит процесс взаимодействия, из каких этапов состоит и как построить его с нуля. Статья будет полезна, если вы часто меняете проекты и каждый раз вам приходится заново создавать документацию и внедрять базовые процессы в работу команды.

Читать далее
Total votes 21: ↑20 and ↓1+21
Comments13

Совместить несовместимое: Канбан-метод + DevOps на госпроектах

Reading time20 min
Views13K

Обычная практика при работе с госами - это долгосрочное планирование, тщательное проектирование, разработка по детальным спецификациям, тестирование и релиз раз в три-четыре месяца. Вроде все логично и понятно но, по моему опыту, в современном быстро меняющемся мире работает далеко не идеально. Многие технологические компании (Amazon, Facebook, Netflix и др.) уже отказались от такого каскадного подхода: формируют гипотезы, проводят  множество маленьких экспериментов для их быстрой апробации в бою. Думаете, чтобы разработать ракету нужен детальный техпроект, план и далее сборка по чертежам? Тогда вы сильно удивитесь, если прочитаете, как это делается в SpaceX.  С таким же недоумением со стороны коллег я сталкиваюсь, когда говорю, что мои команды на госпроектах делают каждый день релизы, организуют частые показы заказчику или пользователям. А еще мы не пишем детальных спецификаций и постоянно развиваем инженерные практики. Почему такой подход имеет место быть и приводит к хорошим результатам, расскажу на примере проекта по созданию ГИС Открытый контроль

Как же вы планируете без диаграмм Ганта? Почему ваши разработчики не оценивают задачи? Зачем вы делаете частые релизы и частые показы? Что делаете, еcли прилетела срочная задача от заказчика? Какие инженерные практики вам пришлось внедрить, чтобы делать релизы каждый день? Ответы на эти вопросы, а также то, почему мы отказались от Scrum вы найдете в статье.

Читать далее
Total votes 49: ↑48 and ↓1+56
Comments15

«Оптимизируем» функции на уровне AST

Reading time10 min
Views8.2K

Python предоставляет программисту огромное пространство свободы. Увы, обычно это довольно дорогая в плане производительности свобода, зато при правильном применении иногда она позволяет творить сущую магию. Но сегодня мы поговорим не о таких вот «богоугодных» применениях свободы, а о том, что никогда не стоит использовать в прикладном программировании — о модификациях кода на уровне AST.

Запутаться
Total votes 54: ↑54 and ↓0+54
Comments7

Липкие сессии для самых маленьких [Часть 1]

Reading time4 min
Views26K

Липкие сессии (Sticky-session) — это особый вид балансировки нагрузки, при которой трафик поступает на один определенный сервер группы. Как правило, перед группой серверов находится балансировщик нагрузки (Nginx, HAProxy), который и устанавливает правила распределения трафика на доступные сервера.

В первой части цикла мы посмотрим как создавать липкие сессии с помощью Nginx. Во второй же части разберем создание подобной балансировки средствами Kubernetes.

Вляпаться
Total votes 29: ↑29 and ↓0+29
Comments10

Стратегии деплоя в Kubernetes: rolling, recreate, blue/green, canary, dark (A/B-тестирование)

Reading time5 min
Views80K
Прим. перев.: Этот обзорный материал от Weaveworks знакомит с наиболее популярными стратегиями выката приложений и рассказывает о возможности реализации наиболее продвинутых из них с помощью Kubernetes-оператора Flagger. Он написан простым языком и содержит наглядные схемы, позволяющие разобраться в вопросе даже начинающим инженерам.


Схема взята из другого обзора стратегий выката, сделанного в Container Solutions

Одной из самых больших проблем при разработке cloud native-приложений сегодня является ускорение деплоя. При микросервисном подходе разработчики уже работают с полностью модульными приложениями и проектируют их, позволяя различным командам одновременно писать код и вносить изменения в приложение.

Более короткие и частые развертывания имеют следующие преимущества:

  • Сокращается время выхода на рынок.
  • Новые функции быстрее попадают к пользователям.
  • Отклики пользователей быстрее доходят до команды разработчиков. Это означает, что команда может дополнять функции и исправлять проблемы более оперативно.
  • Повышается моральный дух разработчиков: с большим количеством функций в разработке интереснее работать.
Читать дальше →
Total votes 43: ↑40 and ↓3+37
Comments3

Введение в REST API — RESTful веб-сервисы

Reading time4 min
Views1M
Эта статья начинает серию постов о разработке REST API:


Она содержит введение в RESTful веб-сервисы и краткий обзор REST и HTTP.


Intro to RESTful Web Services
Читать дальше →
Total votes 11: ↑4 and ↓7+1
Comments13

Сравнение современных построителей образов контейнеров: Jib, Buildpacks и Docker

Reading time22 min
Views13K

В этой статье будут рассмотрены и сравнены различные методы контейнеризации ваших Java-приложений. Эти инструменты позволят вам получить контейнерное приложение с минимальными настройками. Возможно, вам даже не потребуется устанавливать Docker или работать с Dockerfile. К концу этой статьи вы сможете решить, какой построитель образов контейнера является самым быстрым, потребляет наименьшее количество ресурсов, проще в настройке и лучше всего подходит для вашего сценария использования.

Читать далее
Total votes 2: ↑1 and ↓1+1
Comments2

Сборка контейнеров без Docker

Reading time10 min
Views11K

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

Читать далее
Total votes 17: ↑17 and ↓0+17
Comments8

20 лучших практик по работе с Dockerfile

Reading time13 min
Views37K

Эта статья содержит рекомендации по написанию Dockerfile и принципам безопасности контейнеров и некоторые другие связанные темы, например про оптимизацию образов.

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

К счастью, большинство потенциальных проблем мы можем решить еще на этапе разработки.

Хорошо подготовленный Dockerfile исключает необходимость использовать привилегированные контейнеры, открывать порты, в которых нет необходимости, включать лишние пакеты и избегать утечки чувствительных данных. Старайтесь решить эти проблемы сразу, это поможет в дальнейшем сократить усилия на поддержку ваших приложений.

Читать далее
Total votes 38: ↑36 and ↓2+40
Comments22

Information

Rating
Does not participate
Registered
Activity