Присоединяйтесь к команде, которая меняет представление о дизайне во всем мире.
Привет, привет, киа ора, 你好, халло, витайце!
Спасибо, что заглянули. Мы знаем, что поиск работы может занимать много времени, и вы, вероятно, хотите узнать, что предлагается, поэтому перейдем сразу к делу.
Чем вы будете заниматься на этой должности
Команда Production Engineering находится на стыке разработки программного обеспечения и решения сложнейших проблем надежности инфраструктуры Canva. Мы пишем программное обеспечение, которое меняет поведение продакшена при 240 миллионах ежемесячных активных пользователей и продолжает расти.
Стратегическая ставка — совершенно иная модель. Собственный подход Canva к тому, как должна выглядеть надежность продакшена, построенный с учетом нашего стиля работы. Старшие инженеры-программисты, надолго вовлеченные в области с наибольшим техническим риском, работающие бок о бок с продуктовыми командами, достаточно близко к дорожной карте, чтобы формировать ее внедрение в продакшен до того, как проблемы усугубятся. Не операционная поддержка систем. Не управление алертами. Мы пишем программное обеспечение, которое меняет поведение продакшена.
Инженеры, которые успешно справляются с этой работой, глубоко разбираются в системах, которыми большинство людей только управляют. Они могут зайти в кодовую базу, которую не писали сами, понять, что на самом деле происходит в масштабе, завоевать техническое уважение команды, в которую они влились, а затем улучшить программное обеспечение, сделав его более надежным, эффективным и устойчивым.
В настоящее время эта роль сосредоточена на:
- Ответственность за область взаимодействия: Долгосрочная ответственность за одну из наиболее рискованных технических областей Canva, шардинг основных хранилищ данных, утилизация ресурсов, проблемы распределенных систем в масштабе, работая в тесном контакте с командой, которая ими владеет.
- Написание продакшен-софта: Работа заключается в написании кода, а не в процессе. Инструментация, рефакторинг, перестройка компонентов, вызывающих проблемы в масштабе. Вы прежде всего инженер-программист; конечный результат — надежность в масштабе — это то, над чем вы работаете.
- Сотрудничество: Возможность работать в паре, наставлять и учиться у коллег-инженеров продакшена.
- Клиентоориентированность: Стремление к сокращению числа инцидентов, ускорению восстановления, снижению критичности, направлению задержки в нужную сторону. Гордость за улучшение ключевых метрик, которые положительно влияют на качество пользовательского опыта.
- Вклад в платформу: Там, где вы видите закономерность, требующую общей функциональности, вы возвращаете ее, не для того, чтобы владеть ею бесконечно, а чтобы инициировать работу над платформой, которая масштабируется за пределы вашей области взаимодействия.
- Комплексное улучшение на системном уровне: Один инженер, который по-настоящему понимает систему, может изменить то, как каждый другой инженер строит поверх нее. В этом и заключается рычаг этой роли, и поэтому архетип важнее области.
Признаки успеха: Как временный сотрудник, вы строите доверительные отношения со своей командой. Направляя их к быстрой и уверенной разработке с меньшими трудозатратами.
Вы, вероятно, подходите
Мы будем рады услышать от вас, если вы соответствуете одному или нескольким из этих пунктов. Вам не обязательно соответствовать всем, но чем больше, тем лучше, и если вы присоединитесь к команде, мы будем инвестировать в ваше развитие.
Опыт
- Продакшен в масштабе: Вы отвечали за работу по обеспечению надежности в крупномасштабных распределенных системах. Когда что-то ломалось, вы писали исправление, а не заявку.
- Встроенная доставка: Ранее работали инженером, тесно сотрудничавшим с продуктовой командой или командой разработки функций, а не изолированно в организационной структуре платформы, которая просто передает инструменты.
- Глубокое знание JVM или систем: Вы создавали реальные вещи на Java, Go, Rust, C++ или сопоставимом системном языке в продакшен-масштабе; коммерческий опыт, а не академическая осведомленность. Мы гибки в отношении языков для подходящего инженера, но вы должны прийти и выиграть техническую дуэль на первой встрече.
- Распределенные системы на практике: Вы сталкивались с шардингом, репликацией, сценариями отказа, компромиссами согласованности в реальных системах.
- Отладка больших кодовых баз: Способность быстро погрузиться в незнакомую кодовую базу, быстро сориентироваться, найти истинную причину проблемы и исправить ее.
- Влияние без полномочий: Вы доказали, что смогли улучшить системы благодаря мудрости и доверию.
Технические знания
- Глубокое знание сетей: Вы знаете сетевой стек и как выглядит трафик в масштабе.
- Основы Linux: Достаточное понимание на уровне ядра, чтобы рассуждать о том, что на самом деле происходит, когда система ведет себя некорректно: планирование процессов, память, ввод/вывод, сетевой стек.
- Паттерны распределенных систем: Хеширование с учетом коллизий (Consistent Hashing), выбор лидера (Leader Election), консенсус (Consensus), обратное давление (Backpressure), предохранители (Circuit Breakers).
- Инструменты наблюдаемости: Вы реально инструментировали системы, создавали трассировки, дашборды, алерты, которые действительно сообщают, что не так. Вы понимаете разницу между причинно-следственными и симптоматическими алертами и знаете, как выглядит хороший SLO.
- Контейнеризация и оркестрация: Kubernetes в продакшен-масштабе, вы понимаете, что происходит на уровне планировщика.
- Анализ производительности: Вы профилировали JVM-приложения или системные процессы, находили то, на что никто не обращал внимания, и исправляли это так, чтобы это работало долго.
- Облачная инфраструктура: AWS на достаточном уровне, чтобы понимать, как они ведут себя под нагрузкой и на периферии.
- Реагирование на инциденты на практике: Вы были дежурным в серьезной продакшен-среде и имеете свое мнение о том, как на самом деле выглядит хорошее управление инцидентами.
Приятно иметь
- Опыт работы с Enterprise SaaS: Вы занимались подобной работой в организации, которая делала это хорошо. Вы знаете, что такое «Production Engineering», когда это не просто должность.
- Внутреннее устройство JVM: Вы настраивали GC и профилировали потоки в продакшене.
- Опыт работы с мультирегиональными системами или шардингом: Вы участвовали в миграции хранилищ данных или в создании мультирегиональной архитектуры, где ошибки были недопустимы.
- eBPF или инструментация ядра: Опыт работы в продакшене — ценный опыт.
О группе и команде
Присоединяйтесь к группе Production Engineering в Canva, где наша миссия — сделать каждую систему, обеспечивающую работу Canva, быстрой, надежной и готовой к следующему масштабу. Infra отвечает за слой инфраструктуры, на котором строят все остальные команды: вычисления, хранение данных, сети, опыт разработчиков и надежность.
Подгруппа Reliability Platform — это место, где Canva серьезно задумывается о технических рисках, связанных с работой при сотнях миллионов пользователей. Это группа с широким охватом, от инструментов, которые помогают командам эффективно управлять инцидентами, до инженерной работы, которая предотвращает их возникновение.
Production Engineering входит в состав Reliability Platform. Небольшая команда старших инженеров-программистов, внедренных в наиболее рискованные технические области Canva, работающих вместе с продуктовыми командами и командами инфраструктуры, которые владеют этими системами в рамках долгосрочных проектов. Когда это работает, другие команды увереннее выпускают продукцию, а возникающие инциденты разрешаются быстрее и с меньшими последствиями.
Что это даст вам?
Достижение наших сумасшедших амбициозных целей мотивирует нас усердно работать — и мы это делаем — но вы также испытаете множество волшебных, объединяющих и веселых моментов в жизни Canva. Мы также предлагаем ряд льгот, которые помогут вам добиться успеха как на работе, так и вне ее.
Вот пример того, что предлагается:
- Пакеты акций — мы хотим, чтобы наш успех был и вашим успехом
- Инклюзивная политика отпуска по уходу за ребенком, поддерживающая всех родителей и опекунов
- Ежегодное пособие Vibe & Thrive для поддержки вашего благополучия, социальных связей, обустройства рабочего места и многого другого.
- Гибкие варианты отпуска, которые позволяют вам делать добро, отдыхать и поддерживают вас лично.
Что еще нужно знать?
Мы рассматриваем ИИ как мощный усилитель творчества и технологий в Canva. Мы развиваем наш подход к оценке навыков работы с ИИ в процессе найма в сфере технологий — вы будете решать интерактивные задачи в реальном времени, отражающие нашу рабочую деятельность. На некоторых собеседованиях вам также может быть предложено решить задачу с использованием инструмента ИИ, чтобы продемонстрировать ваш подход к решению задач с помощью технологий.
Мы принимаем решения о найме на основе вашего опыта, навыков и увлеченности, а также того, как вы можете улучшить Canva и нашу культуру.