Мы продолжаем серию публикаций о стажировке в СКБ Контур. Сегодня познакомимся с Анной Шляк, которая расскажет как прошла ее стажировка в Питере и поделится советами.
Тестовое задание
Об СКБ Контур я узнала от одногруппницы: «У них есть классненькие стажировки на C#». В феврале 2017 я дождалась начала стажировки, но была дико расстроена: тестовое задание показалось мне просто непосильным. Нужно было написать сервер статистики для игры-шутера. «Классненько», — подумала я и начала стараться. К концу февраля всё-таки смогла сделать первоначальный вариант и отправить на проверку.
Отбор по тестовым шел в две волны: сначала рассматривали тех, кто отправил ответы до 1 марта, потом — до 19 марта. Я хотела попасть в первую волну, и, как оказалось, не зря. На тестовое мне ответили: «Вы справились хорошо, но немного не дотянули до нашего ТОПа. До 19-го марта есть время, чтобы улучшить ваши ответы». Так я и сделала. Пока я писала код, появлялись новые уточнения и требования по заданию. В одном из уточнений был запрет использовать базу данных MS SQL Server. Если эта база не подходит, то как выбрать нужную? Наугад я выбрала SQLite и с тревогой отправила тестовое на проверку. И прошла дальше.
Следующим этапом был креш-курс на базе отдыха под Екатеринбургом. В апреле я вылетела из Санкт-Петербурга в столицу Урала ради лекций и развлечений. Я была счастлива, что попала на креш-курс: интересные и полезные лекции, парное программирование, куча разных игр, вкусняшки.
Мы учились писать чистый код, правильно работать с исключениями, попробовали технику TDD, изучили принципы Dependency Inversion. Все задания мы выполняли в парах, а в последний день нас разделили на команды и мы устроили соревнование по программированию. Жаль только что всего 4 дня, потому что это было действительно классненько!
Собеседования и оформление на стажировку
В конце мая мне позвонили и пригласили на собеседование. На следующий день! Пришлось менять все планы и сразу после защиты курсовой бежать в офис на собеседование. Результата не пришлось долго ждать. Как вы поняли, он был положительный.
3 июля я официально стала стажером. Первый день закончился моим первым коммитом, который сломал билд. Первый блин комом, но зато уже в первый день я начала писать код.
Первые две недели в голове была полнейшая каша. Новая для меня предметная область, много незнакомого, аббревиатур. Понимание приходило потихоньку, иногда казалось, очень медленно. Но чем больше я осваивала, тем больше мне нравилось на работе.
Меня взяли в команду Биллинга — это сервис, который позволяет продавать продукты Контура. Сама большая и распределенная команда: около 50 человек в Екатеринбурге, Питере и Ижевске.
В команде Биллинга работают в паре. Мой наставник 2 месяца был моим напарником, мы писали код вместе, по очереди. Еще в команде есть масса командных практик: код-ревью, дизайн-ревью, различные дежурства, встречи, скрамы, гильдии. Меня удивило, что на встречи уходит очень много времени. Ты не пишешь целый день код, а общаешься, делишься знаниями, обсуждаешь возможные решения и проблемы. Это, на мой взгляд, повышает качество кода. Ты валидируешь решение, делаешь перерывы от написания кода и всегда знаешь, что происходит команде.
Командировка
Во время стажировки я слетала в Екатеринбург в командировку, чтобы получше познакомиться с другой частью команды и посидеть в паре с другим стажером. Заодно я смогла попасть на экватор стажировки — это был выезд для всех стажеров, где мы играли в стратегическую игру, ели шашлыки, а потом играли в настолки.
А еще и жизнь у стажеров в Екатеринбурге оказалась другой. В Екатеринбурге каждые две недели проводят летучки стажеров, где они рассказывали чем они занимаются. Это и вправду интересно, потому что у всех разные команды, культура, задачи.
В конце стажировки была конференция, на которой стажеры рассказывали о своих задачах. Я на неё не поехала, не было подходящей задачи для доклада. У многих людей было несколько больших задач на всю стажировку, а я в основном занималась мелкими бизнесовыми.
Большая задача
Весь август мы занимались одной большой задачей, связанной с часовыми поясами. В интерфейсе системы даты отображались по московскому времени, из-за чего у пользователей возникали проблемы. Нам нужно было научиться отображать время в часовом поясе пользователя. Пользователи нашей системы работают с потенциальными продажами, с которыми связано очень много различных дат, например, время создания, время жизни и т.д. Поэтому задача оказалась довольно трудоемкой и с множеством подводных камней, потребовала много общения с аналитиками и другими разработчиками. Например, я узнала, что в Ирландии до 1916 года был часовой пояс UTC–0:25:21.
Итоги
После стажировки я осталась работать на полставки, потому что еще учусь в университете. В целом мне понравилось, я ожидала чего-то более сложного, скучного и тяжелого. Но оказалось совсем не так! Дружная команда и интересные задачи помогают чувствовать себя на работе как дома. Определенно стоит пройти через все этапы, преодолеть сложности на каждом из них и уже за время отбора немножко подрасти к самой стажировке.
Я 2 раза побывала в Екатеринбурге, впервые в жизни получила зарплату и опыт работы по специальности, а главное — новые знания. Единственное разочарование — я хотела похудеть за лето, но с кухней в офисе, где полно вкусняшек, вышло наоборот :)
Советы бывалой
- Начни решать тестовое как можно раньше.
- На креш-курсе посвяти всего себя креш-курсу: задавай вопросы, старайся понять как можно больше, подготовься заранее и изучи все рекомендуемые материалы.
- Подготовься к собеседованию: почитай книги, посмотри курсы. Не бойся на что-то не ответить — собеседующим важно понять, как ты умеешь рассуждать.
- Чтобы стажировка была эффективной, обменивайся обратной связью со своим наставником.
- И самое важное: получай от всего этого удовольствие. Если тебе не хочется идти на работу — наверное, что-то пошло не так.
Пробуй и не бойся, что ожидания не совпадут с реальностью, порой это бывает очень классненько!
Комментарии (9)
alz72
22.01.2018 15:51Хреновенько изучили честно сказать, ибо явно не описка " Dependency Inversion" — так как данное воплощение паттерна IOС (Inversion of control) звучит как "Dependency Injection" :-)
Ogoun
22.01.2018 16:37В SOLID'е D это как раз инверсия зависимости (Dependency Inversion).
Dependency Injection это просто инструмент который просто реализует один из способов инициализации конкретных API в точках интеграции.
А IoC, — обобщенный набор правил построения фреймворков (при реализации которого может использоваться и инъекция).
Термин скорее всего правильный в статье.Nikita001
23.01.2018 09:23Но в главном-то он прав.
Неразумную женщину следовало поставить на место, так как ее место на кухне, а не за компом!!!
В стажировках она участвует, понимаешь…
Рис.1. Маргарет Гамильтон, программист NASA, и ксерокопии, которые ей поручили делать на этом месте работы.
alz72
23.01.2018 09:27-1Учитывая активное минусование даже не буду пытаться вам возразить, просто дам вам совет — представьте что вы на собеседовании пытаетесь разъяснить ту самую буковку D из SOLID, только не принципы, а реальность, как это происходит на практике…
Удачи !!!green_hippo
23.01.2018 11:23Дружище, будь добрее :)
Гляди, вот материалы к креш-курсу, который преподают стажёрам в Контуре — тот самый блок про SOLID. Принципы — перечислены, явное и неявное управление зависимостями — показано, DI-контейнеры — разобраны. Я сам работаю в Контуре, но вообще не спец в компьютерных науках. Но я точно знаю, что у нас куча ребят, которые и на собеседовании разъяснят, и других научат :)
alz72
23.01.2018 12:04-1Спасибо — вы мне сэкономили кучу возможно впустую бы потраченного времени. Екатеринбург теперь для меня в смысле вакансий — в черном списке. Хотя кому интересно мое мнение, правда?
Минусовать не нужно — я умолкаю навсегда ...
datacompboy
Если «классенькая» то почему «стажировка» а не «стажировонька»? :)))
mmmmmike
Феминатив же.