В прошлый раз я рассказал о самом начале пути, об мышлении, которое сподвигло двигаться в сторону IT. Теперь, изложу информацию о том, что мне удалось достичь на данный момент, какие трудности бывали и что я планирую делать дальше.
! Спойлерами закрыл большие тексты жизненных историй для тех, кто не хочет много читать, а просто увидеть суть без "воды".
Почему WEB сфера, а не игрострой или иные направления в IT
На самом деле, ещё несколько лет назад я рассматривал несколько направлений. Анализировал рынок, пороги входа, востребованность, перспективы будущего, сложность и то, насколько мне это интересно. Рассматривал:
Игрострой на Unity. Я думаю, это самый творческий путь самореализации в IT, мечта любого творца по мышлению. Традиционный гейминг ПК в РФ развит довольно скудно, вернее почти никак. В регионах или в более маленьких городах таких вакансий найти практически нереально, поэтому я и не увидел смысла идти в гейм дев. Концепция же мобильных игр мне не интересна в том виде, в каком она находится сейчас.
Разработка программ, приложений. Интерес определённый вызывает, однако меня отпугнула сложность данной сферы. Да и по рынку, вакансий не очень много, а значит пробиться будет довольно трудно.
WEB разработка. Так повелось, что интерес к сфере с детства, да и какой-то опыт уже есть. Довольно быстро можно увидеть плоды своих трудов, это мотивирует, и научиться самым азам довольно легко. Это подкупило, затянуло, ну и захотелось большего =) В этой сфере, если стать хорошим специалистом, будет трудно остаться без работы. Я уже со своими небольшими навыками зарабатываю немного на фрилансе, а значит шансы пробиться дальше - есть.
Разработка на 1С. Ходил на курсы месяц, получил сертификат, а знаний почти не обрёл =) Очень тяжело разобраться в коде. Мало того, что он не похож ни на один любой язык программирования, так ещё всё и на русском языке. Логику кода вообще не смог осилить. Курсы были официальные, от фирмы 1С, там тоже удивил подход. Первый день мне в офисе персонально рассказывали что такое 1С, как работает, что такое конфигуратор, что куда нажимать, какие ЗП в этой сфере огромные... в целом было понятно и неплохо, да и я раньше работал с 1С, программа для меня не нова. Затем, меня обучала девушка, работающая удалённо, её поставили наставником. Дала просто учебник (ссылка), задачи и проверяла выполнение. Не было теории с её стороны, не было примеров. Просто задачи и их контроль по вечерам после её рабочего дня. У неё был план, в котором 1 задача = 1 день. Не успеваю выполнять, то тогда эта же задача на новый день, плюс новая задача, и так накопительно. Из объяснений, объясняла только мои ошибки. Я с огромным трудом их выполнил, зашивался чтобы выполнить учебный план, но не успевал вникать и выполнять, всё накапливалось. После первой недели она мне сказала, что 1С не моё, и лучше мне в этой сфере не работать. Такой демотивации я ещё не получал... тем не менее, деньги курс стоил немалые, возвращать мне их не собирались, и я решил его пройти до конца. Не знаю как, но я выполнил все задачи, забыл что такое сон. Затем, меня пригласили к ним работать, условия работы были даже хуже, чем обычно в Яндексе предлагают начинающим айтишникам. Голый минимальный оклад (около 5000р на тот момент, но давно было, сейчас может гораздо выше), премия если укладываться в сроки, и успешно проходить экзамены, они у них там постоянно. Пятидневка, но неполный день, офис. Я такой низкой ЗП никогда на своём опыте не видел. Пятидневка. Без оформления. На такое я не согласился, и в то время у меня не было дополнительной подработки, как сейчас, а жить на что-то нужно было. У меня напрочь отбилось желание вообще связываться с 1С.
Почему frontend, а не backend
Как мне показалось, фронт даёт больше возможностей для развития, в т.ч. с переходом в прикладные области за счёт знания JS, применения которому довольно много даже за рамками веба. Я человек творческий по жизни, поэтому такой путь самореализации мне показался интереснее, да и вижу больше шансов туда пробиться. Выбор пал на него.
Что я уже изучил:
HTML, довольно хороший уровень
CSS, довольно хороший уровень, но есть просадки (подглядывание в Гугл)
Bootstrap, куда же без сетки в современной вёрстке
CMS Joomla (на ней в основном и делаю сайты, высокий уровень знаний, большой опыт) и в разной степени знаком с Wordpress, Битрикс, Тильда, Могута, Опенкарт
PHP ООП + PDO, хороший уровень, но в терминологиях не силён (есть успешный опыт в работе)
Базы данных, работа с ними
JS, сейчас в процессе изучения, пока лишь основы основ
Чуть знаком с git
Чуть знаком с npm
Работа с хостингами, домены, DNS, перенос сайтов, SSL
Яндекс директ, вебмастер, метрика, серч консоль (есть успешный опыт в работе)
SEO (есть успешный опыт в работе)
В планах изучить:
React, немного начал
Получше понять возможности git
Webpack и Docker, т.к. часто требуют в вакансиях, но оставлю на самое последнее
Java Script, сейчас занимаюсь
Написать свой проект на Реакте для лучшего изучения JS и закрепления навыков, идеи уже есть
Препроцессоры... пока в сомнениях. Был опыт с LESS, мне не понравилось. Без препроцессоров стили писать быстрее и проще. Может, просто ещё не понял их пользу и смысл использования, понятия не имею
С какими сложностями я сталкиваюсь в процессе самообучения
Есть те, кто учится быстро, я же учусь медленно, такова особенность по жизни. У меня вдумчивый подход и желание разобрать каждый винтик того, что я изучаю. Иногда бывает такой перегруз разума, что многое быстро вылетает из головы или начинаешь тупить на ровном месте.
Самая большая трудность, которая часто возникает, непонимание как именно заниматься самообучением. С чего начать, что изучать, как изучать. Учебников много, видео на Ютубе много. Платные курсы не рассматриваю, фигня это всё на самом деле. Материала, который надо знать, очень много. Изначально я обучался на устаревших роликах, и уже потом понял, что учу то, что давно не востребовано. Время терялось.
Часто мешает лень, неверие что всё получится. То, как быстро летит время и кажется, что освоил так мало. В IT не войдёшь с лёту, как в продажи или в иные гуманитарные профессии, к которым я привык. Сам вход требует долгой и упорной работы над собой, своими знаниями и навыками. Пока изучишь одно, что-то уже поменяется, появится новое и нужно поспевать за изменениями. С каждым годом вход в IT значительно усложняется. Если десяток лет назад для фронта было достаточно знать html, js да css, то теперь это целая наука из огромного количества сложных технологий. Поэтому, обучение, порой, выматывает и возникает ощущение, словно цепляешься за воздух.
Нет наставников. Известно, что подавляющее большинство разработчиков - самоучки, и для реальной работы образование никакого значения не имеет, главное что умеет сам специалист. У меня нет опытных наставников, поэтому нет возможности понять грамотный получается код, или вырвиглазный. Оптимальное ли я решение придумал или можно сделать ещё лучше. Я ориентируюсь на стандарты, которые вижу в статьях и в роликах, и получается, и на код именитых проектов для сравнения (например, вскрываю ядро CMS и смотрю как там написан код), сам себе наставник.
Опыт собеседований и работы
Пару лет назад я пытался искать работу, энтузиазма было в этом много, тогда я ещё не совсем осознавал то, что IT это очень сложно, да целая наука. Тогда и навыков было в разы меньше, чем сейчас. Моё резюме висело месяцами, никто не откликался, не отвечал. Лишь несколько раз были ответы, даже встречи. В первой фирме меня завернули, т.к. просто не хватало навыков для входа в команду, но похвалили бэк с тестового задания. Во второй фирме я прошёл тестовое задание, собеседование и потом был отбор из 3х кандидатов выбирали одного в реальном времени, этап в 2 дня. Выполняли задания на WP в офисе. Мои конкуренты были оба из IT. Один - профильный студент-выпускник с очень хорошими знаниями JS и Реакта. Другой уже работал 3 года в веб разработке, имел опыт и просто искал другую работу. И я... Я сам сошёл с гонки после первого дня, не видя смысла с ними конкурировать, да и наставники уделяли им больше времени, чем мне, я уже всё понял сам.
В другую фирму меня взяли прям сразу даже без ТЗ, вопросы были очень поверхностные. Но, история вышла неоднозначная. Оклад был не очень большой, но даже выше среднего по рынку для новичка. Это был маленький стартап из 3х человек: директор, разработчик, дизайнер (удалённо). И я, как второй разработчик. Я уже тогда имел небольшой опыт работы с Джумлой, и фирма как раз работала именно с Джумлой. Казалось, сошлись звёзды, а нет... Мне сразу дали проект, очень простой и без сроков, чтобы просто вник.
Он был очень лёгкий, что я даже удивился: одна страница из 3х простейших секций с выводом на неё категорий, а при переходе в категорию - выводятся статьи с текстом, всё. Я его сделал часа за 2 - всё работало, нажималось, адапитив, красиво, по макету из фигмы, однако разработчик молча мне всё удалил, хотя директору реализация понравилась и его выполнение задачи устроило (они оба проверяли то, что я сделал). Разработчик же был недоволен. Лишь потом он сказал, что нужно делать всё на фрейморке, который он разработал сам и только так - так у них принято, о чём меня не предупреждал изначально. Правда, как работает его творение - объяснять отказался, и документации не было, сказал у него нет времени объяснять. В гугл было лезть бесполезно, я пытался, самописный же - ничего не нашёл. Для понимания, его фрейморк довольно массивный, некий гибрид Ларавел и Реакта, только с устаревшими технологиями, например, в js вместо let везде был var, устаревший Bootstrap 3, часть кода почему-то на C#, очень много посторонних зависимостей (в рамках моего проекта), по CSS только препроцессор LESS. Кое-как, хоть что-то немного поняв, я делал проект. При этом наблюдал, как разработчик постоянно орёт, унижает директора, называя дебилом, который ничего не понимает (суть притензий я не понял, я был занят своей работой, просто тихо оху... охреневал от орни), а директор скромный, лишь улыбался ему и не перечил. Про клиентов он орал тоже, что они все дебилы. Меня это насторожило. Когда разработчик запустил в директора свою кружку, меня это ещё больше насторожило. Тот поймал, среагировал, но снова лишь улыбнулся, словно такое у них обыденность, кидаться кружками. И это не выглядело как шутка, разработчик реально был не в духе.
Так было весь день. Кроме кружки по офису летали степлер и иная канцелярия, но уже не в директора, а просто хаотично. К концу рабочего дня я со скрипом сделал сайт, но застрял на выводе категорий, т.к. не понимал как это реализовать через инструментовал фрейморка. Позвал разработчика. Тот быстро написал код вывода молча, и ушёл. Я потом сидел и втыкал, пытаясь понять что он написал. Ещё он добавил про мои решения - всё херня, давай по новой. На второй день я попросил объяснить что именно херня и что я не так делаю. Он снова и молча мне просто всё удалил, частично написал проект сам процентов на 70 со словами "надо так, теперь вникай" и ушёл. Когда я всё же настаивал его хоть что-то объяснить, он меня красочно обматерил в плане моих умственных способностей, особенно когда я спросил о том, зачем в проекте этот фреймворк, если в чистой Джумле есть всё нужное для выполнения проекта без сторонних решений.
За меня вступился директор прося разработчика умерить пыл, согласившись со мной в плане того, что почему бы мне не реализовать задачу так, как я предлагаю. Но тот и директора обматерил, чтобы тот заткнулся и не лез туда, где не смыслит. Тут у меня желание работать отпало напрочь. Я всё же до конца дня повтыкал во фреймворк, снова что-то написал, проект не доделал. В конце дня мне разработчик опять всё стёр без объяснений.
На третий день я не вышел на работу, позвонил директору и сказал, что не готов работать в этой фирме, сославшись на нехватку знаний, невозможность обучаться, и откровенно сказав, что боюсь, с тем разработчиком сработаться не смогу. Директор пытался меня уговорить остаться, что всё будет хорошо, что я из новичков ему кажусь наиболее способным и дружелюбным (как я понял, там и до меня были люди), а разработчик его давний друг и настоящий гений веба который приносит ему большие бабки, просто характер такой скверный, но я такой спокойный, воспитанный, старательный, и может всё получится и мы наладим отношения.
К тому, что у меня ничего не получалось как требовал его друг, у директора претензий никаких не было. Возвращаться в итоге не стал, на этом распрощались. Более того, у меня отпало желание вообще идти в разработчики после этого случая, и я несколько месяцев даже не прикасался к коду. Но затем, тяга вернулась.
IT, в каком-то смысле, мой образ жизни, мышление, и мне захотелось окунуться в это с головой. Дальше уже не планируются такие тонны текста, думаю, я рассказал уже всё, что хотел про своё начало. Буду по мере появления, рассказывать об успехах или провалах моего дальнейшего пути. Удивительно, у меня завеслись подписчики