Читать книгу Говорят, в IT много платят. Как построить успешную карьеру разработчика, оставаться востребованным и не выгорать - Елена Правдина - Страница 5
DESIGN
От зарождения идеи добиться успеха в IT-разработке до первых действий
Когда начать
«Хочу поменять профессию. Что, если начать позже?»
ОглавлениеУже окончив вуз по иной специальности, проработав некоторое количество долгих лет вне IT… У вас есть тот самый кругозор, который создает уникальную комбинацию способностей и может привести к революционным решениям. И да, у вас гораздо больше воли, мотивации и целеустремленности – ибо такой выбор серьезнее, он требует кардинальных перемен в жизни – переезда, перестраивания семейных отношений. Да и делается куда более осознанно, нежели выбор школьного абитуриента.
История первая
Первый техлид, с которым мне довелось поработать, казалось, мог всё.
Спортивный и подтянутый, быстрый в каждом движении, Саша был не прочь подзадорить коллег отвлеченным разговором и собрать всех вокруг на чашку несущего передышку чая. Несмотря на разницу в возрасте с нами, новичками и стажерами, он не угнетал авторитетом повидавшего жизнь разработчика, а делал атмосферу легкой, мотивирующей и оперативной. Манера насмешливо журить за упущения и незнания нисколько не сковывала начинающих интровертов. Самым психологически сложным оставалось обратить на себя внимание: призывно размахивая руками, вынудить его снять неизменно надетые наушники.
Когда приходилось настраивать рабочее окружение и сталкиваться с ошибками, в которых Stack Overflow оказывался бессилен, – достаточно было позвать Сашу. Любая проблема с npm-пакетами, версиями gem-ов, последствиями кривых рук в Linux, настройками серверов решалась за пару минут. Когда нам поступила задача быстро завести партнерский интернет-магазин на PHP, наиболее глубоко знакомым с этим непрофильным для компании языком – разработка у нас велась на Ruby – снова оказался он. Именно Саша занимался ведением основного продукта – высоконагруженного сервиса для известного медиахолдинга. Между делом он грамотно воспитывал стажеров, многие из которых вырастали в успешных разработчиков. В свободное время вел технический блог, находил любопытные решения, пробовал, настраивал новые инструменты. В рабочее – успешно рассчитывал мощности и конфигурации серверов для поддержания устойчивой архитектуры видеоплатформы. Стоит добавить ко всему легкость коммуникаций: редкая общительность для традиционного типажа того времени – замкнутых программистов – шутки над коллегами мимоходом, инициация обеденных групповых вылазок командой на турники с подтягиваниями, отжиманиями и хардкордной «планкой». Последняя, к слову, была показана им как образец, и никем более на тот момент не осилилась к повторению.
Казалось, вот так должен выглядеть профессионал, наслоивший на хорошо усвоенные академические знания практический опыт нескольких лет работы. Да-да, даже не десяти, пятнадцати или двадцати – ему было всего тридцать с небольшим. Каково же было мое удивление, когда я узнала, что академического IT-шного образования в этой истории нет и вовсе! Более того, нет даже хоть сколько-нибудь смежного технического. А по своему диплому наш лучший техлид:
– Преподаватель. Специалист физической культуры и спорта, – размеренно произнес однажды голос из-под наушников в ответ на поднятую кем-то образовательную тему.
– Ни за что бы не подумала… – все, что растерянно я смогла выдавить из себя тогда.
«Как тебе это удалось?», «Давно ты начал?», «А как ты вообще оказался в IT?» – удивленные вопросы посыпались со всех сторон.
Те самые смежные софт-скиллс из другой профессии сыграли здесь свою весомую роль. Более осознанный выбор и интерес к области, увлеченность и пробы собственных проектов в нерабочее время позволили ему за несколько лет догнать ведущих специалистов. А сохранившееся отношение к IT как к зарожденному изначально хобби помогало лучше многих поддерживать актуальный уровень знаний. Успешно выступать с полезными докладами на IT-встречах и бегать на лыжах, побеждать в волейбольных турнирах и быть в отличной физической и профессиональной форме.
История вторая
В компании остро стоял вопрос найма новых кадров.
Сложность поиска верстальщиков и JS-специалистов заключалась в отсутствии в явном виде таких специализаций. Именно в тот период мне как руководителю фронтенд-разработки довелось пребывать в непростой нанимающей роли. Приходилось или брать студентов со скамьи и обучать с нуля со всеми вытекающими, или фильтровать огромный поток уже успевших поработать в смежных сферах с надеждой найти нужный уровень и типаж. Большинство IT-выпускников, не блиставших алгоритмическими способностями, шли в студии сайтов или подобные некрупные фирмы, стремясь получить работу по специальности. И зачастую предпочитали верстку как «облегченную» версию профессиональной деятельности. Лучшие же кадры выбирали чистое и «профильное» программирование – уходили в бэкенд. В итоге квалификация клиентских разработчиков даже спустя год-другой работы оставляла желать лучшего. Сеньоров и умудренных на тот момент не искали. Перепробовав различные техники отбора, мы в итоге пришли к популярной в известных мировых фирмах методике, где кандидату даже чисто на верстку помимо прочих вопросов предлагалось решить и запрограммировать некую алгоритмическую задачу. Да-да, были такие времена, когда верстальщик и JS-программист были отдельными сущностями.
Шли собеседования, ротировались кандидаты, разочарование росло. Никто не мог справиться с задачей на приемлемом уровне. Причем затруднения вызывало логическое мышление: способность рассуждать, строить жизнеспособную модель решения. Кандидаты, требовавшие неприличные для себя зарплаты, специалисты по искомым фреймворкам, – все терялись и оказывались неспособны отойти от стандартных приемов. Они старались применить «прецедентный подход» и, не находя готовых решений из своей практики, что зачастую оказывалось синонимом «не вспоминая нагугленного ранее», – становились бессильны. Единственным справившимся со всеми заданиями кандидатом оказался разработчик, переехавший из другого города. Немногословный, сдержанный молодой человек, чаще с сосредоточенным и немного напряженным, будто что-то обдумывающим, выражением. Последние года два он работал в веб-студии, а до этого честно строил карьеру агента по недвижимости – иными словами, являлся профессиональным дипломированным риелтором.
На данный момент, спустя несколько лет, он продолжает работать на всех наших основных проектах, участвует в создании Smart TV-приложений, видеоплеера и иных высоконагруженных сервисов.
История третья
В наших кругах телевизоры – не самая модная отрасль, потому, когда успешно поборовшим задание на разработку приложения Smart TV стал пусть и непрофильный кандидат, я была безгранично довольна. Те, кто застал времена зарождения части «smart» в составе TV в не такие уж далекие 2010-е, возможно, помнят настоящий коэффициент IQ тех девайсов. Под капотом «умные» приложения содержали в себе обычный веб-браузер – казалось бы, что может быть проще. Но нет: видимо, опасаясь восстания машин, производители того времени прилагали значительные усилия по созданию всевозможных препятствий к торжеству ТВ-интеллекта. Документации и гайды по разработке тщательно запрятывались от незнакомцев, индусская поддержка брала недельные паузы на медитации, а сборка приложения и его тестирование на реальном телевизоре представляли собой путь из 9 кругов ада. Сюрпризы оказывались в самых неожиданных местах. Фокусы не ставились на элементы, стандартный HTML-ный select отказывался назначать выбранный элемент через JS, свойства CSS выделывали трюки уровня старых IE, а встроенные медиаплееры с их непредсказуемыми обработками сиков и сдвигов live-трансляций позволяли разработчикам медленно, но неотвратимо постигать дзен. Особенно отличался Philips, не желавший перезапрашивать и отрисовывать даже несколько небольших тумбнейлов на странице за небольшой промежуток времени и благополучно «вешавшийся» на этом так, что не срабатывала даже перезагрузка.
SDK, ОС платформ и их версии, системы сборки и тестирования на ТВ постоянно менялись. В каждом аппруве в стор оказывались какие-нибудь новые удивительные требования. Появлялись то лишние десятки полей, то дополнительные чек-листы, которые надо было заполнить. А еще требовалось подготовить 2 презентации в PowerPoint с картинками каждого экрана, таблицами элементов на нем, их подробным описанием на уровне «что должна делать каждая кнопка и каждый компонент приложения». Прошедшее все муки разработки – порядка нескольких месяцев! – приложение попадало в руки прилежных корейских или индийских тестировщиков. Спустя пару недель оно неминуемо возвращалось с замечанием вроде «ваша текущая выбранная кнопка недостаточно заметно обозначает фокус на себе с расстояния нескольких метров». После чего под крупные слезы дизайнеров рамка становилась еще жирнее и краснее. Продукт заново отправлялся на очередной цикл тестирования. Кстати, хочется снять кепку перед специалистами тестирования Индии и Кореи – как они проверяли функционал приложения на русском языке во времена отсутствия Google Translate по фото – для меня до сих пор остается загадкой.
Чтобы сражаться и побеждать, в этой сфере нужен был человек, разбирающийся не только в наборе качественного кода в редакторе, но и в сетевой и аппаратной частях устройств, необходимых для подключения/настройки ТВ под отладку. И он нашелся…
…среди выпускников кафедры машиностроения. До прихода к нам Игорь уже поработал несколько лет во фронтенде. Живость ума и самообучение позволили освоить верстку и JavaScript на профессиональном уровне, сохранив при этом совершенно не похожую на разработчика индивидуальность. Уникальный юмор, порой излишняя прямота, молодость и подчас пугающий менеджеров оптимизм выделяли его среди «типичных программистов». Широта принятия и познания в других слоях жизни отлично вписали его в коллектив, очертив ореолом легкости и позитивного мышления. А еще – нередко несли нам спасительную перезарядку.
Именно Игорь справился с гибридной, аппаратно-фронтендерской, спецификой Smart TV успешнее многих. Сначала выполнил тестовое задание по написанию несложного ТВ-приложения, с нуля разобравшись со всей платформенной инфраструктурой. Затем практически единолично разработал для нашего крупного заказчика проект с не самым тривиальным интерфейсом, платежными сервисами, VoD и live-видео.
И хотя позднее, перейдя фронтенд-разработчиком в одну из крупнейших российских IT-компаний – «Рамблер», – он зарекся никогда не иметь дело с «теликами», заслуженного места в историях успехов непрофильных кандидатов ему уже не изменить.
История четвертая
Смена работы выглядит волнительной вдвойне, если сопряжена с переездом в другой город и выходом в одну из самых желанных компаний нашего IT-рынка. На деле же все гораздо комфортнее. Крупные корпорации несут в себе отлаженный процесс. Меня ждали теплая встреча, экскурсия по атмосферному, живому и бесконечно уютному офису. Место с видом, заставляющим хотеть покорить мир: на Неву, Литейный, полный историй и духа побед-центр. И уже подготовленный с учетом пожеланий персональный ноутбук. А главное – уникальные люди, такие, каким оказался Рома – мой будущий напарник.
Молодой, со стильной прической и холеным внешним видом – немецкие корни удивительным образом переплелись с сибирским происхождением. Его выделяла открытость, а желание поделиться знаниями полезных утилит и важными тонкостями проекта захватило меня с головой на весь оставшийся день.
Здесь, в Яндексе, больше всего меня поразило умение разработчиков молниеносно ориентироваться в любом инструментарии. Быстро пробовать, настраивать – не важно, насколько полна документация. И это-то при всеобщей редкости подобных навыков для типичного фронтендера. Казалось бы, нужно сочетать в себе познания DevOps, где-то становиться немного админом и бэкенд-специалистом, чтобы умело манипулировать системами выкатки и развертыванием на серверах. Среднестатистический, порой даже опытный, мидл-фронтенд-разработчик зачастую стремится избегать подобной деятельности, не чувствуя себя в ней как рыба в воде и, пожалуй, слегка побаиваясь.
Мой напарник писал скрипты склеивания файлов и настройки конфигов будто бы между делом. Всё это получалось так же легко, как центрирование какой-нибудь банальной фронтендерской кнопки, выполняемое не первый год. Самые современные полезные инструменты были подключены к проекту по инициативе одного только Ромы. Не успевали плавно распространиться по проекту одни из них, как в свободное время, пробуя, изучая, осознавая преимущества, он выбирал новый оптимальный для решения некой задачи вариант и встраивал его в код.
Лучше всех знакомый с проектом, Рома был назначен мне ментором. Как руководитель в прошлом, я сразу оценила верный педагогический подход: преподнесение информации, немаловажный начальный ввод в курс дела, пояснения по каждой из первых задач, экскурсии по кодовой базе и полезным внутренним инструментам. Присутствовали и необходимые рассказы на вечную тему: «Почему именно в этом месте “так исторически сложилось”». Хотя на тот момент я работала фронтенд-разработчиком дольше него и считала себя опытнее в плане обучения сотрудников – с легкой долей зависти про себя пришлось отметить профессионализм его преподавательских действий.
Поначалу мне виделось что-то непривычное в суждениях Ромы для порой типовых фронтендерских задач. Однако поток новой информации, обрушившийся на меня в тогда еще чуждой компании, и лояльность к окружающим не оставляли времени и весомых оснований для развития своих мыслей на этот счет.
Пока разработчики других отделов десятками решали, какие средства для тестирования выбрать, с чего начать, как вообще подойти к написанию кейсов, мой напарник успевал не только определиться, но и настроить, написать и вдобавок по собственной инициативе – интегрировать в процесс Continuous Integration. При следующей встрече не полениться набросать презентацию, демонстрирующую ключевые моменты его решения коллегам. Стоит ли упоминать, что у человека, который так горел глазами на работе и успевал так много, были и внеурочные проекты, где он не пытался зарабатывать старыми знаниями, а пробовал новинки IT-шной сферы, держал нос по ветру и стремился улучшить свои программистские подходы.
Когда в одной из задач потребовалось динамически менять заголовки страниц, он подсказал мне релевантную React-библиотеку.
– Посмотри Helmet, – нетрадиционно для привыкших к чатам разработчиков вслух произнес напарник. Максимальное время живого общения голосом было любопытной деталью нашего взаимодействия. Десятки фич и сотни строк рефакторинга доехали до пользователей в разы быстрее благодаря такому незамысловатому подходу.
– Как-как? – переспросила я, не зная подобного слова и, как следствие, не найдя аналогий с решаемой задачей.
– Как шлем по-английски, – доходчиво пояснил мой ментор.
Английским я занималась то параллельно, то последовательно всю сознательную взрослую жизнь: вместо, пыталась читать оригиналы, смотреть фильмы, использовать для общения в поездках за границей. Да, асом не была, но всё же. Та ситуация со шлемом меня задела. Неужели всё зря, и для всех, но только не меня, очевидно, как будет шлем по-английски?
Впрочем, по этой части чуть позже я позволила себе успокоиться – когда однажды за обедом я узнала от своего наставника, что он дипломированный преподаватель английского языка и даже проработал несколько лет в школах.
Его история еще одно яркое доказательство: университетская профессия и время старта не так важны, как желание, природная гибкость ума и огонь в глазах.
Не все истории смены своей текущей специализации на работу в IT успешны. Не все долговечны.
На моей памяти было резюме кандидата, где строки о работе в должности фронтенд-разработчика в равных пропорциях чередовались со строками вида «повар-технолог» и «главный суши-мастер». Подтверждая примеры выше, с тестовым заданием он справился вполне прилично – хотя и для уровня джуниора, а не искомого мидла. Мы решили не нанимать. Всё же в здании офиса недавно нашим же гендиректором был открыт стильный ресторан, куда мы все ежедневно ходили обедать. И очень уж не хотелось быстро потерять ценный найденный IT-шный кадр.
Минуточку, скажете вы, там, парой страниц выше, было нечто такое, что зацепило меня, резко выбилось из общего вполне себе политкорректного контекста. Что-то такое, не очень приятное на глаз и слух. Ах да, «программисты-аутисты»… Позвольте, звучит как оскорбление! К чему же это?
Компания, в которой я провела самые яркие карьерные годы, была выстроена не то чтобы с нуля, а скорее даже с минуса. Малоприбыльный регион – Орловская область, недостаток высокопрофессиональных кадров. Первый офис в подвале, где ведрами приходилось вычерпывать воду. А сейчас «Инвентос» – известные каждому клиенты, серьезные решения в своей нише, команда глубоких и мыслящих профессионалов и собственное здание компании.
Большинство выпускников-программистов начала 2000-х с радостью погружались в дебри отрешенного от мира кодирования только-только набирающей обороты отрасли. Но, к счастью, случались редкие и поворотные исключения. Наш генеральный директор и основатель компании обладал решающим для IT тех лет талантом – умел объединять людей. Профильное образование, нежелание «кодить» и поразительное чутье в вопросах того, за что стоит браться и что выстрелит в перспективе, привели к созданию многих прорывных продуктов. Одним из них стал будущий Rutube, проданный впоследствии холдингу «Газпром-медиа».
Прямота, требовательность к сотрудникам и легкость прощания с теми, кто не болел душой «за дело», позволили построить не только успешный IT-бизнес, но и собственный ресторан, и даже радиостанцию.
Когда я впервые услышала то сравнение – «программисты-аутисты» – из уст «отца», моему возмущению не было предела. Разве можно относиться так к своим сотрудникам, тем, кто отдает большую часть своей ежедневной жизни на благо бизнеса? Масштаб эмоций усилился атмосферой: знаменитая фраза прозвучала на ежегодном выступлении в канун новогодних каникул перед всеми трудившимися в компании разработчиками. Только позже я смогла понять, насколько жизненно и справедливо то сравнение и насколько дальновидным было его озвучить.
Признание проблемы – половина решения. Услышав подобное, мне захотелось не быть тем ограниченным человеком, не умеющим общаться с внешним миром. Да, задачи требуют концентрации, но для великих продуктов всегда приходится выходить из зоны комфорта. Выбираться за рамки, чтобы было куда расти. Достроить карту за дверцей дома и не упасть в пропасть. Важно мыслить нестандартно, комбинируя знания и опыт. А к человеку, открывшему после запуска IT-компании не менее успешный ресторан, свою радиостанцию, отстроившему современный офис и спроектировавшему научный городок, – стоит как минимум прислушаться.
«Так когда начать?» – спрашиваете вы. Будучи родителем и беспокоясь за будущее своих детей, думая, что сделанный ими или настоятельно рекомендованный вами выбор в пользу IT вечен, как набитая подростком татуировка, – вздохните и расслабьтесь. Надеюсь, приведенных примеров силы последующей и осознанной смены специальности достаточно. Если же вы школьник или представитель иной профессии, сомневающийся в сроках начала, то у меня для вас, как читателей этой книги, хорошие новости. Вы уже начали.
Советы в конце подраздела
–› Определитесь как можно раньше.
–› Срок вторичен, сбалансированное развитие первично. Ставьте на первое место кругозор, не жертвуйте всем ради одного.
–› Не беспокойтесь о четкой точке старта. Постепенно окружайте себя связанными источниками. Уже сейчас.