Серия «Восхождение в WEB разработку»

Восхождение в WEB разработку. Часть 3

Восхождение в WEB разработку. Часть 3 Опыт, Саморазвитие, IT, Web-программирование, Frontend, Создание сайта, Фриланс, Длиннопост

Когда начал изучать эти ваши реакты, вебпаки, ноды-шмоды, понимая, что одного CSS + HTML мало

Продолжаю штурмовать WEB технологии, в частности JS и React. Если с основами JS ещё более-менее понятно и что-то самостоятельно уже получается делать (помогло знание php), то React пока для меня тёмный лес, хотя общая концепция и принципы работы мне понятны. Сам Реакт мне понравился, мощный инструмент с удобной компонетной основой, большие возможности для выполнения задач и реактивность. Планирую начать пет проект на Реакте для полноценного и практического изучения, но ещё осваиваю самые основы (Юутуб) и не готов приступать, мало базы - чувствую. Сейчас, например, только начал изучать хуки.

Вникая уже в git, npm, Node.js, React... пришло осознание, что я, по современным меркам, с текущим стеком знаний просто... верстальщик. Да, могу с нуля сделать сайт почти любой сложности почти на любой CMS, но этого мало. Frontend - своя экосистема скилов и навыков для разработки сайтов и важно - приложений. Пространство, где умения верстальщика - просто минимальная база, не более. Требуемый же объём знаний очень велик. Опыт тоже приличный требуется, пока единственный способ его получить, как считаю - делать свои пет проекты. Только нужно время, время, время... и стараться не терять веру в себя, что для меня самое сложное.

Восхождение в WEB разработку. Часть 3 Опыт, Саморазвитие, IT, Web-программирование, Frontend, Создание сайта, Фриланс, Длиннопост

Кто я в мире IT? Что я умею?

Иногда мне кажется, что сколько бы я не старался, как бы не учил, не трудился - я топчусь на месте или прогресс просто ничтожный. Многие вещи не понимаю с первого раза. Обучаюсь я всегда медленно, такая особенность памяти, но зато способен вникать в сложные вещи. Ощущение бывает, что я не способен выйти на планку джуна. Мой приличный коммерческий опыт разработки сайтов на CMS не имеет особого смысла, ведь он не имеет ничего общего с Frontend разработкой, и поэтому такие резюме фирмам не интересны, такие специалисты не имеют востребованности. Раньше я этого не понимал, а сейчас прозрачно вижу. Иногда хочется опустить, руки, сдаться с отмазкой "не моё...". Удерживает лишь сильный интерес к сфере, который идёт чуть ли не с детства, но созрел реализовываться в ней только в последние года, поняв, наконец в 30+ лет: "кем хочу стать, когда вырасту". Мне нравится сам процесс разработки, решения задач. Может, кому-то даётся легко вхождение в IT, у меня путь гораздо сложнее. Часто теряется вера в себя и возникает ощущение траты времени вникуда. С другой стороны, все специалисты: мидлы, сеньоры - начинали с основ, делая свои ошибки, и стали теми кто они есть благодаря упорству и труду.

Восхождение в WEB разработку. Часть 3 Опыт, Саморазвитие, IT, Web-программирование, Frontend, Создание сайта, Фриланс, Длиннопост

Карьерный рост начинающего специалиста в WEB

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

А какой у вас был путь в IT? Какие сложности возникали во время восхождения?

Показать полностью 2

Восхождение в WEB разработку. Часть 2

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

! Спойлерами закрыл большие тексты жизненных историй для тех, кто не хочет много читать, а просто увидеть суть без "воды".

Почему WEB сфера, а не игрострой или иные направления в IT

На самом деле, ещё несколько лет назад я рассматривал несколько направлений. Анализировал рынок, пороги входа, востребованность, перспективы будущего, сложность и то, насколько мне это интересно. Рассматривал:

  1. Игрострой на Unity. Я думаю, это самый творческий путь самореализации в IT, мечта любого творца по мышлению. Традиционный гейминг ПК в РФ развит довольно скудно, вернее почти никак. В регионах или в более маленьких городах таких вакансий найти практически нереально, поэтому я и не увидел смысла идти в гейм дев. Концепция же мобильных игр мне не интересна в том виде, в каком она находится сейчас.

  2. Разработка программ, приложений. Интерес определённый вызывает, однако меня отпугнула сложность данной сферы. Да и по рынку, вакансий не очень много, а значит пробиться будет довольно трудно.

  3. WEB разработка. Так повелось, что интерес к сфере с детства, да и какой-то опыт уже есть. Довольно быстро можно увидеть плоды своих трудов, это мотивирует, и научиться самым азам довольно легко. Это подкупило, затянуло, ну и захотелось большего =) В этой сфере, если стать хорошим специалистом, будет трудно остаться без работы. Я уже со своими небольшими навыками зарабатываю немного на фрилансе, а значит шансы пробиться дальше - есть.

  4. Разработка на 1С. Ходил на курсы месяц, получил сертификат, а знаний почти не обрёл =) Очень тяжело разобраться в коде. Мало того, что он не похож ни на один любой язык программирования, так ещё всё и на русском языке. Логику кода вообще не смог осилить. Курсы были официальные, от фирмы 1С, там тоже удивил подход. Первый день мне в офисе персонально рассказывали что такое 1С, как работает, что такое конфигуратор, что куда нажимать, какие ЗП в этой сфере огромные... в целом было понятно и неплохо, да и я раньше работал с 1С, программа для меня не нова. Затем, меня обучала девушка, работающая удалённо, её поставили наставником. Дала просто учебник (ссылка), задачи и проверяла выполнение. Не было теории с её стороны, не было примеров. Просто задачи и их контроль по вечерам после её рабочего дня. У неё был план, в котором 1 задача = 1 день. Не успеваю выполнять, то тогда эта же задача на новый день, плюс новая задача, и так накопительно. Из объяснений, объясняла только мои ошибки. Я с огромным трудом их выполнил, зашивался чтобы выполнить учебный план, но не успевал вникать и выполнять, всё накапливалось. После первой недели она мне сказала, что 1С не моё, и лучше мне в этой сфере не работать. Такой демотивации я ещё не получал... тем не менее, деньги курс стоил немалые, возвращать мне их не собирались, и я решил его пройти до конца. Не знаю как, но я выполнил все задачи, забыл что такое сон. Затем, меня пригласили к ним работать, условия работы были даже хуже, чем обычно в Яндексе предлагают начинающим айтишникам. Голый минимальный оклад (около 5000р на тот момент, но давно было, сейчас может гораздо выше), премия если укладываться в сроки, и успешно проходить экзамены, они у них там постоянно. Пятидневка, но неполный день, офис. Я такой низкой ЗП никогда на своём опыте не видел. Пятидневка. Без оформления. На такое я не согласился, и в то время у меня не было дополнительной подработки, как сейчас, а жить на что-то нужно было. У меня напрочь отбилось желание вообще связываться с 1С.

Почему frontend, а не backend

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

Что я уже изучил:

  1. HTML, довольно хороший уровень

  2. CSS, довольно хороший уровень, но есть просадки (подглядывание в Гугл)

  3. Bootstrap, куда же без сетки в современной вёрстке

  4. CMS Joomla (на ней в основном и делаю сайты, высокий уровень знаний, большой опыт) и в разной степени знаком с Wordpress, Битрикс, Тильда, Могута, Опенкарт

  5. PHP ООП + PDO, хороший уровень, но в терминологиях не силён (есть успешный опыт в работе)

  6. Базы данных, работа с ними

  7. JS, сейчас в процессе изучения, пока лишь основы основ

  8. Чуть знаком с git

  9. Чуть знаком с npm

  10. Работа с хостингами, домены, DNS, перенос сайтов, SSL

  11. Яндекс директ, вебмастер, метрика, серч консоль (есть успешный опыт в работе)

  12. SEO (есть успешный опыт в работе)

В планах изучить:

  1. React, немного начал

  2. Получше понять возможности git

  3. Webpack и Docker, т.к. часто требуют в вакансиях, но оставлю на самое последнее

  4. Java Script, сейчас занимаюсь

  5. Написать свой проект на Реакте для лучшего изучения JS и закрепления навыков, идеи уже есть

  6. Препроцессоры... пока в сомнениях. Был опыт с 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, в каком-то смысле, мой образ жизни, мышление, и мне захотелось окунуться в это с головой. Дальше уже не планируются такие тонны текста, думаю, я рассказал уже всё, что хотел про своё начало. Буду по мере появления, рассказывать об успехах или провалах моего дальнейшего пути. Удивительно, у меня завеслись подписчики

Показать полностью

Восхождение в WEB разработку сайтов, начало пути. Часть 1

Решил написать серию постов о том, как буду пытаться пробиться в IT после 30, а частности во Fronted разработку сайтов. Это долгий и тяжёлый путь, отчасти уже мною пройденный. Отчасти пишу для тех, кому интересно наблюдать данный процесс - каково это пробиваться с нуля. Понятия не имею получится ли прорваться в сферу как профи и получить офер... Кто знает, как повернётся судьба. А вдруг получится? Может, и нет. Я готов к любом исходу, тем не менее, самым краешком я уже в ней. Успех ли это уже? Разберу в посте.

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

Восхождение в WEB разработку сайтов, начало пути. Часть 1 Развитие, Опыт, Создание сайта, Frontend, Саморазвитие, Web-программирование, Длиннопост

Я из тех, про кого говорят "тыжпрограммист". Вечно в компах, собирая их сам и помогая родственникам в любой технике. Вечно в технологиях, от тостера и до сложных вычислительных систем. Технологии - моё вечное увлечение. С подросткового возраста увлекался и сайтами, правда мои навыки были ограничены примитивными знаниями html и css с желанием создать свой Вконтакте, аля второй Дуров (ну вдохновляет он меня личным примером, считаю его гением). Но, тогда об своей социалке грезили многие, был хайп, а даже самые продвинутые прогеры, конечно, не справились. Я же и не рвался на рынок, скорее было просто увлечение, для себя. Никакую сеть я в итоге не делал, но делал много всяких примитивных сайтов как увлечение: html, css, да конструкторы по типу Юкоза и готовых форумов.

На много лет сайтострой был заброшен в угоду той или иной основной работе, в основном продажи и фотограф, уж сильно меня поглощало и сил желания на иное не оставалось. Лишь года 2 назад я вернулся к этой теме, как никак, ну тянет меня, тянет. Начал читать много теории, уроки на Ютубе и подтянул до хорошего теоретического уровня html, css и работу с хостингом, причём отслеживаю именно современные тренды, а не вековой давности - технологии на месте не стоят и изменения приходят постоянно. Создавал говно сайты пет проекты и смотрел что у меня получается. Чисто для саморазвития и прокачки навыков того же php, к примеру. Потом понял, что этого мало, нужны реальные проекты, реальные задачи, без практики никуда. Для этого через общих знакомых вышел на маленькую группу фрилансеров, которая делала очень простые и недорогие сайты на Joomla, у них это была подработка после работы. Они не были профи, но тогда их уровень был выше моего. Они согласились меня взять, и давали сначала совсем простые проекты, попутно обучая Joomla. Точнее, я обучаюсь, и если встряну - задаю вопросы.

Так я дальше и работал. Днём продажник, а в свободное время как фотограф (есть второе образование по фото, а по первому - менеджер) и как веб-разработчик.

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

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

Уволившись с работы по личным причинам, я решил посвятить всё время входу именно в IT, а не снова идти в продажи или ещё куда. А на время держаться на подработке с фото, и с разработки сайтов по фрилансу насколько это возможно. В тяжёлые времена снова выходить в офис, если придётся. Наличие свободного времени и сил дало мне возможность более интенсивно обучаться. Таким образом я значительно подтянул многие навыки по php, хостингам и вёрстке, начал вхождение в основы JS. Однако, этого очень и очень мало для трудоустройства.

В следующем посте я расскажу о том, до каких навыков и технологий мне удалось дойти. Каких успехов удалось достичь. Почему фронт, а не бэк. Почему WEB сфера, а не игрострой или java интерпрайз. В чём были трудности и даже провалы, а они были. И о том, что мне ещё предстоит изучить, освоить, чтобы стать интересным для работодателя хотя бы на позицию Джуна. А в дальнейшем времени буду показывать то, какие успехи или неудачи мне удалось достигнуть, что изучить, чего добиться. Стану ли я в итоге фронтером? А вдруг уйду в бэк, в работу с базами или вообще в QA? А может, я стану водителем автобуса...? Озвучу свои цели на будущее в плане развития в IT. В общем, ещё много чего есть рассказать и не одним ещё постом. Так что, если вам интересен такой контент, подписывайтесь. А если кто-то тоже начал этот путь, то делитесь свои опытом.

Показать полностью 1
Отличная работа, все прочитано!