Получи случайную криптовалюту за регистрацию!

🇺🇦 Catputer

Логотип телеграм канала @catputer — 🇺🇦 Catputer
Логотип телеграм канала @catputer — 🇺🇦 Catputer
Адрес канала: @catputer
Категории: Карьера
Язык: Русский
Количество подписчиков: 818
Описание канала:

Инженер в Facebook. Стажировался в Google и Bloomberg. Пишу об IT, карьере, политике и не только. Вопросы или предложения?
Пишите мне в лс @aidarbek1

Рейтинги и Отзывы

3.33

3 отзыва

Оценить канал catputer и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

1

4 звезд

1

3 звезд

0

2 звезд

0

1 звезд

1


Последние сообщения 4

2021-01-31 17:27:43 ​#работаFacebook

Проекты крутятся, лавеха мутится

Незаметно для себя, я стал frontend разрабом. Вот уже мой 4-й проект в этой команде будет связан с JavaScript и React. Смешанные чувства. С одной стороны, я не особо горю желанием развиваться во фронтэнде и предпочитаю работать в бекенде. С другой стороны, в самом Facebook очень много фронтэнд проектов, проекты намного более user-facing и возможностей сделать какой-то импакт больше.

А еще я завел кота. На фото он видит мой говнокод.
1.6K views14:27
Открыть/Комментировать
2021-01-10 19:14:59 #работаFacebook

Facebook уже вторая компания, в которой я работаю, где я сталкиваюсь с такой вещью, как feature flags (toggles, switches). Предыдущая была Bloomberg, думаю, в Google они тоже есть, просто я был в SRE.

Что же такое feature flags? Если коротко, то это переменная, которая контролирует включение или выключение той или иной фичи в коде. Выглядит это примерно так: if(flag) {/* do new feature */} . Значение этого флага может контролироваться разными способами, но обычно это делается централизованно: есть какой-то отдельный сервер, который возвращает эти флаги. Выглядит просто, но в действительности это очень мощная DevOps практика, которая помогает вам пушить код в продакшн с меньшими рисками. Для примера, представим, что вы хотите сделать редизайн своего сайта. Для этого вам нужно поменять дизайн множества страничек, компонентов и прочих атрибутов. Как вы поступите? Вы можете сделать все одним коммитом на 10К+ строк кода и запушить все в продакшн. Если что-то сломается, то вам или сис. админу придется откатывать этот коммит на сервере или же экстренно искать ошибку в коде. Стресс, стресс, стресс. С другой стороны, можно было бы воспользоваться feature flag-ами: делать все маленькими, digestible коммитами, которым реально провести нормальный code review, попутно покрывая каждый кусок нового кода флагом и используя старый код, если флаг выключен. Как только придет час X, то весь этот код можно просто включить нажатием одной кнопки, сделав тем самым релиз. Если же что-то пойдет не так, то фичу достаточно просто выключить, а дебажить можно будет уже потом. Плюсы feature флагов не ограничиваются только удобством релиза новых фич - их также можно использовать с A/B тестированием. То есть можно пилить фичи и сражу же замерять impact твоего кода на разные бизнес-метрики!

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

Резюмируя, feature флаги очень мощная штука если вы хотите иметь возможность деплоить быстро и без проблем код, у которого уже есть множество юзеров. С другой стороны, если вы стартап на стадии создания MVP/прототипа, то feature флаги только затормозят процесс разработки. Это в принципе объясняет, почему я не сталкивался с ними в Казахстане, потому что работал только в стартапах.

А как вы деплоите в продакшн? Используете ли feature флаги? В какой компании/проекте? Пишите в комментариях к этому посту!
1.7K views16:14
Открыть/Комментировать
2020-12-20 23:00:10 #работаFacebook

Мой первый oncall был на прошлой неделе! Это что-то наподобие дежурства, когда ты следишь за тем, чтобы системы работали исправно. После опыта в Google и Facebook я заметил, что у них совершенно отличаются подходы к этому. В Google есть специальные инженеры (Site Reliability Engineers), в обязанность которых входит в том числе и oncall. SRE не разрабатывают приложения, а скорее обязуются поддерживать уже разработанное. То есть по сути за oncall приложения отвечают совсем не те люди, которые его разрабатывают. В Facebook же разработчики участвуют в oncall своего приложения и не делегируют его посторонним. Как по мне, это заставляет людей стараться «не лажать», т.к. в случае чего за это придется расплачиваться всей команде.

Что вы думаете об oncall? Подход какой компании вам нравится больше?
1.7K views20:00
Открыть/Комментировать
2020-12-12 17:55:42 Завтра в 9 вечера по Астане я проведу стрим со своим другом Анваром Умаровым(@arpychan). Поговорим о кибербезопасности, блокировках и интернете. Анвар контрибьютил в организацию Internet Freedom (@internetfreedomkz). Это чуть ли не единственная организация…
1.8K views14:55
Открыть/Комментировать
2020-12-11 18:08:01 Завтра в 9 вечера по Астане я проведу стрим со своим другом Анваром Умаровым(@arpychan). Поговорим о кибербезопасности, блокировках и интернете. Анвар контрибьютил в организацию Internet Freedom (@internetfreedomkz). Это чуть ли не единственная организация в Казахстане, которая борется за свободный Интернет. Вместе с ним мы разберемся в том, что же происходит с блокировками, что такое сертификат безопасности, разберем его интервью для одного крупного телеканала, и как государство влияет на наш доступ в интернет. И все это понятным языком. Подключайтесь - будет интересно!

YouTube (можете поставить напоминалку):


Twitch: https://www.twitch.tv/tg_catputer
2.4K views15:08
Открыть/Комментировать
2020-12-08 22:24:45 А еще можете оставлять предложения по темам стрима в комментариях к этому посту
1.5K views19:24
Открыть/Комментировать