Я часто вижу публикации, в которых люди рассказывают о том, как пришли в айти. Обычно это истории о переходе из другой профессиональной области. Некоторые из таких материалов создаются маркетинговыми отделами школ программирования и часто рисуют радужную картину: за полгода человек без малейших технических навыков, опираясь исключительно на свой жгучий энтузиазм и регулярные онлайн-упражнения, превращается в разработчика, делающего 100 000 долларов за наносекунду в топовой компании из Кремниевой долины (или хотя бы Иннополиса). В противовес подобным рассказам возникают грустные статьи о «правде жизни», предостерегающие любителей быстрых чудес о неприятностях, разочарованиях и сложностях. В крайнем случае утверждается, что без многолетнего профильного образования и солидной математической подготовки в айти делать нечего, а истории успеха — не более чем порождения инфоцыганства.

Один из многочисленных мемов о том, как легко войти в айти
Один из многочисленных мемов о том, как легко войти в айти

Начитавшись и радужных рассказов, и мрачных повествований, насмотревшись мемов, наговорившись с друзьями-коллегами-знакомыми-родственниками, часть из которых решила, решала или хотя бы подумывала получить айтишную профессию или перейти в неё, я захотел поделиться своим опытом развития в качестве ИТ-специалиста. Мой профессиональный путь, как мне кажется, замысловат и необычен. Он отличается и от радостного стереотипа «за полгода сделаем кого угодно разработчиком», и от обескураживающего «без долгих лет в техническом вузе тут делать нечего». В то же время я бы назвал этот путь показательным, реалистичным и в чём-то типичным. Он включает ряд характерных этапов и позволяет сделать выводы, которые могут пригодиться как тем, кто только выбирает профессию, так и тем, кто думает её сменить. Таким образом, эту статью можно назвать биографией профессионального развития. Весь путь занял почти 20 лет: 10 лет от первого домашнего компьютера до первой строчки практически применимого кода и потом ещё 10 лет до первого диплома по технической специальности и должности бэкенд-разработчика.

Весь путь вкратце

Глава 0. О пользе компьютерных игр

Первый компьютер дома появился 20 лет назад: мама купила, чтобы набирать и печатать документы. В течение первых двух-трёх лет эта шайтан-машина не вызывала у меня интереса: жужжит, мигает лампочками, переливается картинками на экране, но зачем она мне нужна, решительно непонятно. Интернета дома не было, телефона у меня тоже не было, планшетов тогда не существовало. Забегая вперёд, скажу, что и телефон, и интернет у меня появились где-то в 2010 году, а своего планшета по-прежнему нет.

Считается, что детей в первую очередь интересуют компьютерные игры, но меня они поначалу не привлекали. По-моему, мне нравилось смотреть, как «Косынку» раскладывают, потому что в конце колоды начинали красиво сыпаться, но не более. Впрочем, спустя какое-то время я обратил внимание на «Сапёра» и «Пинбол» из стандартного комплекта Windows XP (олды тут?), а потом понял, что есть и более продвинутые игры — те, которые в то время можно было купить на дисках. Соответственно, интерес к «шайтан-машине» стал расти.

Системный блок первого (и единственного) настольного компьютера у меня дома. Ему уже 20 лет, и до недавнего времени он работал
Системный блок первого (и единственного) настольного компьютера у меня дома. Ему уже 20 лет, и до недавнего времени он работал

Машина была обычным, хотя и не самым дешёвым офисным компьютером на Pentium 4 с 256 Мб оперативной памяти. Игры тоже были обычными: половина из них двухмерная, а самой продвинутой был «Ледниковый период 2». Тем не менее, ресурсов даже для них хватало не всегда. Нужно было тщательно проверять системные требования, чтобы не купить игрушку, которая гарантированно не заработает. Геймеров и компьютерщиков в ближайшем окружении не было, поэтому ответственность за проверку ложилась на меня: получилось — молодец, играешь, не получилось — сам виноват, не играешь, но деньги на диск с игрой уже израсходованы. Так я впервые открыл инструкцию к компьютеру, стал смотреть технические характеристики и сравнивать их с системными требованиями игры. Понять что-то в цифрах и англоязычных аббревиатурах было непросто (тем более что английский я тогда знал плохо), но других вариантов не было, поэтому интеллект включался на всю мощь, мозг скрипел, плавился и выдавал логичные вывод: 128 «Мб» непонятной «RAM» — это меньше, чем 256, а вот 512 — больше, а значит, первая игра, скорее всего, пойдёт, а вторая — вряд ли. Так я вынужденно знакомился с компьютерной терминологией, пытался самостоятельно ответить на возникающие вопросы и получал в награду за правильный ответ возможность поиграть — недолго, так как были проблемы со зрением, но всё же поиграть.

Замечу, что интерес к «шайтан-машине» не сводился к играм. С пятого класса появились задания по учёбе, для выполнения которых требовался компьютер. Примерно тогда же я начал сочинять художественные истории, которые сперва писал от руки в тетради, но потом стал набирать на компьютере. По-моему, изредка рисовал в Paint и жалел, что получается не так хорошо, как в «Фотошопе». Тем не менее, это всё были пользовательские задачи — они не предполагали, что нужно интересоваться внутренним устройством компьютера. Необходимость разобраться в каких-то технических вещах возникла именно в связи с играми и их системными требованиями.

Глава 1. Мой друг компьютер

В 2008 году дома появился журнал «Мой друг компьютер». Формально это была газета, но выглядела она как тонкий журнал: формат А4, цветная печать, полноценный набор рубрик, весьма неплохие статьи. Первые номера мне подарил дедушка, а потом я увлёкся и стал сам покупать, каждые две недели проверяя киоск на пути из школы домой. Дедушка к компьютерам относился скептически (хотя любил электронику), но вышло так, что журнал, благодаря которому начали развиваться мои познания в айти, достался мне именно от него. У него же я однажды нашёл толстую книжку «Персональный компьютер» 2003 года выпуска — несмотря на то что с момента выхода прошло несколько лет, я прочитал её всю и узнал много нового и про компьютеры в целом, и про Windows XP в частности.

«Мой друг компьютер» пробыл со мной несколько лет. В какой-то момент его качество резко снизилось: печать стала хуже, вместо авторских статей пошли скопированные из интернета материалы. Тем не менее, я продолжал покупать и читать, пока не нашёл замену. Прочитанные номера складывал на полку — в итоге накопилась внушительная подборка. Выкинуть её я решился только после окончания школы.

У меня были похожие стопки с журналами. Сейчас, к сожалению, нет, поэтому взял картинку из объявления о продаже подборки
У меня были похожие стопки с журналами. Сейчас, к сожалению, нет, поэтому взял картинку из объявления о продаже подборки

Параллельно я обратил внимание на другие журналы: «Мир ПК», ComputerBild, Chip. Некоторые из них покупал, но в основном брал в библиотеке — городской или у мамы на работе в техникуме. Не всё понимал, какие-то статьи пропускал, но уже упомянутый выше могучий интеллект вгрызался в последовательности букв и цифр, вырывал оттуда смыслы, пожирал и переваривал их, и в результате мало-помалу становилось всё яснее и яснее. В пятом классе меня легко было задеть, сказав, что я даже Windows не переустановлю — к девятому такие заявления звучали бы смешно. Переустанавливать Windows я так и не научился, но любителю Linux это было ни к чему.

Глава 2. Как я стал пингвином

Среди рубрик в журнале «Мой друг компьютер» меня больше всего интересовала та, которая называлась «Наш пингвинятник». Как можно догадаться по названию, она была посвящена операционной системе Linux, в простонародье Линуксу. Наверное, многим рассказы о Линуксе показались бы скучными и непонятными, но для меня они были занимательными. Может быть, это из-за того, что я пингвинов люблю, может быть, именно максимальная непонятность меня и привлекала, а может быть, скриншоты Линукса выглядели свежо и оригинально на фоне бесконечной Windows, которую я и дома видел каждый день.

Начав немного разбираться в Линуксе, я захотел установить его на компьютер. У этого желания, помимо любопытства, была практическая причина: заканчивался 2010 год (это приблизительная дата, точно не помню), и комп родом из 2003 подтормаживал. Линукс считался системой, приспособленной для старого «железа». На реализацию задуманного ушло время: я беспокоился, что ошибусь с разметкой диска при установке и потеряю все данные. Сначала я научился загружать Линукс с флешки: первой системой, с которой этот трюк удался, стала Lubuntu 11.10, вышедшая в конце 2011 года. Спустя какое-то время дело дошло до установки на жёсткий диск — к 2013 году на компьютере параллельно с Windows XP были два Линукса. Работали они и правда быстрее, но фантастического прироста в производительности я не ощутил: 256 Мб оперативной памяти всё же не хватало. Я продолжал пользоваться Windows, но Линукс полюбил бесповоротно. Когда перед первым курсом в вузе мне купили ноутбук, я сразу поставил на него Линукс. С тех пор я использую его как основную операционную систему, хотя конкретные разновидности, они же дистрибутивы, меняются.

Раннее увлечение Линуксом дало неожиданные плоды: в 2012–13 годах я опубликовал две статьи в журнале LinuxFormat и получил за каждую примерно по 7 тысяч рублей — де-факто первую в жизни зарплату. В конце школы подумывал о профессии технического журналиста и писал в профильные СМИ, чтобы понять, как стать автором. Например, однажды связался с редактором ixbt.ru — получил вежливый ответ с предложением сотрудничества, но с предупреждением, что аудитория сайта — профессионалы. Я подумал, что не смогу писать для серьёзных специалистов, и отказался. По пути технического журналиста я в итоге не пошёл: почувствовал, что выдавать качественный текст регулярно и в большом количестве, а не делать статьи под настроение и вдохновение — это слишком сложно для меня.

Так выглядит начало моей первой статьи о Линуксе. Помнится, что особенно гордился заголовком и стеснялся своего довольно молодого вида на фото (но, как мне сказали, «за студента сойдёшь»)
Так выглядит начало моей первой статьи о Линуксе. Помнится, что особенно гордился заголовком и стеснялся своего довольно молодого вида на фото (но, как мне сказали, «за студента сойдёшь»)

Этюды про Линукс сейчас кажутся мне удачной, но очень дерзкой попыткой. Помнится, что на одну из тех статей я нашёл отзыв, намекающий на недостаточный профессионализм автора. Впрочем, думаю, что статьи были всё же достойными, хотя во многом поверхностными и обзорными. Если хотите, можете оценить сами: вот первая статья о Линуксах для старых компьютеров, а вот номер со статьёй об эффектах рабочего стола без Compiz.

Глава 3. Как я администрировал сайт

Мои интересы не сводились к копанию в Линуксе и компьютерах. Я был разносторонним и способным школьником: увлекался почти всеми предметами, побеждал в олимпиадах как по естественным, так и по гуманитарным направлениям. По математике брал призовые места на уровне города — не так уж плохо для ученика обычного, а не профильного класса. Парадоксально, но по информатике даже не участвовал: демо-версии заданий вызывали страх.

Больше всего мне нравилась география. В середине девятого класса я познакомился с человеком, который делал краеведческий сайт. Я написал несколько статей, а потом ожидаемо заинтересовался внутренним устройством сайта: что происходит с моим текстом и как получается так, что его видят посетители. Создатель сайта объяснил, что существуют так называемые CMS — Content Management Systems, системы управления содержимым. Сайт сделан на одной из таких CMS по имени Joomla. У этой «Джумлы» есть панель управления, из которой можно публиковать статьи, редактировать меню и категории. Поскольку сайт был маленький, времени у его владельца было немного, а у меня были и желание, и не совсем кривые руки, то я довольно быстро получил доступ к панели управления — сначала как автор, потом как редактор, а потом и как полноценный администратор.

Панель управления краеведческим сайтом на Joomla 1.5 выглядела примерно так (с трудом нашёл этот скрин в переписке)
Панель управления краеведческим сайтом на Joomla 1.5 выглядела примерно так (с трудом нашёл этот скрин в переписке)

Управление краеведческим сайтом превратилось в моё хобби. В основном я действовал как контент-менеджер: получал статью, редактировал её, верстал с помощью визуального редактора «Джумлы», публиковал. Визуальный редактор был далёк от идеала, поэтому иногда приходилось залезать в HTML-код статей, чтобы исправить ошибки в оформлении. Параллельно я изучал панель управления и тем самым углублялся в устройство сайта: стал понимать, что существует шаблон, что есть модули и плагины, что они написаны на одном из языков программирования, что тексты статей хранятся в базе данных и что всё это вместе размещено на хостинге. Я теоретически слышал об этих вещах и раньше, но работа над сайтом позволила «потрогать» их на практике.

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

Глава 4. Как я не выбрал айти

К вузу я подходил с хорошими показателями. Я учился в одной из лучших школ города и учился едва ли не лучше всех. У меня в кармане было три диплома Всероссийской олимпиады школьников (известной также как Всерос): один по праву, два по географии. Дипломы открывали дорогу в любой российский вуз без экзаменов, так что пока другим учителя капали на мозги по поводу ужасающего ЕГЭ, я мог относительно спокойно заниматься чем душе угодно. Душе моей было угодно продолжать жить примерно так же, как раньше, то есть учиться, участвовать в олимпиадах, интеллектуальных играх, копаться в Линуксе, читать компьютерные и научно-популярные журналы, писать статьи. В отличие от одноклассников, которые провели год в стрессе и недосыпе, я мог не переживать по поводу оценок и проходных баллов и не зацикливаться на тех предметах, которые кровь из носу нужны для поступления. Так что единственным поводом для беспокойства было только будущее после школы, которое надвигалось со скоростью примерно 81400 секунд в сутки.

У меня были широкие возможности, но из-за этого проблема выбора стояла передо мной в полный рост. Выбирать не очень хотелось: школа была привычным и комфортным местом, а вуз — пугающей неизвестностью, овеянной невесёлыми слухами. Вариантов поступления было много, но основные крутились вокруг права или географии: эти два предмета мне нравились, по ним у меня была льгота. Вариант «не поступать никуда» я рассматривал, так как слышал про gap year, но быстро отклонял: мне казалось, что неправильно бездельничать после школы даже год, а найти себе иное занятие, помимо учёбы, я не мог и не очень хотел. Сейчас я думаю, что столкнулся тогда с проблемой, типичной для разносторонних отличников: им слишком нравится учебная деятельность, из-за чего сложно переключиться на профессиональное развитие. Я вряд ли понимал разницу между школьным предметом и профессией, хотя и знал о ней, и в результате выбирал именно школьный предмет, который хочу изучать углублённо, а не работу, которой собираюсь заниматься.

Информатика тоже мелькала среди вариантов, но отвергалась ещё быстрее, чем «не поступать». Сейчас самому не верится, но факт остаётся фактом: родители предлагали сдать информатику и податься на техническую специальность, но я не рискнул даже попробовать. Информатика у меня упорно ассоциировалась с алгоритмическими задачами олимпиадного уровня и с кодом на загадочном C. Я понимал, что сравнительно неплохо разбираюсь в компьютерах, но был убеждён, что мой потолок — «продвинутый пользователь», а подлинное айти, то есть программирование, для меня недостижимо. Может быть, проблема отчасти была в том, что информатику в школе вели слабовато: максимум, что мы делали — это писали учебный код на учебных языках программирования. Это помогало понять базовые концепции наподобие переменных, ветвлений и циклов, но оставляло ощущение игрушечности происходящего. Мне казалось, что между «детским садом» на уроках и реальным миром айти находится непреодолимая пропасть, размер которой становился ясен, стоило только открыть исходный код главной страницы «ВКонтакта» и сравнить с опусами, которые набирались на уроках на чистом HTML без стилей.

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

Глава 5. Как я правил стили на проде

Однажды я в очередной раз заглянул на краеведческий сайт своего знакомого и увидел, что главная страница изменилась: была приветственная информация — стал список новых материалов. Я поинтересовался, как технически реализован этот список — оказалось, что он делается вручную. Этот подход показался мне издевательством над здравым программистским смыслом, ведь всё, что может быть автоматизировано, должно быть автоматизировано. Со мной согласились, но сказали, что автоматически формируемая лента новых статей выглядит ужасно. Я ответил, что попробую сделать её красивой.

Итак, задачу перед собой я поставил — оставалось выполнить её. Навыков было немного: чуть-чуть HTML, отдалённое представление о CSS. Я начал смотреть исходный код страницы и вскоре понял, что за оформление отвечают несколько файлов со стилями, которые находятся на сервере — я мог их скачать, отредактировать и загрузить обратно. В файлах со стилями было мало что понятно, но я нашёл сайт htmlbook.ru с описанием свойств CSS и пошаговыми инструкциями и попытался их применить: менял пару строк, загружал файл на сервер, обновлял страницу, смотрел, как она теперь выглядит. Это было медленно и неудобно, но вскоре я узнал, что в браузере существуют инструменты разработчика, с помощью которых можно редактировать стили страницы «на лету» — они существенно упростили работу, ведь я мог сразу видеть результат своих правок в коде, и спасли посетителей сайта от наблюдения всех промежуточных этапов моих трудов.

Примерно так выглядел результат моих работ: модуль «Новости Урала» в три колонки и список новых статей
Примерно так выглядел результат моих работ: модуль «Новости Урала» в три колонки и список новых статей

Путём многочисленных проб и ошибок, после долгого поиска в интернете и чтения инструкций и советов я смог улучшить оформление списка новых статей: убрал маркеры, увеличил заголовки и передвинул их налево (не спрашивайте, зачем: не помню), поместил картинку рядом с текстом. Заодно поработал с модулем новостей: сделал подобие карточек в три колонки. По нынешним меркам выглядит посредственно, но тогда смотрелось неплохо. Я был доволен собой, владелец сайта — мной.

Глава 6. ИТЮДы правовой информатики

ИТЮД — это сокращённое название любимого (нет) предмета юристов-первокурсников, который называется «информационные технологии в юридической деятельности». Может показаться, что он про справочно-правовые системы наподобие «КонсультантаПлюс» и «Гаранта», но на самом деле куда шире. Учебник начинался с рассуждений о том, что есть информация и с попыток дать такое определение этого понятия, которое устроило бы не программистов, а юристов. Дальше там говорилось об информационном обществе, СМИ, государственной политике в сфере информации, электронном правительстве и информационной безопасности, после чего следовал раздел о правовой информатике — грубо говоря, прикладных аспектах айти в государственной деятельности и в юриспруденции, включая pravo.gov.ru и regulation.gov.ru, СПС, ЕСИА, ЭП, АСОЗД и прочие аббревиатуры. Словом, кошмар для тех, кто мечтал спастись в гуманитарном вузе от информатики, но довольно занимательное чтение для человека, который до сих пор не знает, лирик он или физик. Вёлся ИТЮД занудно (примерно как Hello World Enterprise Edition), но если продраться сквозь типичный для юридического вуза канцелярит, то можно узнать много нового. Одногруппники удивлялись моей неожиданной любви к айтишным аспектам права, а я в ответ загадочно улыбался, возвращался в общежитие, включал ноутбук с Линуксом и шёл читать очередную стратегию развития информационного общества.

Слайд одной из наших лекций по ИТЮДу. Так я впервые узнал о том, что термин «энтропия» — это не только что-то там про термодинамику и тепловую смерть Вселенной, но и про информатику. Потом в дата-сайенсе пригодилось
Слайд одной из наших лекций по ИТЮДу. Так я впервые узнал о том, что термин «энтропия» — это не только что-то там про термодинамику и тепловую смерть Вселенной, но и про информатику. Потом в дата-сайенсе пригодилось

Помимо ИТЮДа у нас были правовые информационные системы и информационное право. Отдельные сцепки права и технологий встречались в криминалистике и в праве интеллектуальной собственности. Правовые информационные системы вспоминаются мне как соревнование по скоростному поиску в «Гаранте», а вот остальные предметы заставляли напрячь мозг. Как линуксоиду, мне особенно нравились вопросы, связанные с открытым кодом, свободным программным обеспечением, открытыми лицензиями. Помнится, что я специально нашёл и полностью прочитал толстую научную книгу «Право интеллектуальной собственности в цифровую эпоху» — довольно многоаспектный и глубокий текст на стыке права, айти и философии. Первое время я был полон надежд сломать копирайт на серьёзном научном уровне, но потом отошёл от революционности и стал рассуждать в более традиционной манере, хотя склонность к относительному либерализму сохранил.

Не стоит думать, что из правоведения мне нравились исключительно айтишные моменты — напротив, учился я хорошо, одногруппники считали меня безусловным авторитетом, почти все преподаватели уважали. В течение нескольких лет я считал, что юриспруденция — это моя настоящая профессия, а айти — хобби. Время от времени я думал соединить их в рамках лигалтеха — например, устроиться в тот же «Гарант» — но оказалось, что в такие компании нужен либо строго айтишник, либо строго юрист, а комбинированный специалист им обычно не интересен. Задействовать технические знания для задач из правовой сферы мне в итоге удалось, но в рамках науки, а не практики.

Глава 7. Head First в веб-разработку

Летом 2014 года, после первого курса бакалавриата, я вернулся к работе над краеведческим сайтом. К тому времени стало очевидно, что сайт требует модернизации: версия «Джумлы» устарела (у нас была 1.5, а после неё вышли 1.6, 1.7, 2.5 и 3.0), дизайн был хорош для нулевых годов, но не для десятых, адаптации под мобильные устройства не было, в панели управления расплодились баги, а многие ключевые возможности были реализованы через неудобные сторонние расширения. Словом, вопрос «обновлять или не обновлять» не стоял — вопрос был в том, кто этим займётся. Вызвался я: возможно, ИТЮД вдохновил, и захотелось погрузиться в настоящее айти, а может быть, остро требовалось разгрузить голову от тонн юриспруденции, которые в неё набивались на протяжении предыдущих десяти месяцев.

Может показаться, что обновить сайт легко, но было несколько нюансов, которые усложняли жизнь. Во-первых, «Джумла» не предусматривала автоматический переход с версии 1.5 на 3.0 — по сути надо было создать новый сайт, перенеся туда данные со старого. Во-вторых, требовались новый дизайн и новый шаблон. В-третьих, для полноценной работы необходимо было знать пять базовых вещей: HTML, CSS, PHP, MySQL, JavaScript — я ни знал ничего, если не считать общего представления об HTML и прошлогоднего копания в CSS. В-четвёртых, времени было в обрез: два месяца летних каникул, пока я снова не погрузился в мир кодексов и судебных решений. Словом, не задача, а сверхзадача: за два месяца выучить и сделать всё.

Я начал с HTML и CSS, потому что они казались более простыми и потому что было понятно: не справлюсь с ними — браться за программирование нет смысла. Почти все учебники выглядели как инструкция к самолёту если не по объективной сложности, то по сухости и скучности изложения. К счастью, мне порекомендовали книгу Head First HTML&CSS, которая оказалось на удивление увлекательно написана — я прочитал все 700 страниц за неделю и смог набросать четыре варианта шаблона обновлённого сайта, один из которых после многочисленных доработок был воплощён в реальность. Вслед за HTML+CSS я перешёл к учебнику по PHP+MySQL из той же серии. Он был древним (оригинал на английском вышел в 2008 году), но разобраться в основах помог. От изучения JavaScript решил отказаться: времени не было, а интерактивность на сайте не требовалась. Потом я начал читать документацию к «Джумле», узнал про Bootstrap, который использовался в шаблоне, и стал читать про него. После теории начались вечерние попытки настроить локальный веб-сервер и установить «Джумлу» хотя бы на нём, копание в базе данных старого сайта в поисках того, что нужно перенести, написание самодельных PHP-скриптов для копирования данных, многочисленные пробы, ошибки, исправления ошибок. Новый сайт мы запустили в начале сентября. Он был далёк от идеала, но работал, выглядел лучше старого, и на нём была вся важная информация со старого. Я снова был доволен собой, владелец сайта — мной.

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

Оглядываясь назад, я думаю, что попытка была очень дерзкая и самонадеянная, а технические решения далеки от оптимальных: самодельные скрипты для копирования данных напрямую из одной базы в другую я бы сейчас безжалостно раскритиковал. Тем не менее, результат был достигнут. Мне кажется, что в успехе мероприятия огромную роль сыграли разработчики «Джумлы»: они заложили в систему достаточный запас прочности, чтобы я своими не очень ровными руками не смог ничего серьёзно поломать. Существенные недостатки работы свелись к одному некритичному багу, который я исправил спустя пару лет.

После создания новой версии сайта я продолжил его сопровождение, время от времени делая мелкие доработки. Летом следующего года я «добил» JavaScript (тоже по Head First) и смог при необходимости добавлять интерактивные элементы или обработчики для аналитики. Параллельно изучал код «Джумлы» и тем самым учился читать код как таковой и находить в нём ответы на возникающие вопросы о том, как реализовать тот или иной функционал. Когда понадобилось написать несложное расширение для сайта, узнал о существовании API и документации к нему. Сайт в технической части превратился в мой пет-проект, помогал мне не забывать айти и открывать новое, и остаётся пет-проектом по сей день.

Глава 8. Статистический уклон

В 2017 году я закончил юридический бакалавриат и поступил сразу в две магистратуры: по праву и по экологии. Юриспруденция была продолжением и завершением бакалавриата, а экология — попыткой открыть новую предметную область и оживить свой интерес к естественным наукам. Было ли это разумно — не уверен, было ли тяжело — да, интересно — да, рекомендую ли поступать так же — только если вы хорошо понимаете, на что подписываетесь. Акцентирую внимание на этом факте, чтобы показать: я по-прежнему считал, что айти — это хобби, и хотел профессионально развиваться в других направлениях. Я уже начал сомневаться в том, что работа юристом — это моё, но выход видел не в техническом, а в естественнонаучном направлении. Но вышло так, что именно экология помогла мне проложить дорожку в айти.

Юриспруденция сравнительно отдалена от технологий: типичный юрист работает с компьютером как пользователь. Экология, особенно научная, ориентирована на работу с данными, поэтому нас учили статистике. На первом занятии выяснилось, что экологи обычно используют один из двух инструментов: либо программу STATISTICA, либо язык программирования R. Первая — платная и под Windows, зато относительно простая в использовании. Второй — бесплатный и под что угодно, но сложный. Подумав, я решил, что раз пользуюсь Линуксом, люблю свободный софт и брошенные самому себе вызовы, то освою R. Я рассчитывал, что раз PHP и JavaScript хотя бы немного осилил, то и с третьим языком справлюсь — и действительно справился. Сначала я использовал графический интерфейс к R, но потом освоился и стал писать код самостоятельно. Одногруппники и значительная часть преподавателей, наверное, смотрели на меня как на волшебника: среди них почти никто не умел работать с R.

Так выглядит мой проект с обработкой спутниковых данных для магистерской в QGIS
Так выглядит мой проект с обработкой спутниковых данных для магистерской в QGIS

Вклад экологии в моё айтишное развитие не ограничился одним лишь языком R. Моя магистерская была посвящена использованию спутниковых снимков для мониторинга состояния растительности и моделирования реакции растений на загрязнение, поэтому я поработал и с геоинформационными системами, и с американскими геопорталами, и с данными европейских спутников, и со статистическими моделями. Заодно мне пришлось много читать по-английски, и я понял, что огромное количество технической информации следует искать именно на этом языке. С точки зрения обработки и анализа данных у меня вышла одна из сильнейших диссертаций в группе — это отчасти компенсировало её относительную простоту в строго научном смысле. Таким образом, к конце обучения в двух магистратурах мои технические навыки существенно выросли, несмотря на то что ни одно из двух полученных образований не были техническим. Некоторыми полученными знаниями я спустя год после завершения магистратуры поделился в своей первой статье на Хабре.

Глава 9. Будни техподдержки

Куда идёт работать человек с двумя дипломами магистра? Правильно, в техподдержку. Вскоре после завершения учёбы я устроился на должность «менеджера по коммуникациям с пользователями» в небольшую, но хорошо известную хабраюзерам компанию. Попал на эту работу я почти случайно: зашёл на «Мой круг» (ныне известный как Хабр.Карьера), так как подумал, что там могут найтись вакансии из лигалтеха, и увидел предложение о работе в службе поддержки. Зарплата по меркам айти небольшая, но для моего города и для старта карьеры неплохая, работа удалённая — огромный плюс, название компании вызывает положительные ассоциации, от кандидата ждут хорошее понимание информационного права и технический кругозор. Я откликнулся наудачу, удивился, получив тестовое задание, ещё больше удивился, когда меня позвали на собеседование, и окончательно удивился, когда меня взяли. Поначалу мне казалось, что работа в техподдержке — это недоразумение, и скоро я найду более достойный вариант, либо не справлюсь и уйду, либо меня уволят, но время шло, я справлялся, испытательный срок успешно закончился раньше времени, а вялые поиски «более достойных» альтернатив приводили к мысли о том, что ничего другого мне не нужно. К концу года я чувствовал себя на айтишной должности весьма комфортно, а вскоре после этого началась пандемия, и оказалось, что удалёнка и айти имеют много преимуществ, о которых я раньше не задумывался.

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

На первой работе были и такие любопытные моменты, как предновогодний онлайн-корпоратив в конце 2020 года, когда цифровые аватары всех сотрудников собрались для общего скриншота у камина. Реальные фотографии я заменил на эмодзи, чтобы не выдавать личные данные
На первой работе были и такие любопытные моменты, как предновогодний онлайн-корпоратив в конце 2020 года, когда цифровые аватары всех сотрудников собрались для общего скриншота у камина. Реальные фотографии я заменил на эмодзи, чтобы не выдавать личные данные

Работа в техподдержке была как у диспетчера: важно оставаться начеку, но при этом есть время, когда ничего не происходит — значит, можно заниматься своими делами. Я стал смотреть онлайн-курсы, часть из которых была про айти, и понял, что такой формат учёбы мне нравится даже больше, чем традиционная очная форма. Кроме того, мне были интересны исследования, поэтому я стал писать научные статьи по праву и экологии, которые опирались на анализ данных и статистику. Весной 2020 года произошло знаковое событие: я зарегистрировался на GitHub. Наверное, именно тогда я впервые подумал о себе как о разработчике. Впрочем, больше я склонялся к обработке и анализу данных — с учётом опыта научной деятельности эта сфера деятельности казалась мне более подходящей. Примерно через год работы в техподдержке я понял, что надо развиваться дальше, и мысли устремились в сторону аналитики.

Глава 10. Аналитический взгляд

Аналитика — широкая профессиональная область с нечёткими границами. Пытаясь найти работу в этой сфере, я поначалу смотрел очень разные вакансии: и бизнес-аналитиков, и системных аналитиков, и продуктовых аналитиков, и аналитиков данных, и дата-сайентистов, и дата-инженеров, и даже спортивных или финансовых аналитиков. Меня интересовало всё, что хоть как-то связано с анализом данных и куда меня при этом могли бы взять исходя из образования и навыков. Отклики на вакансии обычно уходили в тишину, и это удручало, а редкие неудачные собеседования разочаровывали. Несмотря на это, после каждого цикла неудач я начинал новый этап поисков, учитывая ошибки предыдущего. Я продолжал проходить онлайн-курсы и дошёл до основ дата-сайенса, поэтому мой теоретический уровень мало-помалу рос.

Так выглядел список моих откликов на «Хедхантере» во время поиска работы. Единственное приглашение на этом скрине вылилось в три раунда собеседований и отказ
Так выглядел список моих откликов на «Хедхантере» во время поиска работы. Единственное приглашение на этом скрине вылилось в три раунда собеседований и отказ

В приоритете у меня был либо лигалтех, либо геоинформатика с экологией и связанная с ними аналитика, но это довольно узкий сектор, вакансий в котором немного, особенно для новичка без профильного образования и опыта. В итоге я сперва попал по совместительству в небольшую фирму, делающую исследования в сфере электронной коммерции. Первый опыт в качестве аналитика вышел неудачным: оказалось, что онлайн-торговля мне не слишком интересна и понятна, поэтому выполнять задачи вида «составить список из 300 онлайн-магазинов, продающих товар X» сложно и скучно. Задачи при этом сыпались как из рога изобилия и параллельно с основной работой, а зарплата была маленькая. За полтора месяца я чуть не выгорел и с облегчением оставил ту работу.

Я продолжил поиски, и полгода спустя мне крупно повезло: меня взяли в частный аналитический центр, делающий исследования в рамках «доказательной политики». Первоначально я откликался на вакансию дата-инженера, но не прошёл. Тем не менее, моя заинтересованность была настолько очевидна во время собеседования, что мне предложили должность дата-аналитика в смежной команде. Сперва мы договорились на неполный день, чтобы решить вопрос с предыдущим местом работы, а три месяца спустя я перешёл на новое место окончательно. Я помогал готовить наборы данных: обычно их надо было раздобыть на государственном сайте, понять, откуда они взялись и какую пользу могут принести, после чего обработать так, чтобы они стали пригодны для исследования. В работе сочетались и моя любовь ко всему свободно-открытому, и мои знания государственно-юридического, и мои аналитические способности, и умение писать код. Даже тематические области оказались в точку: я занимался в основном данными по экологии и пространственному развитию. Словом, это была почти что работа мечты, и я надеялся задержаться на этом месте хотя бы на пару лет.

К сожалению, в начале 2022 года всё изменилось. По официальной версии, у центра закончились деньги, но мне до сих пор кажется, что руководству «вежливо порекомендовали» уменьшить активность. Мне, как и многим другим сотрудникам, предложили перейти в айтишное госучреждение, подведомственное Минцифры. Я отказался: не люблю госсектор, да и обещания отчётности и переработок меня настораживали.

Глава 11. Master of Data Science

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

Тратить четыре года и много денег на бакалавриат я не был готов, тем более что пришлось бы учиться, скорее всего, в офлайне, а я настолько полюбил онлайн-образование, что ни в коем случае не хотел от него отказываться. Некоторое время я смотрел в сторону платных онлайн-професссий и специализаций от различных айтишных школ, но пришёл к выводу, что они дают не больше, чем бесплатные онлайн-курсы. Соответственно, магистратура становилась единственным приемлемым вариантом. К лету 2021 года — именно тогда я озадачился айтишным образованием — университеты уже предлагали полностью онлайновые программы, так что всё упиралось во время, деньги и интеллектуальные возможности. Я рассмотрел несколько вариантов, включая иностранные, сдал вступительные экзамены в магистратуры двух российских университетов и в итоге оказался на онлайн-программе Master of Data Science от Вышки. Она выглядела наиболее подходящим отечественным вариантом: полностью на английском — языке must have для айтишника, один из лучших вузов по компьютерным наукам, ведётся на Coursera, адаптирована для тех, у кого непрофильный бакалавриат. По цене — дороже на фоне других, но, как мне казалось, обоснованно. По сложности поступления — не очень трудно: экзамен на уровне профильного ЕГЭ, и я почти без подготовки сдал этот экзамен на достаточные 65 баллов.

Реальность, к сожалению, частично разошлась с ожиданиями. Отчасти повлияли внешние обстоятельства: после 24.02 Вышку убрали с Coursera, и вместо онлайн-курсов на известнейшей международной платформе мы получили собранную на коленке учебную систему самой Вышки и зоопарк телеграм-чатов как средство коммуникации. Репутация вуза стала падать отчасти из-за действий администрации, отчасти из-за оттока преподавателей. Качество курсов как таковых оказалось 50/50: были прекрасные, были плохо сделанные. Последние полгода оказались очень тяжёлыми: нужно было написать магистерскую и параллельно пройти ещё четыре предмета. Словом, стоимость учёбы мне теперь кажется завышенной, и не исключено, что сейчас я выбрал бы другую магистратуру. Впрочем, обучение на иностранном языке оказалось замечательной идеей: теперь я гораздо лучше понимаю технический английский, а магистерская стала моим первым большим текстом на этом языке.

Учиться на «Курсере» было довольно приятно. Заскринил один из наиболее понравившихся мне курсов первого года — теорию вероятности. К сожалению, второй год прошёл на другой платформе, впечатления от которой были хуже
Учиться на «Курсере» было довольно приятно. Заскринил один из наиболее понравившихся мне курсов первого года — теорию вероятности. К сожалению, второй год прошёл на другой платформе, впечатления от которой были хуже

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

Время от времени я также участвовал в хакатонах. Впервые я попробовал свои силы на «Лидерах цифровой трансформации» в 2021 году: мне понравилась задача про загрязнение воздуха, я собрал команду из коллег, и мы заняли третье место — не призовое, но достойное с учётом того, с каким трудом оно нам далось. После него было ещё несколько подобных соревнований в составе разных команд — на одном из них мы даже получили приз. Каждый хакатон становился серьёзным испытанием, но каждый заметно расширил моё представление о собственных возможностях: когда за короткий срок делаешь прототип полноценного приложения и в экспресс-режиме осваиваешь несколько новых технологий, начинаешь гораздо больше верить в свои силы и становится куда проще делать обычные задачи в спокойном режиме.

Глава 12. The Long and Winding Road

Моя дорога в айти оказалась извилистой и без нужды переусложнённой. Наверное, канонический путь «школа — технический вуз — работа по специальности» занял бы меньше времени и привёл бы к лучшим результатам. Впрочем, я не очень сожалею, что моя профессиональная траектория получилась именно такая: право и экология были достаточно интересными и полезными, варианты работы — разнообразными и обычно приятными, а само по себе айти было не исходной целью, а сопутствующим увлечением, которое сделалось профессией. Впрочем, по сей день я считаю себя не столько программистом или разработчиком «по натуре», сколько специалистом, умеющим использовать айти для решения привлекающих моё внимание задач.

По-моему, эта картинка идеально иллюстрирует мой путь в айти. Оригинал на monkeyuser.com
По-моему, эта картинка идеально иллюстрирует мой путь в айти. Оригинал на monkeyuser.com

Какие выводы я могу сделать из своего пути в айти? Их несколько.

  1. «В айти» — это не легко и быстро. Да, порог входа низкий: базовые вещи реально освоить за полгода. Тем не менее, полноценное становление как профессионала хотя бы начального уровня требует много сил и времени.

  2. Айти разнообразно. Можно войти с простого, а потом развиться — так проще, чем сразу начинать со сложного. Впрочем, усилия все равно нужны.

  3. Начать можно с онлайн-курсов, обучающих видео, книг, тренажёров и других бесплатных обучающих материалов. Такое самообразование поможет быстро понять, что вам интересно, что получается. Вероятно, его будет достаточно и для того, чтобы найти первую работу. Понадобится ли в какой-то момент профильное образование — не знаю. Мне оно потребовалось, и кажется, что без него в айти вас ждёт «стеклянный потолок». К счастью, получить полноценный диплом можно в онлайне.

  4. «Гуманитарий» — не приговор, но нужно аккуратно оценивать свои склонности и способности. Попробуйте вспомнить, нравилось ли вам когда-либо что-нибудь, связанное с техникой, конструированием, изобретениями, вычислениями, логикой? Пробовали мыслить не как пользователь, а как разработчик? Если да, то шансы в айти есть. Если же вас интересуют только деньги или модная профессия, но техника и математика — не ваше, то основные айтишные профессии вряд ли подойдут. Впрочем, есть смежные айтишные области: дизайн, менеджмент, клиентский сервис.

  5. Любой околоайтишный опыт вам поможет. Пробовали настроить компьютер сами? Хорошо! Делали сайт? Здорово! Верстали курсовую на латехе? Подойдёт! Изучали правовые информационные системы? Неплохо! Разговаривали с чатГПТ? Это уже лучше, чем ничего! Айти сейчас почти везде, поэтому какие-то связи с ним у вас наверняка найдутся. Дальше можно их расширять.

  6. Искать работу будет сложно. Возможно, придётся сменить не одну. Какие-то будут более удачными, какие-то — менее. Вас вряд ли возьмут сразу. Сказочных зарплат тоже не будет, но неплохие могут быть. Не все айтишные компании одинаковые — есть «галеры», на которых тяжело. Если вам не везёт, то уходите и пробуйте ещё раз.

  7. Пет-проекты, хакатоны и другие подобные возможности для саморазвития — это важно и круто.

  8. Чем дольше вы не в айти, тем сложнее войти в айти. Но все равно возможно.

  9. Знание предметной области — это ваша сильная сторона, которую нужно ценить.

  10. Английский язык важен.

  11. Искренняя заинтересованность и горящие глаза заметны со стороны и могут помочь.

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

Кажется, что 20 лет — это много, но мой путь в айти в каком-то смысле только начался: я только-только получил работу на полноценной «разработческой» должности, недавно выпустился из вуза и пока ещё преимущественно джун. Надеюсь, всё впереди.

Комментарии (17)


  1. lizergil
    15.09.2023 10:50

    А как выйти из айти?


    1. AshBlade
      15.09.2023 10:50
      -2

      Так же как и из Омска - никак


    1. Leetc0deMonkey
      15.09.2023 10:50
      -4

      Ну выйти не проблема. Вопрос куда и как. А работать над этим конечно надо уже начинать. Ситуация в айти тревожная, перспективы вяленькие.


      1. lizergil
        15.09.2023 10:50
        +2

        В той части, которую вы называете "айти", наверное, да.


      1. AVX
        15.09.2023 10:50

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

        Тут вот у меня осталась куча оборудования, всяких самодельных приспособлений, запчастей и прочего добра, которое при работе постоянно использовалось, по мере надобности обновлялось, запчасти расходовались и закупались. И бросить - получалась весомая потеря в финансовом смысле, ведь это всё покупалось.

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

        Так что выйти из айти не проблема, вопрос больше психологический, оно опять зовëт в свои ряды.


        1. Taywox
          15.09.2023 10:50

          Так Ты и не вышел из IT если ушёл в сисадмины!

          Тут наверно немного неправильно ставиться сама формулировка войти в IT, там специальностей куча и это не только прогеры.

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


  1. emerald_isle
    15.09.2023 10:50
    +8

    Впрочем, спустя какое-то время я обратил внимание на «Сапёра» и «Пинбол» из стандартного комплекта Windows XP (олды тут?),

    Олды играли в Поле Чудес под ДОС.


    1. souls_arch
      15.09.2023 10:50

      Олды писали свое поле чудес ;)


  1. cahbeua
    15.09.2023 10:50

    Чёт повеяло рассказам нелёгкого пути Тимати в рэп. Ну или история как сложно быть дочкой мэра Питера. Победитель олимпиад рассказывает как ковырять ойти, не цепляет.


  1. Lekcheto
    15.09.2023 10:50

    В длинных статьях мы читаем только выводы.


  1. Spinoza0
    15.09.2023 10:50
    +1

    Любопытное чтиво, удачи! )


  1. Frevv
    15.09.2023 10:50
    +2

    Я в ИТ с самого начала.

    Колледж, поступил в 2002 году - ИТ профессия. ВУЗ 2006 год - ИТ профессия. Первая работа в ИТ и все остальные 15 лет только ИТ. И могу сказать что долой. Это классная область, наука, много интересного. Но лучше как хобби. Во что превратили люди это - ад. Именно подход, менеджмент, лишний контроль, абстрактные малозначимые вещи которые придумали чтобы показать свою важность.

    Ну и код писать по 8 часов в день с пяток лет подряд каждый день это нудно. Причём не стоит забывать, что это как работа грузчиком, только умом. Вечное обучение - причём в огромный объёмах и все это завтра уже не нужно будет. И ради чего? Ради того что нужно не тебе, а компании. Прожигая остатки жизни за работой.

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

    Сейчас вообще работаю только летом, сезонная работа связанная с активным отдыхом. Больше года не работаю в ИТ.


    1. Ravager
      15.09.2023 10:50

      Подскажите кем работаете? А то тут многие мечтают выйти.


    1. RgDryh4dg
      15.09.2023 10:50

      Как семья воспринимает такой рабочий график?


  1. souls_arch
    15.09.2023 10:50
    -2

    2-3 года не знал, что делать с компом? Какой ты наф айтишник?! Иди отсюда, товарищ, и имя тебе, дай бог ЧатГПТ. Не дай бог сам статью вымучал. Хотя АНАЛитики то вполне могут сие.


  1. Anarchist
    15.09.2023 10:50
    +2

    С поправками на технологии - моя стори. Только я начал свой путь школьником в 1986 году... Спасибо!


  1. VicusyaV
    15.09.2023 10:50
    +1

    Спасибо автору за хорошую статью! За то, что статья правдива. Чувствуется, что написана на основании большого жизненного опыта. Во многих моментах и выводах перекликается с моей историей ;) Прочитала с большим интересом :)