Как я стала разработчиком с гуманитарным образованием

Наталья Исупова, младший разработчик в Яндекс.Маркете

Многие считают, что людям с гуманитарным образованием в программисты путь закрыт. Но я попробовала, и у меня получилось. Хочу поделиться своей историей и дать несколько советов.

Знакомство с программированием

В университете я изучала страны Западной Европы на направлении «Зарубежное регионоведение». Это смесь иностранных языков, истории, экономики, политологии и международных отношений.

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

Как я училась

Сначала мой молодой человек просто дал мне список задачек по программированию, показал, как запускать редактор, и объяснил основы. Позже я прошла бесплатный онлайн-курс по основам C++ от Академии Яндекса и ВШЭ на платформе Stepik (читал его Михаил Густокашин). А потом увидела на Coursera курс по Python того же преподавателя и записалась на него.

Моё отношение к хобби становилось всё более серьёзным, и на втором курсе магистратуры я стала задумываться о карьере разработчика.

Я решила сменить магистерскую программу и пойти в магистратуру ВШЭ на направление «Компьютерная лингвистика», чтобы объединить две сферы, которые интересуют меня больше всего: языки и программирование. Одновременно я старалась подтягивать на Stepik математику, знание которой очень важно в программировании. А для наработки практических навыков решала задачки на сайте Codeforces.

От обучения к стажировкам

Весной 2018 года я узнала, что в моей родной Твери международная компания EPAM ищет на два месяца стажёров со знанием Python. Стажировка была учебная, я решила попробовать и прошла отбор. Там я лучше познакомилась с практикой программирования и спецификой работы над проектами.

Через полгода я стала искать новую стажировку, но на этот раз оплачиваемую. Тогда я уже училась в магистратуре, так что мне подходила только 20-часовая рабочая неделя. Такие условия предлагались на стажировке в Яндексе, и я решила попробовать попасть на неё. Тем более что я уже имела дело с этой компанией: ходила в её школу технических писателей и школу тестировщиков.

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

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

На другом собеседовании в фокусе было программирование и алгоритмы. Здесь мне очень пригодился опыт самостоятельного решения задач на Codeforces. Без него могло бы и не получиться. Уровень заданий был выше базового, но их вполне реально выполнить, если есть хотя бы небольшой опыт решения олимпиадных задач.

На новом месте

Я прошла отбор, и меня взяли стажёром на полгода в Яндекс.Маркет. Наша команда работала в связке с аналитиками и готовила для них статистику.

Сначала я знакомилась с инструментами разработки и с тем, как всё устроено в Яндексе. А когда во всём разобралась, мне стали давать небольшие задачи, потом более крупные и даже отдельные проекты. На всех этапах мне очень помогали менторы, к которым всегда можно было обратиться с любыми вопросами.

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

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

Советы человеку с гуманитарным образованием, который хочет стать программистом

Совет №1: всерьёз займитесь самообразованием. Сейчас для этого есть масса возможностей, и постоянно появляется что-то новое. В интернете можно найти много платных и бесплатных ресурсов, которые дают и базовые, и углублённые знания. Например, для начала подойдут онлайн-курсы по основам программирования на Stepik и Coursera, а затем курсы по алгоритмам. Потом можно развивать навыки с помощью Codeforces и других «задачников». Если вы студент бакалавриата, то попробуйте найти кружок олимпиадного программирования ICPC в своём вузе или организуйте его сами.

Совет №2: не забывайте о математике. Человеку с гуманитарным образованием наверняка захочется проигнорировать эту рекомендацию, но она очень важна. Если вы собираетесь заниматься программированием, понадобится хотя бы базовая математическая подготовка. Чем лучше вы освоите «царицу наук», тем более «красивые» решения задач вы будете находить. Особенно важна математика на направлениях машинного и глубокого обучения, которые сейчас бурно развиваются во многих компаниях.

Совет №3: позаботьтесь о мотивации. Если её не будет, не будет и успехов. Когда ты создаёшь программу и она работает, чувствуешь огромное удовлетворение. Но мотивировать может не только это. Например, рейтинг и статистика решённых задач на сайте Codeforces подстёгивают дух соперничества и не дают стоять на месте. Сразу хочется занять строчку повыше.

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

Совет №5: верьте в себя, не бойтесь ставить перед собой амбициозные цели. Каким бы не был ваш уровень, вам будет постоянно казаться, что ваших знаний недостаточно. Поэтому важно получать обратную связь, взгляд со стороны. Например, когда проходишь собеседование и узнаёшь, что твоих навыков хватает для работы на той или иной позиции, это очень мотивирует и прибавляет оптимизма.

0
67 комментариев
Написать комментарий...
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Karen Stepanyan

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

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Анна Подколзина

Какой блат? Студент-прогер дал своей девушке-студентке порешать задачки. О ужас!!! 

Ответить
Развернуть ветку
Karen Stepanyan

Если мч хороший прогер, естественно у него и хорошие связи... И этот хороший мч найдет для своей девушки хорошую работу в хорошей компании... это не плюс?

Ответить
Развернуть ветку
Bulat Ziganshin

ага, конечно. в яндекс по блату

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Bulat Ziganshin

и как это сделать при яндексовском процессе найма? LOL

Ответить
Развернуть ветку
Yan

Я думаю делается

Ответить
Развернуть ветку
Bulat Ziganshin

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

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

Ответить
Развернуть ветку
John Doe

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

Ответить
Развернуть ветку
64 комментария
Раскрывать всегда