Роман Майер из Самары развивал собственный бизнес, работал менеджером по продажам, был юристом, а к 28 годам понял, что пока не нашел работу мечты и пора осваивать что-то новое.
Он рассказал, почему решил пойти в IT, как изучал программирование и с какими трудностями столкнулся в новой для себя сфере.
Свой бизнес и работа по специальности
Я учился на юрфаке и параллельно – на третьем курсе – в бизнес-школе. Там было много теории и практики по созданию и развитию бизнеса. В то время я еще увлекался литературой о личной эффективности и психологии – книгами Стивена Кови, Эрика Берна, и читал истории известных миллиардеров: Ричарда Бренсона, Уоррена Баффета, Билла Гейтса. Вдохновившись книгами и тем, что рассказывали на курсах, я подумал, что любая задача мне по плечу.
Я загорелся идеей начать свое дело, взял академический отпуск в университете и открыл турагентство. Я был директором, но – так как компания была совсем маленькой, от одного до трех сотрудников в разные времена – занимался всем подряд. Сам продавал туры, обучал этому подчиненных, продумывал маркетинговую политику, готовил налоговую отчетность, решал юридические вопросы.
В какой-то момент я стал ощущать разочарование. В самом начале думал, что быстро налажу процессы и буду только за деньгами приходить. Оказалось, что это не так работает: своему бизнесу часто нужно посвящать вечера, а то и выходные. Еще и финансовые результаты были не такими впечатляющими, как я надеялся. Агентство стабильно приносило прибыль, но я никогда не знал, что будет через месяц – какие катаклизмы случатся в какой стране, – и насколько успешными будут продажи. В результате, получив хороший опыт, сформировав клиентскую базу, вырастив нескольких сотрудников, я продал агентство и вернулся в университет.
Юриспруденция меня не очень увлекала. Задания я выполнял успешно, но это меня не «зажигало». К тому же, видя на сайтах с вакансиями зарплаты юристов, я думал, что перспективы не очень хорошие. Поэтому я не хотел работать по специальности и после защиты диплома стал искать работу, которая мне подойдет.
Мне сразу же предложили стать специалистом по продажам кредитных продуктов в крупном банке, пообещали хорошую зарплату. Я знал, что говорить люблю, и, если мне что-то действительно нравится, могу с удовольствием об этом рассказывать. Поэтому я согласился. Кредиты там были очень выгодные для клиентов, и я успешно их продавал. Мне нравилась эта работа. Однажды я даже занял третье место по объёму продаж среди всех сотрудников российских отделений банка.
Спустя некоторое время условия изменились, кредиты подорожали, и мне нужно было не просто презентовать продукт, а манипулировать людьми, чтобы его купили. А я это не люблю. Так я понял, что эта работа тоже не для меня.
Я не знал, что делать дальше, состояние было подавленное. И вдруг одногруппник, с которым мы вместе учились на юрфаке, предложил поработать по специальности. У меня не было идей, куда идти, и я решил попробовать – вдруг понравится. На протяжении четырех лет я был юристом. За это время поработал в разных областях – в управляющей компании, в рекламе, аренде недвижимости, строительстве.
Возможно, мне попадались неудачные компании, а может быть, дело в моем восприятии, – но я понял, что эта работа мне тоже не подходит. В основном приходилось заниматься договорной работой, почти всегда в сжатые сроки, а интересные судебные дела попадались редко. Учитывая, что рынок юристов перенасыщен и зарплаты небольшие, я подумал, что пора менять сферу деятельности.
Как я свернул на путь IT
Возможно, я бы стал программистом гораздо раньше. В восьмом классе я выбрал технический профиль и пошел в математический класс: думал, у меня к этому склонность. Я хорошо учился, но нагрузка была большой, и я очень уставал. Однажды мы обсуждали это с родителями и пришли к выводу, что инженеры не так востребованы, как юристы и экономисты. Так я перешел в гуманитарный класс, а потом поступил на бюджет юрфака. Но математика и информатика мне всегда нравились.
У меня есть несколько друзей-программистов. Один мой друг, не имея профильного образования, научился программировать и стал успешным разработчиком – он создает сложные распределенные системы. Меня очень вдохновляла его история. Я понимал, что это реально, причем не в заоблачные сроки. Когда я работал юристом, коллеги говорили, что у меня хорошо получается создавать системы (например, для распределения работы между сотрудниками). Я думал, это не так далеко от разработки, и такая работа давалась мне легко. У меня возникла мысль: «Почему бы тоже не поучиться программировать?» Тогда я еще работал юристом, но чувствовал, что пора что-то менять.
Работа в IT представлялась мне более комфортной. Гибкий график, нет дресс-кода – все ходят в джинсах и футболках, много плюшек – в прямом и переносном смысле, привлекательные зарплаты, и спрос на специалистов всё время растет.
Я стал копать, какой вид разработки мне ближе – бэкенд или фронтенд. На дружеских посиделках было много разговоров про программирование, и я уже немного разбирался, что к чему. Понял, что хочу писать бэкенд. Почитал, какие языки популярны, и решил изучать Java.
Программирование с нуля
Я стал искать курсы в интернете и наткнулся на JavaRush – там учат разработке с нуля. Начал проходить этот курс и параллельно работал.
В самом начале пути мне было трудно мыслить абстракциями, создавать новую логику. На это уходило много времени. Порой я по нескольку дней думал о задачах, которые давали на курсах.
Я начинал с элементарных программ – одна из первых, которую написал, могла общаться с пользователем. Она выводила на экран текст, я выбирал, что ответить, и программа строила свою работу в зависимости от моего ответа.
Помню, как я создал первое многопоточное приложение. Было классно понимать, что одна логика реализована в одном потоке, другая – в другом, они взаимодействуют, и всё работает.
Спустя полгода после начала курсов я понял, что хочу целенаправленно заниматься разработкой, и уволился с работы. Я переживал: мне было 28 лет, я бросил карьеру юриста и не знал, что ждет впереди. Мне хотелось поскорее освоить Java. Но, когда есть этот внутренний прессинг – нужно поторопиться, время уходит, – учиться становится сложнее, потому что стресс забирает много сил.
Друг-программист посоветовал прочитать книгу «Java: The Complete Reference». Она написана доступным языком и дает хорошую базу. По ней я тоже учился.
Несколько моих друзей-разработчиков работали в ЕРАМ, и от них я узнал, что компания проводит обучающие курсы по программированию. О компании и курсах были хорошие отзывы, и мне захотелось попасть на них. Пока я ждал нового набора, решил пойти на курсы по Oracle и Java в «Сбертехе». Нужно было пройти приличный отбор: из 130 желающих на курс взяли взяли 30 человек. Моих базовых знаний и небольшого опыта оказалось достаточно, чтобы попасть в их число.
Спустя некоторое время начался набор на курс по Java-разработке в тренинг-центре ЕРАМ. Я решил пойти и на него. Там отсев тоже был большой, нужно было пройти два собеседования – по телефону и очное. На интервью оценивали базовые знания Java, умение создавать несложную логику на ходу и проверяли уровень английского. В итоге меня взяли в тренинг-центр.
Я стал параллельно проходить два курса – в «Сбертехе» и в ЕРАМ. Вместе со мной в основном учились люди с техническим образованием. Были и те, кто уже поработал в тестировании или разработке. Я был не уверен в себе: мало того, что я пришел из совсем другой области – я был старше большинства ребят. Но мне очень хотелось закончить курсы и устроиться на работу. Поэтому всё мое время уходило на лекции и домашние задания. На курсах мы изучали основы объектно-ориентированного программирования, классы и методы в Java, знакомились с библиотеками и фреймворками, а в конце создавали клиент-серверное приложение на Spring и AngularJS.
Вперед, к новому
Летом 2016 года – спустя полгода после начала курсов – мне предложили работу в обеих IT-компаниях. Я выбрал ЕРАМ: хотел туда с самого начала, там работали мои друзья, и им нравилось.
Был интересный момент: когда курсы в ЕРАМ подходили к концу, у нашей группы спросили, кто хочет работать с Big Data. Подняли руки все, кроме меня. Я мало что знал об этом направлении, слышал, что работать с большими данными непросто. Плюс, у меня почти не было опыта разработки. Мне хотелось просто программировать на Java, больших амбиций не было.
Но после собеседования в конце курса меня позвали именно на Big Data-направление. Я долго размышлял, взвешивал все за и против. Я думал так: с одной стороны, когда тебя без опыта работы зовут в компанию твоей мечты, отказываться или выставлять свои требования неразумно. С другой стороны, меня пугала сложность этого направления. Но я знал, что эта область перспективная. Кроме того, перед началом работы на Big Data-проекте нужно было пройти еще одни внутренние курсы в ЕРАМ, – это давало ощущение безопасности. И я решился.
Двухмесячный курс оказался насыщенным: мы знакомились с разными технологиями – Hadoop, Spark, Kafka, HBase, Elasticsearch, Ignite, Cassandra, Flink. Учились писать программы по обработке данных, узнали о виртуальных машинах, Docker-контейнерах и других вещах, которые нужны Big Data-разработчикам.
Потом на протяжении трех месяцев мы участвовали в opensourse-проекте по стримингу данных Flink – создавали новый функционал или исправляли ошибки. Это был интересный опыт: ты взаимодействуешь с людьми из других уголков планеты и участвуешь в разработке такой непростой системы.
В начале работы у меня был синдром самозванца. Со школы я привык быть лучшим: учился на отлично, был старостой в университете. А тут чувствовал себя худшим, потому что мало что умел. Но я всегда беру напором – просто прихожу и делаю, изо дня в день. Сначала я записывал разговоры с коллегами, когда мы общались по Skype, – чтобы лишний раз не переспрашивать. Со временем надобность в записях отпала. Я стал быстрее схватывать, лучше справляться с задачами.
Разбираться в чем-то новом приходилось постоянно. Тут мне помогал Google или советы коллег. Порой приходилось читать документацию – благо, ее легко можно найти. Некоторым вещам учился по видео.
В зависимости от проекта Big Data-разработчик может писать на Java, Python, Scala и ряде других языков. Так получилось, что на своих проектах я осваивал Scala и сейчас программирую преимущественно на этом языке.
Когда я пришел в IT, мне не хватало общения. В гимназии, на юрфаке, на предыдущих работах его было очень много. Тут люди подолгу молчат, больше погружены в себя. Но если ты попросишь помощи, тебе помогут.
Сейчас я разработчик уровня middle, и в моих планах – дорасти до проектного менеджера. Думаю, мне это будет близко. Я уже немного занимался менеджерскими задачами на проектах, и получалось неплохо.
Советы тем, кто хочет освоить программирование
У меня есть несколько рекомендаций тем, кто тоже захочет сменить область работы и пойти в разработку:
• Базовый совет: идите не за деньгами, а за тем, что интересно. Прислушивайтесь к себе – что вы хотите делать? Это касается и выбора компании, и выбора направления, и даже выбора проекта – если он есть. Если будете заниматься тем, что нравится, все усилия окупятся.
• Не пытайтесь освоить всё в одиночку. Задавайте вопросы, обсуждайте новую для вас область с теми, кто в ней разбирается или, как вы, только учится. Это поможет быстрее развиваться.
• Визуализируйте свои идеи. Мне бывало очень трудно представить, как работает программа, и удержать всё в голове. Тут помогает визуализация – всей логики или ее части. Я пользуюсь инструментом draw.io. Там можно писать тексты, создавать блок-схемы, соединять их между собой – очень удобно.
• Достаточно очевидный совет, но на самом старте может быть полезен: программируйте с помощью среды разработки. Когда после нескольких недель обучения я поставил IntelliJ IDEA, был приятно удивлён тем, как удобно и приятно работать.
• Изучайте не только то, что нужно, но и то, к чему тянет. Если хотите переключиться или глубже разобраться в какой-то теме – не одергивайте себя. Не бойтесь сделать шаг в сторону. Так вы с большим удовольствием выучите базу, а если останутся пробелы – потом их заполните. Я запомнил слова из одного видео на YouTube: если вы листаете учебник по Java, листайте не куда нужно, а куда интересно.
Фото: Unsplash
Комментарии