Руководство по пониманию того, на каких технологиях следует сосредоточиться.

Я работаю разработчиком программного обеспечения последние 5 лет, из которых полтора года провел в Берлине. Как и многие разработчики, переезд на работу за границу - это мечта, и большинство людей воплощают свою мечту, получая степень магистра в другой стране и работая оттуда.

Для меня история была немного другой. Я не хотел учиться дальше из-за отсутствия интереса к типичному процессу обучения.

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

Но подождите, позвольте мне вернуться

Все началось после того, как я закончил бакалавриат в 2015 году. Год, когда я наконец применил все знания, полученные за последние 18–20 лет. Я впервые был сотрудником, проходящим курсы повышения квалификации и написание электронных писем.

2015–2016

  • Работать на моей первой работе было очень весело, и я встретил много хороших людей. Корпоративные вечеринки, празднование чего-то, о чем мы даже не подозревали, но кто откажется от вечеринки?
  • Проработав там почти 8 месяцев, я понял, что получаю недостаточно знаний от той работы, которую делал. Это стало чем-то вроде рутины, и я ненавижу рутину, как и многие другие. Решил переключиться. Я начал готовиться.
  • Пока я искал ресурсы для изучения, я наткнулся на книгу под названием Cracking the Coding Interview . Как новичок, у меня не было большого опыта давать интервью. Чтение книги помогло мне многое понять об интервью и ожиданиях интервьюеров.
  • Моей основной целью было изучение контента, который я пропустил во время учебы в колледже. Я купил книги для курсов и прочитал их, чтобы укрепить свой фон.
  • Я обратился во многие компании, получил ответы от некоторых из них, в конце концов дал интервью и устроился на работу.

2016–2018

  • В новой обстановке я полностью чувствовал гордость, и я чувствовал себя очень хорошо. Это был поворотный момент в моей жизни. Я работал над технологиями и платформами, о которых никогда не слышал. У меня была возможность работать с разными языками программирования. Я работал над Android и Backend разработкой.
  • У меня появилась возможность познакомиться с людьми со всего мира. Я работал над разными проектами с разными командами и в разных городах.
  • Но, как мы все знаем, перемены в жизни - единственная константа. Решил двигаться дальше.

Подготовка

Это было время, когда я решила подавать документы за границу. Я начал искать работу в LinkedIn, Glassdoor и других платформах. Я сузил поиски работы до городов, в которых у меня были связи. Что еще больше сузило круг ведения до Берлина. Моя первоначальная идея заключалась в том, чтобы подать заявку на участие в стартапах и продолжить свой путь оттуда.

Я начал готовиться.

Я сосредоточился на трех вещах:

Кодирование и структуры данных

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

Архитектурный дизайн / моделирование данных

Это одна из моих любимых частей собеседования. На мой взгляд, это очень важно для любого разработчика, чтобы изучить и понять, поскольку дизайнерское решение может сделать или сломать ваше приложение / продукт с технической точки зрения. Я читаю технические блоги от Netflix, Airbnb, Spotify и т. Д., Которые очень помогли мне понять проблемы, с которыми сталкиваются крупные стартапы.

Предыдущие проекты / использованные технологии

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

Технологический стек, на котором нужно сосредоточиться

Бэкэнд-инженер обычно сосредотачивается на:

  1. Уровень обслуживания: Spring Boot с Kotlin
  2. Уровень базы данных: Postgres
  3. Конфигурация развертывания: Terraform, Docker и Kubernetes.
  4. Развертывание: знание AWS или любого другого поставщика облачных услуг.

Интервью

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

«Мы хотели бы иметь спокойный API для нашей статистики. Create API предназначен для расчета статистики в реальном времени за последние 60 секунд. Этот API вызывается каждый раз при совершении транзакции. Это также единственный вход этого API для отдыха. И еще один API для возврата всех транзакций за определенный период »

Решение - здесь.

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

Существует серия раундов собеседований, начиная с технических раундов, которые больше ориентированы на отправку задач по кодированию.

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

Так выглядит общий процесс собеседования для многих компаний здесь, в Берлине.

Перед тем, как приехать сюда, я дал много интервью. Это определенно непросто и требует большой подготовки. Но если вы готовы приложить все усилия, оно того стоит.

Если у вас есть вопросы, вы можете связаться со мной в LinkedIn.