Однажды вам приходит в голову настойчивая мысль "как меня все достало, хочу заниматься чем угодно, но только не этим". Если человек достаточно разумен и решителен – то возьмет и сделает именно так. А если не очень – будет годами тянуть волынку и ныть о том, как его все задрало. Я как раз из последней категории.
Зачем вообще все это
Однажды настал некий переломный момент, когда нужно было что-то менять в монотонной рабочей жизни и возвращаться к приятной мозгу кипучей деятельности. Знаете, когда ты как-то приходишь утром в офис, плюхаешься в кресло и понимаешь, что терпение лопнуло и дальше эта уютная зона комфорта уже не прокатит.
На шестом году работы системным администратором;
На втором году деятельности пресейл-инженера в интеграторе;
На каждой последующей работе, где нужно было напрямую заниматься администрированием или продажей серверов.
Как русский человек, запрягал я долго, и каждый раз устраивался на похожую работу с теми же проблемами. Разумеется, это регулярно заканчивалось раздражением и уходом.
Начинать все сначала решил с планом в голове и достойной целью перед глазами. Рассудил очень просто: хочу собственный дом подальше от города, и чтобы не к старости. То есть, за ближайшие 5 лет надо бы им обзавестись без ипотеки.
Простая математика с анализом рынка недвижимости и его темпов роста наглядно показала, что для этого надо зарабатывать около 250т.р. в месяц. Вполне реальная зарплата, если ты большой босс или невероятно крутой девелопер. Первый вариант пришлось отбросить ввиду отсутствия "природного сала", а второй вполне реален при выполнении двух условий:
Будет по-прежнему интересно заниматься разработкой ближайшие N лет. Если не интересно, то никогда не станешь лучше среднего программиста. А средние программисты не получают нужный по плану доход;
Есть минимум 3 года в запасе для того, чтобы подняться на ступень карьерной лестницы, примерно равную Senior Developer.
Ну что ж, 3 года раскачки отодвигают заветные 5 лет до цели, но все же не исключают ее полностью. Значит, за дело.
Что пробовал и что сработало
Всегда интересовался мобильными платформами и грамотными интерфейсами, поэтому о направлении развития голову не ломал и решил стать разработчиком под iOS/Android. Как и другие начинающие, поддался на лозунги "программировать просто" и начал просто смотреть видео-уроки с практическими примерами. Что-то получалось, но в голове не было понимания происходящего внутри программы, и почему стоит делать именно так, а не иначе.
В первую волну стремления стать программером смотрел уроки по iOS-разработке. Казалось, что Objective-C позволит легче погрузиться в дело с базовыми знаниями C, да и продукты яблочной компании нравились. Но на практике язык оказался крайне мудреным и нелогичным, а документация Apple – не приспособленной для начинающего. К тому же, на тот момент уже был представлен Swift и Objective-C начал свой планомерный закат.
К слову, язык C тоже учил не в школе и не в институте. Просто как-то увлекся темой смарт-часов, купил Pebble Steel и руки зачесались собрать собственный циферблат или какое полезное приложение. Если кто не знает, Pebble SDK базируется на языке C и предлагает как инструмент для разработки облачный IDE CloudPebble.
Внезапно открыл для себя крайне простую для старта платформу с подробной и наглядной документацией. По крайней мере, стало очевидно, что значительную часть бюджета на дизайн они пустили на поддержку разработчиков. Там конечно тоже потребовались основы, поэтому засел за чтение "Изучаем Си" отличного автора А. Крупника. Правильно где-то написали, что если бы в институте работали такие преподаватели, то хороших программистов было бы больше.
Под эти часы написал несколько циферблатов (например, названный в честь пражского аэропорта RUZN pixelate) и даже успел поучаствовать в небольшом коммерческом проекте на Upwork, что принесло дополнительные знания и уверенность в своих силах.
Любовь прошла, завяли яблоки
Никогда не думал, что яблоковод со стажем способен слезть с платформы Apple. Но это случилось, и меня увлек логичный мир Material Design новых Android. К тому же, у Google очень лояльная политика в отношении новых разработчиков: с вас вообще не требуют никаких денег и предлагают массу руководств и онлайн курсов Udacity. Одна только проблема – нужно учить Java.
Тогда мне Java казалась чем-то невероятно уродливым и способным только на ужасные интерфейсы в стиле Symantec из далекого прошлого. Но у языка оказалось заметно больше общего с уже полюбившимся C, чем у Objective-C. Это была уже третья по счету попытка стать программистом, потому не стал полагаться на простые самоучители и подписался на курс JavaRush. Этого показалось недостаточно, и я снова стал студентом.
Студент в том смысле, что поступил на курсы разработки Java при университете ИТМО в Санкт-Петербурге. Ну а что, это же прославленная кузница лучших программистов, верно? Должны разбираться в вопросе лучше всех. Вот первый мой серьезный просчет – не учел, что учебный центр ИТМО и сам университет имеют из общего только здание и некоторых преподавателей.
Если бы я раньше залез на HeadHunter и посмотрел требования к преподавателям этой кузницы программистских кадров, то не стал бы тратить время и деньги. Преподаватель так ни разу и не ответила ни на один из более-менее серьезных вопросов, так что помогали друг другу сами студенты. Словом, из полезного вынес только официальное свидетельство об окончании курсов и окончательное разочарование во всем, что хоть как-то связано с высшим образованием.
Амиго, брат
С JavaRush вышло интереснее. Клюнул на то, что курс полностью онлайновый, в нем более 80% времени занимает практика, а разработал его хороший программист. Не буду заниматься рекламой, вы и сами можете почитать о проекте подробнее, если интересно. Скажу лишь, что ближе к 10 уровню уже появляется полное ощущение, что тебя серьезно учат разработке с использованием современных инструментов вроде IntelliJ IDEA.
Так что потряс оставшийся после обучения в ИТМО бюджет и оформил платную подписку. Особенно нравится их манера периодически подкидывать тебе задачи по темам, которые еще не изучались в курсе. Приучают ковыряться в сторонней документации, искать ответы на форумах и доходить до истины самостоятельно. Уверен, не всем понравится такая схема обучения, но лично я оценил. По крайней мере, в Core Java стал чувствовать себя увереннее, чем после очного курса.
Когда теоретические основы окрепли, начал самостоятельно ковыряться в Android Developer Studio, смотреть видео-уроки и кодить свой калькулятор. Вообще, хотелось создать идеальный мультимедиа-комбайн для авто на базе ОЕМ-железа. Эту идею все еще держу в голове и когда-нибудь обязательно к ней вернусь с собственной командой разработчиков.
У проекта JavaRush масса опубликованных историй на тему "как я купил JavaRush и осуществил мечту", но лично я мечту еще не осуществил и по-прежнему только двигаюсь к званию Junior Developer. Хотя нет, сейчас не двигаюсь, так как залез в маркетинг.
Потому что обстоятельства сильнее нас
Ушел с основной работы, на которой удавалось бездельничать (чего уж) и при этом получать дополнительный доход от работы во фрилансе. Решил не искать новый офис, а окунуться в частную практику. Так я пришел в маркетинг и понял, что сама организация работы над проектом для меня интереснее проекта как такового. Каждый раз натыкаешься на новые грабли и передряги малого бизнеса, работаешь с людьми, учишься отстаивать позицию. В общем, пока остановился на этом направлении и по прошествии почти двух лет не могу сказать, что пожалел.
Отличный ролик на тему стартапов для поднятия настроения
Но эта история не про то, что всем надо срочно бежать в предприниматели. Скорее, она про то, что не стоит терять время на мысленные метания – порой нужно просто взять и все сломать. На обломках гораздо проще построить новый дом, чем возводить пристройки у старой избушки.
Если вам тоже довелось испытать нечто вроде профессионального выгорания, поделитесь историей в комментариях. Уникальная коллекция граблей всегда интереснее глянцевой истории успеха, верно?