Привет, Хабр! Меня зовут Даниэлла Старченко, работаю в GlowByte на позиции Senior Technical Consultant в команде MM.SUP (Marketing Management Support).
Задумывались ли вы, какие скилы в вас развила и развивает работа? Достаточный ли рост получаете в своей профессиональной деятельности? А нет ли такого, что вы занимаетесь изучением специфических космолетов, знания о которых применить больше негде, кроме как на текущем месте работы? На определенном этапе своей карьеры я задалась именно такими вопросами и в данной статье, точнее цикле статей, расскажу, как я научилась измерять свое развитие, управлять им и что дала мне работа в сопровождении B2B-бизнеса.
Сейчас мне кажется, что сотрудник сопровождения B2B – это многофункциональный перочинный ножик 100 в 1. Он получает со всех сторон разнонаправленные знания, обзорно знает обо всех сферах и технологиях. Его не пугает новое, потому что он знает: выучить что-то неизвестное – это уже не проблема и можно быстро справиться с задачей.
Немного предыстории
Не так давно, в конце 2020 года, я решила сменить работу. Решение пришло от осознания того, что я никуда не двигалась, но очень хотелось. На тот момент я работала в службе поддержки 1-2 линии около 2 лет, выполняла и перевыполняла планы и закапывалась в изучение сервиса, который поддерживала. В какой-то момент я осознала, что практически не знала ничего, кроме сервиса, который сопровождала. Вроде бы работала в IT, но не подходила на вакансии разработчиков, аналитиков, IT-менеджеров, тестировщиков... Да и в службу поддержки могла пойти только на 1-2 линию, где вакансия помечена маркером "без опыта".
Вроде бы зарплата росла, премии выплачивались, по деньгам получала как не "без опыта", да и должность поднялась до старшего специалиста, и глупым казалось уйти на меньшую з/п и начать все с нуля, перечеркнув 2 года работы. Но, с другой стороны, не менее глупым казалось хотеть двигаться быстрее, но не иметь возможности это сделать. В тот самый момент я решила начать проводить романтические вечера в компании со статьями/ книгами/ курсами по изучению всех технологий, какие только под руку попадались.
И однажды я решилась все поменять, перечеркнув весь свой опыт работы, и начать сначала в нужном месте. Потому что все очень надоело, потому что разговоры с руководителями заканчивались ответами "А чего ты еще хочешь? Служба поддержки не может тебе дать больше", потому что видела, что могу больше и лучше. Меня пригласили на собеседование в “ГлоуБайт” на младшего специалиста.
Трудоустройство
Мне очень хотелось на тот момент быть Python-разработчиком. Про всякие SQL'ли и BI-инструменты я не слышала, даже не интересовалась ими. Меня рассматривали две команды, и я не знала в точности, чем предстоит заниматься на работе. На первой итерации я справилась плохо с SQL-задачами, так как об SQL вообще узнала только за пару дней до собеседования и что-то бегло успела почитать и поизучать точечные вопросы в чатах комьюнити.
Тем не менее собеседующим показалось, что я могу больше, и меня пригласили на второе собеседование. У меня было 2 недели, чтобы подготовиться, и я провела их продуктивно: прорешала все задачи на SQL-ex, просмотрела какой-то бесплатный курс по SQL на YouTube – и на втором собеседовании уже неплохо писала сложные вложенные запросы с несколькими джоинами и отлично объясняла логику того, что делаю. Помимо SQL, были еще задачи, с которыми, по моим ощущениям, справиться было легче.
Мне сделали офер с зарплатой на тот момент ниже, чем я получала, на 50%. И офер был не на Python-разработчика, как я хотела, а на младшего специалиста службы поддержки. Я сомневалась в целесообразности принятия такого предложения. С одной стороны, у меня была хорошая должность в известной в России компании и зарплата выше, с другой – новые неопределенные возможности расширить свои знания и вложить что-то новое в себя. Подумав, решила какое-то время поработать на двух работах и по итогу испытательного срока выбрать: остаться в своей старой компании или перейти в GlowByte. Весь испытательный срок проработала по 12 часов в день: вставала в 6 утра, чтобы выполнить задачи на старом месте и затем в рабочие по МСК часы поработать на новой работе.
Итак, когда я приняла офер, я еще до конца не понимала, что буду делать и какие у меня будут задачи. Выяснилось, что в GlowByte у каждого сотрудника есть куратор, мой мне дал задачу в первые 2 недели читать книгу по MS SQL, решать задачки по JAVA на LeetCode (с которой я до этого вообще не взаимодействовала – по сути, не знала, что это такое), читать на английском какую-то непонятную документацию, в процессе чтения которой было ощущение "вроде бы ясно в теории, но не понятно, как это применять и зачем это нужно".
SQL и СУБД
Далее мне дали уже проектную задачу: разработать скрипт очистки и архивации данных в огромных таблицах согласно заданным правилам. Затем оптимизировать скрипт построения отчетов эффективности. Следом я разработала SQL-скрипты расчета баланса и начисления бонусов пользователям по нескольким таблицам с выбором агрегируемых показателей.
Шли подобные задачи по написанию чего-то на SQL, и я за месяц стала значительно лучше понимать, что происходит в этой области.
Потом начались задачи в расследовании инцидентов производительности СУБД, я познакомилась с несколькими типами: Oracle, PostgreSQL, MS SQL, DB2. Далее был аудит витрины DWH, где получилось узнать подробнее про устройства хранилищ.
Я использую SQL по сей день и искренне не понимаю, как мне в самом начале казалось, что это что-то сложное. С улыбкой вспоминаю, как использовала императивный подход, когда писала запросы, и мне очень хотелось применить IF ELSE вместо WHERE.
Что я точно уяснила: работая с БД, нужно мыслить декларативно, отложить в сторону все циклы, IF, ELSE, которые устоялись в голове после работы с императивными языками программирования, и думать о данных в БД как о множестве. Хотя в синтаксисе SQL тоже есть WHEN, THAN, но они служат совершенно для другого.
Нужно представлять таблицу как “черный ящик” с набором элементов, где не надо думать о цикле при написании запроса и практически никогда – что хорошей идеей является использование императивного WHILE IF ELSE.
UNIX-команды
До работы в поддержке B2B у меня никогда не было Unix-консоли, про Linux знала только в теории. Чем-то страшным казалась сама идея, что нужно запомнить много команд, не запутаться в том, что есть что, и случайно не удалить все на свете. Кроме того, не было представления об устройстве файловой системы, OS и в целом о том, как Linux удобен.
До GlowByte я никогда не работала с огромными файлами с логами, которые не открываются или открываются долго в файловых редакторах типа nodePad, VS code и т. д. Искать что-то по этим логам представлялось чем-то невероятным: было непонятно, как устроен лог, по каким ключевым словам и как что-то искать. Не было опыта в работе с ротацией, уровнями логирования, архивацией и удалением старых логов.
Одной из первых моих задач была настройка sh-скрипта, который собирает логи всех приложений сервера в одной папке, архивирует старые логи по дате, а совсем древние сформированные архивы удаляет совсем. У задачи не было детализации и четких инструкций о том, как я должна это сделать. Однако упорство и “гугление” познакомили меня с такими командами, как создание ссылок (ln), с помощью которых я сделала ссылки в одну папку со всех локаций логов всех приложений, командами поиска лог-файлов find, locate, командами поиска внутри лога grep. Также я научилась писать циклы sh, работать с параметрами запуска, c crontab для запуска скрипта с расписания и т. д. Я справилась с этой задачей без помощи коллег, и это было замечательно: помимо навыков работы с файлами Linux, я прокачала способность работать самостоятельно и оценивать собственные возможности.
С тех пор с Linux-команды сопровождают меня в работе каждый день: для анализа и чтения логов, для анализа производительности системы, запуска служб и сервисов, анализа состояния OS, процессов, приложений и т. д.
Подытожу: я учила команды постепенно, все они запоминались естественно, а не насильно, и это сформировало комплексный обзор нужных именно мне команд Unix. Если мне в будущем понадобится что-то еще из Linux-команд, я смогу это быстро найти и начать применять.
Что по узким технологиям?
Конечно, не обошлось и без узких технологий формата "нужны только на этой работе". Сначала это пугало и отталкивало, однако я поняла, что, несмотря на их специфичность, я могла назвать 40–50 крупных компании РФ, которые работают с этими же технологиями. Как минимум это наши заказчики. На тот момент лидерами специфических технологий были:
Evam – система для обработки поступающих событий, обогащения данными этих событий и направления события по нужному сценарию;
HCL Campaign, HCL Interact – системы для управления маркетингом: сегментация пользователей, рассылка SMS, EMAIL, PUSH клиентам, обработка в реальном времени офлайн-событий (оформление заявки на кредит в отделении банка, заполнение заявки на сайте и т. д.);
SAS MA – система управления маркетингом, аналогичная HCL Campaign;
TeaLeaf – система отслеживания хитов на сайте (клики, отправки форм, загрузки страниц и т. д.) для анализа пользовательского поведения и дальнейшего использования этих данных для формирования маркетинговых предложений. С познанием этой системы я справилась быстрее, потому что, как ни странно, пригодился опыт на прошлой работе, где я работала с аналогичным по функционалу сервисом.
Я изучила логику работы каждой из систем, научилась конфигурировать их, перезагружать, анализировать логи и решать инциденты. Каждый день появлялись новые задачи, не похожие друг на друга, по поиску причин ошибок той или иной маркетинговой отправки с помощью этих систем. Надо сказать, что это увлекало меня, потому что никогда нельзя было сказать точно, сколько времени уйдет на решение того или иного инцидента и какое будет финальное решение. Так я познала некоторые "специфические" технологии, которые дали общий опыт анализа абстрактных проблем в системах, опыт быстрого траблшутинга и генерации гипотез и идей для исправления ошибок.
Спустя 3 месяца испытательного срока мне повысили зарплату до той, которая была у меня на прошлом рабочем месте. Я смогла попрощаться со второй работой и с большим усердием погрузиться во все новые задачи, технологии, открытия на новом рабочем месте.
В следующих частях я подробнее расскажу о других технических и нетехнических навыках, которые мне дала работа. Поделюсь своим опытом, какие именно технологии мне понадобились в жизни и какие плюсы я получила от этого в мою карму карьеру.