Бросить учебу

Всем привет! Было трудно вспомнить и структурировать все периоды и моменты, потому что мой путь в профессию довольно сильно растянулся. Статья получилась не самой короткой, так как я постарался рассказать обо всех аспектах пути продолжительностью почти в 4 года. Как говорится, запасайтесь чаем, приятного чтения 🙂

Первые шаги

Думаю, стоить начать с первых попыток «потрогать» программирование. Это было примерно в 9 классе. Не помню, почему, но у меня появился интерес, и я полез на YouTube. Первое видео было о С++. Не понял абсолютно ничего, испугался этой магии и выключил.

Через некоторое время наткнулся на канал «Хороший программист». Там ребята топили за Ruby, и я принялся изучать его по их видео. Как сейчас помню puts «Hello World!». Счастью не было предела. Но я быстро очнулся, когда следующим уроком были переменные, объекты и if-else. Буквально впал в ступор. Забавно сейчас вспоминать это 🙂

Чем дальше, тем больше я не понимал, поэтому со временем забросил обучение.

Затем был период учёбы на HTMLacademy. Позанимался там не больше пары месяцев. Заполнил шкалу обучения на 30 % и понял, что вёрстка мне не интересна.

Знакомство с Хекслетом

В июне 2017 года каким-то образом наткнулся на Хекслет, он сразу зацепил меня. Фронтендом я не хотел заниматься, поэтому выбор пал на профессию «Бэкенд JavaScript». Прошел все бесплатные уроки и 28 июля оплатил подписку.

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

Момент радости

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

Что мне дал универ

Как и следовало ожидать, в универе было много математики. Программирование у нас началось на C, а во втором семестре перетекло в C++. Раз в неделю проходили лекции, и раз в неделю была сдача лабораторных работ. Лабы сами по себе были несложные, но вот преподаватель, который их принимал — ох… Как раз из-за этих лаб из 46 людей отсеялась почти половина.

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

В октябре я вновь оплатил подписку и вернулся на Хекслет. Конечно, за 2 года забыл большую часть информации, почти заново пришлось проходить все. Повторил многое и даже успел пройти новые курсы. Остановился где-то на «Последовательностях», затем снова отодвинул Хекслет, так как приближалась зачетная неделя и сессия, которую я вскоре сдал. В конце февраля 2019 года снова стал учить программирование.

И снова Хекслет: как я оценил мощь проектов

На этот раз был настроен серьезно. Думал, точно не брошу Хекслет, пройду пару проектов и наконец найду работу. Спойлер: я снова обо***лся, хоть и не сразу.

Не всё и не всегда идёт гладко

В начале марта завершил первый проект, а через месяц и второй. Понял, что проекты — это действительно круто и интересно. Проект структурирует весь пройденный материал. Иногда возникали сложности, но менторы помогали во всем разобраться, спасибо им.

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

Первая попытка найти работу

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

Я снова вернулся к JavaScript, начал в спешке проходить курсы по Express, HTTP Server. В итоге почти до конца доделал задание, оставалось запоминать авторизованного юзера. Спасибо парню из слака, который помог разобраться с oauth, так как были сложности с токеном.

Я осознанно не стал доделывать до конца, так как вновь приближалась сессия, к тому же, были куплены билеты домой, а работа была бы в офисе в Питере. В тот момент пожалел, что метнулся в PHP, так как за это время успел бы пройти нужные курсы по ноде и быстрее выполнить тестовое задание, не купил бы билеты домой и, возможно, проработал все лето программистом, а не курьером на доставке роллов, как это было в итоге.

Вторая неудачная попытка и отчисление

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

Параллельно со сдачей долгов пытался найти работу. Заметил, что осенью почему-то гораздо меньше вакансий, чем весной. Подвернулась вакансия fullstack-разработчика (React + Express). Несмотря на то, что вакансия с моим нелюбимым фронтом, решил откликнуться. Через некоторое время мне позвонил HR. Я как раз в этот момент сидел на паре. Собеседник начал спрашивать о HTTP, DNS, JS. Я ответил правильно примерно на 70 % вопросов. Этого хватило, и мне отправили тестовое задание.

Нужно было сделать чат с комнатами: очень урезанная версия слака. На самом деле, задач там было не так уж и мало, особенно, для человека, который не знает React и сокеты от слова совсем. Побежал оформлять подписку и изучать React и Redux, параллельно читая документацию по socket-io. Задание было рассчитано на неделю. Чат был сделан и сдан с опозданием в пару часов. Мне дали фидбэк по тестовому и пригласили на очное собеседование.

Встретил HR и провёл в переговорную, где я ожидал директора компании. Естественно, волновался. Сначала были общие вопросы по типу «почему именно программирование», «почему js». Затем алгоритмическая задача, какая конкретно, не помню. Помню лишь, что я дико затормозил. Хотя конкретно такие задачи всегда щелкал легко.

Наверное, на меня никто и не давил, я сам загонял себя в рамки. Но чувствовал какое-то давление, будто нужно ежесекундно решить задачу и притом оптимально.

Конечно, предложил какой-то вариант, но он явно не был оптимальным. Затем собеседующий попросил оценить через big O сложность моего решение, и здесь я снова ошибся, хотя через пару минут до меня дошло, но было уже поздно. Начались другие вопросы. Говорили о Linux и TCP. Процентов 70 по Линуксу я вообще впервые слышал.

В целом всё было не так плохо. Директор сказал, что я не безнадёжен и неплохо знаю для второкурсника. Но если он сейчас позовёт тимлида, и тот начнёт задавать вопросы по коду, то, скорее всего, меня раздавят. Я согласился с этим, хотя в глубине души понимал, что на вопросы по коду отвечу лучше, чем на вопросы по Linux и TCP.

В общем, мне дали список must-have литературы и сказали приходить, когда почувствую, что готов. Неделя, две, месяц, как мне удобно, меня ждут. Не знаю, правда бы меня взяли через месяц. После интервью не был разочарован. Наоборот, у меня остались только положительные впечатления, я был замотивирован двигаться дальше, изучать новое, копать глубже.

И тут я понял, что больше не могу разрываться между универом и желанием работать. Нужно было выбрать что-то одно, потому что конкретно на моей специальности, на втором курсе, невозможно было совмещать фултайм-работу и учиться. Хорошо подумав, выбрал перспективу найти работу программистом.

Почувствовал самую настоящую свободу: больше не нужно было посещать универ, беспокоиться по поводу долгов и так далее. Тот самый вкус свободы после 11 лет школы и не самого легкого года в универе. Это было самое начало ноября.

Прокрастинация, немного депрессии и первая работа

В первые недели после собеседование я продолжал заниматься на Хекслете, даже пару раз ходил в библиотеку, чтобы в тишине почитать про Linux. Казалось бы, полная свобода, куча времени, почти никаких обязательств, разве что перед самим собой. В общем, делай что хочешь, занимайся сколько хочешь, но не тут-то было. Началась какая-то дикая прокрастинация: я сидел до 6-8 утра, занимаясь абсолютно бесполезными вещами, которые вообще никак не связаны с программированием, а потом спал до 16:00. Так прошел почти весь ноябрь.

Так как нужно было на что-то жить, я почти устроился барменом в ночь, уже должен был выходить на смену вечером в понедельник. Но ещё в пятницу мне позвонила девушка, спросила актуально ли моё резюме на HH.

Важная заметка: еще в октябре я разместил свое резюме на HH, чтобы было удобнее откликаться на вакансии.

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

Всё происходило в Codeshare, там были подготовлены задачи на JS. Я неплохо справился, но немного забыл совсем базовые вещи по типу работы с объектами и тому подобное. Мне сказали за два дня повторить всё это. Естественно, я оплатил подписку на любимом Хекслете и начал всё повторять. Двух дней мне более чем хватило. В среду было ещё одно интервью, уже с чуть-чуть другими задачами. Всё прошло успешно, и уже через час я был в офисе. Компания маленькая, занимается разработкой мобильных приложений. Собственно, от меня требовалось написание бэкенда на Express для устройств.

Работа

Мне выдали макбук, рассказали о SSH, pm2, показали Cyberduck, advanced rest client (классная штука). Я сидел и разбирался со всем этим, читал документацию по realm (используем в качестве БД), копался в коде. Примерно на следующий день мне уже дали реализовать небольшую логику. От меня требовалось просто на бумаге решить задачу, но я смог и код написать.

Мне давали небольшие задачи, таким образом я потихоньку включался. Была неделя, когда я только и делал, что тестировал одно сложное приложение, составлял баг-лист со стороны логики, UI/UX. По началу было интересно, но потом быстро наскучило. Затем снова делал небольшие задачи по бэку, потом очень неохотно по админпанели на Vue.js + Jade. Плевался на Vue после React. Видимо, если вы пишите на ноде, то сложно отделаться от работы по фронту. Ну да ладно, для опыта и общего понимания полезно знать и уметь.

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

Так прошло где-то полтора или два месяца. Иногда занимался на Хекслете, читал статьи, смотрел видео. С каждым днём, сам того не замечая, я всё больше понимал, всё больше деталей пазла складывалось в моей голове.

Примерно через два месяца со дня начала работы второй бэкендер спросил у меня, смогу ли я самостоятельно сделать небольшой проект, начиная с подготовки сервера и проектирования БД, заканчивая интеграцией с БД сайта. У продукта уже был давно функционирующий сайт. Я был вообще не очень уверен в себе, но согласился.

Как говорится, глаза боятся, а руки делают, так я и закончил свой первый самостоятельный проект. Меня проконтролировали с проектированием БД, чтобы в дальнейшем не было факапа. Были небольшие сложности с интеграцией БД сайта. Разработчики предоставили api для доступа к их базе, я начал делать интеграцию и заметил, что у них в БД есть жёсткий косяк, поэтому пришлось хардкодить на сервере.

План

Недавно старший разработчик доделал абсолютно новую архитектуру сервера, в которой учтены все ошибки текущей. И на новом сервере мы будем писать на TypeScript, что неплохой опыт, я считаю.

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

На самом деле, в конце обучения в школе думал, что в будущем буду заниматься Data Science. Поступлю в универ, начну изучать Пайтон, матан, и ворвусь в эту, что называется, «хайповую» область. Но что-то пошло не так, я и не заметил, как мне стал интересен JS, backend и всё, что с этим связано. Сейчас же, спустя полтора года, вновь думаю изучить всю эту пока что магию чисто как хобби, для себя, а если что-то получится, то, возможно, в будущем все-таки ворваться в data science.

Что касаемо универа, я пока не знаю. Тут есть 5 вариантов: восстановиться в политехе, пойти в универ попроще, забить на высшее образование, пойти на заочку, ну и последний, самый привлекательный: поработать ещё один год и в 2021 уехать в Чехию учиться. Осталось решить проблему с армией.

Итоги

Пишу всё это спустя ровно 3 месяца с первого дня работы. Буквально сегодня подошёл к концу мой испытательный срок. Меня должны официально устроить и повысить зарплату. Хочу дать пару советов новичкам.

Во-первых, не распыляйтесь, если уж взялись за какую-то область, то постарайтесь довести до логического конца. Повторюсь, лично я пожалел, что в какой-то момент метнулся из JS в PHP, только время потратил. Если уж и менять направление, то с концами, а не метаться туда сюда. Говорю лишь о начале обучения, уже состоявшемуся разработчику даже необходимо заглядывать в другие технологии и языки, тут и говорить не о чем.

Во-вторых, не забывайте оглядываться назад. Лично мне это помогает осознать масштабы пройденного пути, понять, что не зря старался. Сравните себя в начале пути и, к примеру, спустя месяц, два.

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

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

Ну и конечно, большое спасибо Кириллу, Рахиму и всем, кто трудится над Хекслетом. Ребята, вы крутые! Я не знаю лучшей площадки для изучения программирования.

Всем успехов и удачи!

Примеры из жизни

Дочь взяла академку

Учиться в медицинском училище ей не интересно, как неинтересен сам процесс учебы в принципе (к великому моему сожалению и огорчению), хотя профиль выбрала удачный — массаж, и сама это понимает. Понимает, что в жизни надо рассчитывать на себя, а не на поддержку со стороны мужчины.

Помогите разобраться, что делать дальше, как повысить мотивацию к учебе… стоит ли продолжать давать деньги «на жизнь», или уж, раз такая взрослая и сама все решает, пусть сама и добывает себе пропитание. Как себя с ней вести?

Я считаю, что иметь образование почти равно иметь нормальную работу (в том числе и массажистом, все-таки «бумажка» нужна).

Мнения

Помогать материально, пока учится

Я Вам просто расскажу, как живут мои дочери 21 и 16 лет, старшая учится в институте живёт отдельно, получает от нас деньги: 1 раз в месяц определённую сумму и ни копейкой больше. Сама учится, сама нашла подработку, сама решает личную жизнь и возникающие проблемы. Младшая тоже достаточно свободна, пока подрабатывала насобирала хвостов теперь подтягивает, сидит без стипендии, денег даём мы (родители). И опять таки контроль за учёбой отсутствует. Но мои девушки знают пока они учатся, я их поддержу финансово, бросят учёбу/закончат — вперёд во взрослую жизнь.

Изменить внутреннее отношение к ситуации

Разве не родитель, как близкий человек, должен помочь понять и разобраться, если у самой не получается?

Бесспорно. Но бесспорно лишь для одного случая — когда ребенок сам приходит и сам просит помощи в том, чтобы разобраться. У Вас же, как я вижу, ситуация иная — дочь уже сама разобралась, сама приняла решение (плохое оно было или хорошее — сейчас не суть важно, оно уже принято и воплощено в жизнь, обратно время не отмотаешь, заново не проживешь).

И все, что Вы можете сделать сейчас — это пережить ситуацию разрушения своих ожиданий. Переработать ее внутри себя. Принять тот факт, что — да, сейчас дело обстоит вот так и от этого Вам грустно, обидно, возможно, больно… и постараться, даже будучи в таких сильных переживаниях, сохранить контакт с дочкой.

Что касается средств повышения мотивации к учебе. Я думаю — никак. Старшеклассник — это тот возраст, когда мотивация к учебе уже либо есть, либо ее нет. Если она есть — ее повышать незачем. Если ее нет — то повышать нечего.

Учиться никогда не поздно

Моему мужу 35 лет. И он два года учится в университете. По сути дела, он учится всю жизнь, но в университет за степенью пошел впервые. До этого были всевозможные курсы, колледжи (включая медучилище в Москве), которые он с успехом заканчивал. Раньше ему этого хватало, а сейчас САМ почувствовал необходимость в университетском образовании, и САМ решил куда ему идти. Думаете, поздно?

Его начальнице почти 50 лет. Она только год назад начала учиться в университете. У нее замечательная семья: муж и трое дочерей. Как видите, всё возможно. И быть успешным и счастливым по собственному усмотрению, а не по плану родителей: школа — армия — университет — правильная работа — женитьба — дети (у кого-то, возможно, другие варианты).

Примечание: будет необходимость – ребенок сам выучится тому, что ему нужно. Это справедливо в том случае, если юноша активный и ответственный. Такой сам себе пробьет путь в жизни. Если юноша бросает учебу от безволия (cм. Безволие (юноша)) и дури, то это повод для родителя вмешаться.

Всем ли нужно высшее образование?

Есть у меня близкая знакомая. У них с её мужем есть дочь-школьница и сын, которому 17 с небольшим лет. Оба родителя получили высшее образование еще в России. Мало того, у самой этой моей знакомой, первое образование филологическое, второе — юридическое. Уже под 40 лет. Она училась всю жизнь. Естественно, как и все мы, мечтала, чтобы и дети получили высшее образование и стали успешными. НО!! Её сын увлекся бильярдом. Да так сильно, что в настоящее время входит в юношескую сборную страны. Мотается по «заграницам», занимает призовые места…. Это всё сейчас, а еще три года назад, когда мальчик с трудом тянул школьную учебу, сбегая на тренировки, дома были страшные скандалы. Родители сходили с ума, сын — тоже. И все это продолжалось до тех пор, пока мальчик не сказал матери: «Я понимаю, что все в нашей семье имеют высшее образование: и вы с папой, и все остальные родственники. Но МНЕ это не интересно. Я люблю бильярд. И не говори мне, что я должен учиться, чтобы в будущем зарабатывать себе на достойную жизнь. Я смогу заработать и без университета, а вот за знаниями пойду тогда, когда почувствую в этом необходимость. Знаю, что тебе это трудно понять. Но посмотри — ты проучилась всю свою жизнь в погоне за карьерой и степенями, а тебе это принесло счастье? Даже если вы не станете мне помогать, я все равно буду играть в бильярд, но мне будет очень трудно…»

Всем ли нужно высшее образование — 2?

Моя мама считала, что я не стану человеком не просто без высшего образования, а и без кандидатской степени. Во как! Будучи беременной, после окончания вуза поступила в аспирантуру. Даже диссер написала. Хотя четко понимала, что делаю это для мамы больше, чем для себя. А для себя я работала с третьего курса по другой специальности, близкой, правда, к моей — училась на филфаке, а работала журналистом. В редакциях ни разу никто не возжелал посмотреть на мой диплом. Интересовало только умение писать и добывать информацию. Недавно я пошла на собеседование в одну очень приличную контору. И в моем резюме их больше всего порадовало место моей последней работы как корреспондента — я трудилась в региональном представительстве одной из самых влиятельных газет нашей страны. А то, что у меня закончена аспирантура, их не тронуло совсем.

Я «забила» на защиту диссера, потому что он мне никак не пригодится в моей работе, а лишних денег, которые нужно выложить для защиты у меня нет. Но моя однокурсница недавно защитилась. Сейчас она не может устроиться на работу, потому что человеку 26 лет, а стажа нет. Не работала нигде, занималась образованием. Не берут даже секретарем. А с «бумажками» у нее все о’кей, между тем.