«Дверь не закрыта!»
Расслабленный тон демонстрации многообещающего приложения по управлению умным домом моментально испарился. Обновляя экран телефона с только что выкаченной версией и вглядываясь в статус своего жилища, глава разработки за столиком в баре напряженно пытался осознать – дело в его забывчивости или же в просто-напросто севшей батарейке домашнего дверного датчика.
Знание внутреннего устройства приложения позволило тогда спокойно продолжить вечер. Квартира была надежно заперта. И если вы хотите сэкономить деньги на такси или время на общение со службой поддержки из-за очередного странного поведения вашего заказа – порой не лишним будет понимать, существует ли проблема в действительности или это всего лишь очередной баг.
Сейчас IT все теснее переплетается с повседневным миром вокруг. Либо вы уже пишете код, задаваясь вопросами своей карьеры, выгорания и счастливой пенсии, либо же знания о том, как устроена сфера программирования, как работают приложения и создаются магические строки, понадобятся вам в обозримом будущем. Тоньше настроить под себя умный дом. Отдать ребенка в «правильный» IT-кружок. Вовремя сменить бесперспективную или наскучившую профессию.
Эта книга – сборник ответов, рекомендаций и забавных историй. Она призвана помочь и направить по верному пути желающих начать, а для тех, кто уже начал – сохранить любовь к работе и профессионализм на долгие годы, отбросить сомнения и дать подсказки по всем основным этапам карьеры и жизни в IT. Грамотно расти. Быть ближе к изменениям, что проникают в наш быт. Создавать, оставаясь увлеченным разработчиком. Или хотя бы понимать. Больше, чем те, кто никогда не бывал за кулисами.
Я не известный человек – я обычный, самый настоящий разработчик, не испорченный излишним медийным шумом.
За первые 10 лет работы успела пройтись по всем тропам и поджидавших на них граблям карьеры фронтендера. Окончила с отличием профильную специальность. И да, правда, это никому не нужно. Начинала с завораживающего причастностью тогда и ставшего немодным теперь: работала в инженерной поддержке далеких от IT сотрудников библиотеки, собирала из коробок и настраивала десятки рабочих станций за день. Писала запросы на невообразимом сейчас французском к стандартной специализированной БД для библиотечных систем. Верстала под легендарный Internet Explorer 6. Писала на порицаемом ныне PHP. Грешила фрилансом: немецкое модельное агентство еще держит мое имя в IT-команде, а лучшие скутеры и мотоциклы и по сей день продаются в моем родном городе сквозь написанные в студенчестве строки, с дизайном, достойным места в музее IT.
Трудилась в лучшей компании онлайн-интернет-вещания. Разрабатывала ТВ-приложения под Samsung/LG/Philips, когда Smart TV только зарождался на рынке. Писала видеоплееры для всем известных и высоконагруженных проектов. Реализовывала стандарты видеорекламы – подводные части ежедневно наблюдаемых вами десятков баннеров, пре-, мид- и пост-роллов. Делала простые сайты и сложные порталы. Создавала адаптивные – для каждого браузера, любого устройства – интерфейсы, борясь за каждый пиксель по макетам. Проклинала зоопарки напичканных багами мобильных.
Изведала радости и муки руководства фронтендерским отделом. Собеседовала, взращивала кадры, как могла, скатывалась в психологию, принимала уходы как личные потери – и вырастала, чтобы не принимать.
Попала в одну из самых желанных IT-компаний нашей страны.
Да, поработать за навеваемой модой границей не успела. Хотя порывалась. И даже ступала одной ногой. Просто поняла, что мне это не нужно.
Зачем я написала книгу? Затем, чтобы помочь всем причастным избежать ошибок на своем пути, идти к намеченным целям без поворотов на лишние тропинки и, конечно же, стать профессиональнее и счастливее.
И еще, чтобы показать ежедневную рутину, жизнь, какой ее видят профессионалы IT, вставая утром и ложась вечером. А чаще – ночью. Мир, которому отдано ХХ часов в сутки, отдано всё, что есть у нас: молодость и энтузиазм. Где мы существуем в светлое время суток. Что видим вокруг. Что думаем о мире. Как общаемся. Влюбляемся и выгораем. Находим смыслы и идем дальше.
Мне писали. Студенты профильных специальностей и опытные разработчики. Полицейские, экономисты и даже сборщики корпусной мебели. Все они находили в книге мотивацию продолжать. Подтверждение своим мыслям, способы выхода из сложных ситуаций. Понимание, что ждет их в IT. Всего один опубликованный на Хабре[1] пост привел к тысячам скачиваний. Искренне надеюсь – вы из тех, кто найдет для себя в книге что-то важное и полезное.
Для тех, кто хочет связать свою жизнь с IT, для начинающих и думающих, быть или не быть. Информация, очищенная от моды, онлайн-курсов и инфобизнеса.
Для студентов профильных IT-направлений, для студентов, желающих перевестись в IT из других специальностей, разочаровавшихся в текущем выборе. Понять свои первые шаги и узнать, что ждет вас на заре карьеры, а что лет так через двадцать.
Для тех, кто измучен рутинной работой, наскучившей или потерявшей актуальность в стремительно меняющихся реалиях. Кто, желая, но терзаясь внутри сомнениями и, быть может, не веря в себя, хочет попробовать в IT. Начать, сделать поворот рабочего кресла к настоящему программированию, тестированию, управлению – любым граням серьезной IT-разработки.
Для джуниор-, мидл-разработчиков и опытных профессионалов – как сборник советов по каждому этапу карьеры и очередной биографический нон-фикшн: посмеяться над историями, увидеть себя, задуматься, признаться себе, не согласиться со взглядами.
Мы все проходим определенные этапы на своем жизненном пути, равно как и на пути профессиональном. Трудно отделить их – влияние второго на первый в судьбе достойного разработчика колоссально. На каждом из таких этапов свои цели и задачи, свои советы и опыт уже прошедших ранее по этому пути. Поделиться последними и вдохновить на новые свершения и призвана эта книга. Хочется верить, ее структура сформирует некий Advice Driven Behaviour – поведение, управляемое советами, по аналогии с TDD – Test Driven Development – известной всем разработчикам методологией, основанной на написании успешно проходящих тестов, а затем уже самого программного кода.
Книга поделена на части, согласно этапам IT-карьеры и жизни: от обучения и начала до профессионализма и руководства, выгорания и переосмысления. Название каждой части базируется на аналогии с основными стадиями создания и работы программного обеспечения. Части содержат разделы, посвященные важнейшим вопросам на данном этапе.
DESIGN – проектирование. Часть о периоде с момента зарождения цели о вступлении на путь IT до формирования четкой картины о шагах по ее достижению.
«Когда начать», «С чего начать», «Как выбирать информацию и отсеивать ненужное» – в этих разделах разобраны проблемы места и времени старта, обучения, правильных источников. Так ли важен возраст и профильное образование? Какие книги помогут, а какие курсы стоит обходить стороной? На что обратить внимание, как выстроить мышление и почувствовать себя на шаг впереди остальных. А это зачастую отличная мотивация, чтобы продолжать захватывать мир. По крайней мере, для нас, амбициозных программистов.
Мы знаем, что заказчик всегда меняет требования. Учесть все пути, по которым пойдет развитие продукта, – задача практически невыполнимая даже для разработчика с бородой, длиною во всю историю развития IT. Так что и здесь – о шагах самых первых, пока жизнь и ваши цели не внесут свои разумные коррективы.
WRITE – написание кода. Часть посвящена основному этапу создания своих навыков, активного изучения теоретических основ, периоду начала программирования на популярных и не очень языках, средах и фреймворках. В случае более-менее классического сценария развития событий – данный этап посвящен обучению в вузе.
Как найти вдохновение и проверить, есть ли оно у вас, насколько важны усердие и глубина, какие типажи успешны в IT и как использовать конкуренцию – раздел первый «Базовый класс: основы успеха» — о ключевых столпах достижений.
Факультативы, научная деятельность, спортивное программирование и увлечения – раздел второй «Расширяем роли: смежные активности» — о вариациях IT-пути и дополнительных занятиях, дающих необходимое сейчас в IT разностороннее развитие.
Личные отношения и сила их воздействия на ваш рост как человека и профессионала – раздел третий «Первая весна Естественного интеллекта» — о судьбоносных формах влияния на начальных этапах.
COMPILE – сборка и запуск. Часть о начале работы, первых шагах по применению полученных навыков в промышленных масштабах. О разрыве обучения с реальностью и приведении их в гармонию.
Как поддержать страсть к разработке и не навредить будущей карьере – раздел первый «Выбор сборщика» — о выборе первого места работы.
За какие задачи браться, как не распыляться, что станет плюсом, а что скорее помешает дальнейшему росту – раздел второй «Примеры бинарников» — о выборе между мелкими и крупными компаниями, опенсорсом, фрилансом и заказами для знакомых.
Как вести себя в команде и к какому микроклимату стремиться – раздел третий «Оптимизация поведения», об отношениях в коллективах.
RUN – основной этап пути. Часть обо всем, что способно помочь идти летящей походкой, с высоко поднятой головой и бокалом в руке. Вернее, ехать на вполне себе автомобиле. Про самую классическую программистскую жизнь.
На что обратить внимание в поисках лучшей работы – раздел первый «Выбор движка» — о серьезных проектах и компаниях.
Как управлять разработчиками – раздел второй «Между 0 и 1: карьера и руководство» — о становлении признанными лидерами и уважаемыми сеньорами.
Как выстроить крепкую и позитивную профессиональную атмосферу – раздел третий «Личные взаимоотношения» — о поведении с коллегами.
Что сделать для подготовки и как вести себя в ходе рекрутинга – раздел четвертый «Собеседования» — об извечных и порой диссонансных IT-интервью.
Сколько получают IT-шники – раздел пятый «Цена себе: зарплата и справедливость» — о критериях формирования зарплаты и путях её повышения.
Нужна ли вам релокация – раздел шестой «Работа за границей» — о немаловажных факторах при выборе между трудом на родине и за рубежом.
Из чего складывается профессионализм, как стать вызывающим уважение разработчиком – раздел седьмой «Детали мастерства» — о тонкостях успеха.
DEBUG – отладка. Часть о проблемах разработчиков со стажем. Многие сознательные и ответственные специалисты признаются, что уставали. Думали открыть свою мастерскую по изготовлению шкафов, или, скажем, автомойку. Посвятить себя фотографии. Да и, в конце концов, – выползти из шкуры «детей подземелья» на свежий воздух, под лучи солнца и ароматный ветер. Иными словами, бросить к черту всё и уехать в путешествие на накопленные остатки.
На что обратить внимание, когда кажется, что все известно и хочется перемен – раздел первый «Поиск: проблемы дальнейшего развития» — о частых ошибках профессионалов на пути к росту.
К чему приходят разработчики, с какими мыслями борются. Как выбраться, потеряв смысл, стряхнуть пепел и продолжить – раздел второй «Профессиональное выгорание» — о предупреждении выгорания, его признаках и борьбе с ним.
REFACT – приведение в порядок. Часть о построении более-менее гармоничных отношений накопленного опыта с внешним миром и полноценной жизнью.
Как найти и отсечь лишнее, установить границы – раздел первый «Анализ» — о поддержании баланса между жизнью и работой.
Какие проблемы нарастают в IT, и что ждет всех причастных в будущем – раздел второй «Горизонт событий» — о хобби, семье, отношениях, детях и жизненных векторах зрелых специалистов.
Куда уходят разработчики, дизайнеры и менеджеры – раздел третий «Что кроме» — об изменчивости мира и примерах успеха IT-специалистов в других профессиях.
Вы узнаете, когда и с чего начинают свой путь в IT, как выбирать место работы и выстраивать отношения в жизни и на проектах. Что важно, а что лишь информационный шум, что даст вам фору, а что никогда не приведет к статусу высококлассного специалиста.
Поймете, какие типажи успешны в отрасли и какие черты стоит в себе воспитать. Как вырастают в разработчики серьезных продуктов, и как живётся девушкам в IT.
Почувствуете, как стать тимлидом и руководить, «побеждать» на собеседованиях, бороться с выгораниями и развиваться. Где искать вдохновение, как попасть в компанию мечты и оставаться жизнерадостным разработчиком.
Найдете мысли, подсказки и, быть может, ответы по всем основным аспектам своего карьерного пути, чтобы продолжить существовать в IT профессионально и счастливо.