Привет, меня зовут Алексей, и это история о том, как я стал программистом.
Первое знакомство с компьютером у меня случилось в году примерно 1996, когда отец принес домой x286 ящик с монохромным дисплеем и дискетами на 5.25 дюйма. В комплекте была книжка «Dos для чайников». Сейчас, полагаю, новички разбалованы всякими интерфейсами, и мне интересно, что они испытывают, когда впервые узнают, что такое «консоль»? А в то время для меня существовала только консоль, тогда же я впервые изучил простые команды типа cd
, format c:
. Вместо проводника был Volkov commander, вместо Word - Lexicon и матричный принтер, с бесшумной, как сосед с перфоратором, печатной головкой, но с жутко пачкающейся лентой, когда её нужно было заправлять чернилами или менять на новую. И даже имелась игрушка Commander Keen I. В общем, как говорится: «олды поймут».
Тогда мне было 11-12 лет, включать компьютер можно было только при отце, и, в основном, он либо правил документы, либо играл, — и иногда мне перепадало порубиться. В то время это было диковинкой, помню даже монитор накрывали особой салфеткой, как и телевизор, чтобы не пылился, все это создавало какое-то особое отношение к технике и трепет, который в итоге вылился в интерес.
Я зачитывался всем, что попадалось мне про компьютеры — книги, журналы. Смотрел передачи «Pro компьютер» и «Ночной странник», которые снимались при поддержке компании «Микробит», в которой я даже в последствии поработал. В 2001 году отец купил Celeron 400mHz, и жизнь заиграла новыми красками с Windows 98 — правда часто краска была синего цвета экрана смерти.
Первый опыт кодинга был в 10 классе, когда стали изучать Turbo Pascal. По информатике я, конечно, был первым в классе, даже умудрился поставить на комп классного руководителя первую XP, как только она появилась в «лицензионной» продаже ;). У всех знакомых естественно я был «тыж программистом» со всеми вытекающими. В то же время мы с отцом решили, что я буду поступать на прогера в политех. Но судьба распорядилась иначе, для поступления не хватило пары баллов, и, чтобы не уйти в армию, я поступил в колледж телекоммуникации им. Кренкеля(он же Бонч-Бруевича).
Проучившись там всего полтора года, я его успешно забросил, потому что мне тупо стало скучно. Программирование сначала у нас вел реально работающий программер, но он в итоге уволился, а вместо него предмет скинули на математичку, которая этим никогда раньше не занималась, и я потерял смысл своего присутствия там. После этого я сходил в армию, где меня через пару месяцев комиссовали — оказался не такой крепкий желудок, для переваривания армейского бигуса.
На какое-то время программирование покинуло мою жизнь. Я ударился в карьеру, поработал продавцом книг в сети «Буквоед», дорос до и.о. управляющего магазином, и уволился — это было лето 2008 года. Случайно я оказался в гостях у друга с ночевкой, и возвращаясь от него домой, увидел по дороге тот самый магазин «Микробит». Я подумал, что это знак, пошёл в интернет смотреть вакансии — оказалось, что им требуются продавцы. Меня взяли практически сразу: помогли знания устройства компьютера, полученные самостоятельно в книгах и в колледже. Через три месяца я был одним из лучших продавцов. Ещё через месяц случился кризис 2008 года, ноутбуки — вместе с курсом — выросли в цене на треть, а продажи просели в два раза. Так я понял, что нужно двигать дальше — и благодаря моим успехам в продажах меня взяли в офис, на продажи по телефону.
Упомяну несколько важных вещей, которые я вынес в «походе за карьерой» — это быть полезным (решать проблемы), делать больше, чем от тебя ожидают, и, конечно, брать на себя ответственность. Таким образом тебя замечает начальство, и начинает давать тебе более интересные задачи, а если у тебя есть видение и план, ты можешь предложить и возглавить новое направление. Таким образом я со временем стал директором интернет-магазина, и в последствии директором по маркетингу.
Читайте и другие истории успеха: Бросить высокооплачиваемую работу в рекламе, за 3 месяца стать программистом и переехать в деревню.
Долгая получается подводка к Хекслету, но как есть... На дворе конец 2011 год, не оправившись от кризиса 2008 года из-за долгов, компания «Микробит» заканчивает свое существование, и я ухожу в неопределённость. Новый 2012 год: я собираю кухонные гарнитуры с отцом и думаю, чем бы заниматься в итоге. В один из январских вечеров я решаю выйти на улицу и гулять до тех пор, пока в голове не вызреет план того, что делать дальше — с тех пор эта практика вошла в мою жизнь, можно назвать её динамической медитацией, ведь на ходу как-то всегда легче думается. В тот раз я пришёл к выводу, что мне интересна реклама и программирование, и я хотел бы развиваться в этих направлениях. При этом сразу же я не приступил к реализации этих планов, а сначала устроился к знакомым тур-агентом, пытался продавать туры, параллельно чистил сайт самого турагентства на Joomla! от вредоносов — было весело.
Продажи туров не пошли, и я сменил ещё пару мест работы. Пробовал даже торговать корабельным оборудованием в какой-то фирме, где начальник был помешан на сайентологах, но меня не взяли, сейчас думаю что слава Богу. Продавал оптом планшеты 3Q — китайскую дичь, хотя было пару интересных версий. Пока осенью 2012 года не наткнулся на объявление во «ВКонтакте», что «требуется помощник по контекстной рекламе». У меня были начальные знания по контексту с работы в «Микробите», и этого хватило, чтобы начать новую жизнь — тогда я впервые начал работать на удаленке, и у меня появилось время для изучения программирования. Тогда я просто смотрел видосы от «специалиста при Баумане» по Java. Хотя на Java я в итоге не кодил — мне это помогло написать свой первый скрипт на C# для управления ставками в Яндекс.Директе через API.
Партнерство по контексту не раскрутилось, и я устроился в рекламное агентство, где повысил свой скилл. Как показала практика, удаленка — это хорошо и удобно, но растёшь намного быстрее в команде, где есть люди на голову-две выше тебя по опыту и знаниям. Проработав полгода, я наткнулся в интернете на человека, который рассказывал про арбитраж трафика — тогда я понял, что смогу этим заниматься, учитывая свой опыт в рекламе.
Арбитраж трафика — это поиск работающих связок лэндинг-рекламный источник. На определённом этапе в этом процессе возникает необходимость в автоматизировании определенных действий. Так я вновь вернулся к необходимости более глубоко изучать программирование — прошёл курсы от одного фрилансера, а через некоторое время от LoftSchool по PHP. И, наконец, сделал свой первый продукт для внутренней статистики на Laravel, тогда еще 5.4 если не ошибаюсь — это был уже 2016 год. Летом мой партнер прислал мне видос, в котором я мало что понял, но смеялся как не в себя. Александр Соловьев рассказывал про функциональное программирование и очень необычный язык Clojure — тогда я понял, что обязательно буду на нём программировать, но, как вы уже наверно догадались, сразу я программировать на нём я не стал, но начал читать книжку по Clojure, и наткнулся на стрим Хекслета с Рахимом и Кириллом. В нём они они рассказывали о вещах, о которых я нигде до этого не слышал — хотя они были фундаментальные и сильно перекликались с принципами, которые я только начал улавливать в Clojure.
До этого все курсы рассказывали про язык, но не про принципы, на которых строится программирование. Так я понял, что мне нужно срочно идти на Хекслет и впитывать всё, что там дают.
Это было классное время, мозг кипел пыхтел, но при этом кайфовал, это было время, когда курсы были хардкорные, и задачки были соответствующие. В последствии я даже пришёл к выводу, что программист — это эндорфиновый наркоман, потому что сначала ты физически страдаешь, что не можешь решить задачу, голова разрывается. Так проходит день, а может и два, и вдруг в голове вспыхивает решение — ты бежишь его проверять, а мозг получает свою дозу эндорфинов, когда видит зеленый отчет о пройденных тестах, и внутри, — а может и снаружи, вопль «АААА я смог», — до сих пор помню момент, как решил задание с Числами Черча.
Я был в первой группе, на которой обкатывали проекты. После их прохождения я понял, как задача дробится на куски и реализуется в коде, что мой предыдущий проект по внутренней статистике можно смело выбрасывать в топку и все переписывать. Что, собственно, я и сделал, постепенно его переделав.
После обучения на Хекслете, я стал глубже понимать, что я делаю, и для чего. Код перестал быть лапшой, в которой требовались комментарии или часы попыток вспомнить, зачем я это написал и как это вообще работает. Особенно, если в этот код я не смотрел несколько месяцев.
По работе мне требовалось заполнять формы на сторонних сайтах, так я на основе полученных в Хекслете знаний смог автоматизировать этот процесс с помощью скриптов на JS + Puppeteer. При этом желание изучить Clojure не пропало — так я наткнулся на библиотеку Etaoin, а потом постепенно переписал все с JS на Clojure. С изучением Clojure я продвинулся основательно только в этом году — сознательно купил несколько книг на английском языке. При изучении веб-стека на Clojure я наткнулся на блог Гришаева Ивана, и, проверяя код у себя локально, нашёл пару багов, и сразу отписался об этом автору. Спустя время Ивану потребовался помощник в подготовке к изданию книги по Clojure, и я не мог не ухватится за эту возможность — в итоге мы сработались, и я впервые поучаствовал в создании книги, да ещё и по Clojure! И представьте моё удивление, когда я узнал что Иван является создателем той самой библиотеки Etaoin, реализующей Webdriver-протокол. И я поучаствовал в развитии это библиотеки, в общей сложности закрыв около 50 issue за последние полтора месяца.
Читайте также Haskell — язык, позволяющий глубже понять программирование. Как он устроен и почему его выбирают разработчики?
Какие выводы можно тут написать? Стал ли я программистом? Если «стать программистом» — это устроиться на работу программистом, то да. При этом сама по себе цель стать программистом, как по мне, нереализуема — им можно только быть, постоянно изучая что-то новое. По себе заметил, что ставя цель «стать программистом», можно заиграться в «вечного студента». Поэтому совет для новичков — если вы уже прошли первый проект, то смело начинайте искать работу! Что касается вывода в общем — наше намерение приведет нас туда, куда мы его направляем, так или иначе, рано или поздно.
P.S. Спустя время я понял, что у меня пробел в знании CSS и HTML. Поэтому сейчас я пошёл изучать курсы по вёрстке — конечно же на Хекслете. Что-то мне прям интересна эта тема стала, к чему она приведет в итоге? Посмотрим, возможно будет очередной лонгрид через несколько лет.
Спасибо, что дочитал(а) до конца, желаю тебе успехов в обучении и работе! Ну а история успеха это, или нет — решать тебе, дорогой читатель.