Фотограф из Башкирии Вильдан рассказывает, как JavaScript помог ему создать собственный продукт для обработки фотографий, которое приносит ему каждый месяц более $2 тыс.
- Из вахтовика на Севере в программисты
- Почему не работает обучение программированию по YouTube
- Почему у меня случился мэтч с Хекслетом
- Как я разработал свое расширение по ретуши для Photoshop
Из вахтовика на Севере в программисты
Всем привет, меня зовут Вильдан, мне 30 лет и я живу в солнечной Башкирии. Мне очень хочется рассказать про свой опыт обучения JavaScript и о том, как я сделал свой первый коммерческий продукт.
Мне всегда нравились программы — и я любил разбираться в том, как они работают. Я стараюсь идти в ногу со временем и не отставать в технологиях — поэтому когда онлайн-обучение стало популярным, я начал смотреть курсы веб-разработки: jQuery, WordPress, Joomla. Проходил курсы, которые больше и активнее всего обсуждались на форумах. После окончания колледжа в 2012 году я отправился на Север работать геофизиком по вахте, а дополнительное образование было отложено в долгий ящик.
Идея о самообразовании для улучшения своей финансовой стабильности вернулась ко мне в 2013 году, когда я увлекся фотографией и изучением Photoshop. В 2016 году в одном из онлайн-сообществ, в котором обсуждали обработку фотографий, приятель предложил вместе пройти курс по заработку в интернете при помощи Adobe Photoshop. Курс оказался подходящим для нас — мы узнали о набирающих популярность площадках цифровых товаров (микростоках) и том, как они работают. Тогда я начал создавать проекты для рынков цифровых товаров в виде экшенов (или actions) и пресетов — presets. Это было очень легко — нужно было лишь ориентируясь на «топселлеров» создавать подобное с качественным дизайном и исполнением.
В 2017 году я ушел с работы вахтовым методом и перешел на фуллтайм-разработку экшенов и пресетов. Так продолжалось до 2020 года, когда мои дополнения наконец сильно просели в продажах из-за того, что окончательно начали уступать в конкуренции более сложным дополнениям для фотографов — расширениям или extensions. Для их создания нужны были знания HTML/CSS/JavaScript — мне очень хотелось сделать более сложные проекты и не терять своего дохода, поэтому я начал учиться программированию.
Почему не работает обучение программированию по YouTube
Сначала я начал учиться JavaScript по урокам на YouTube, но толку от этого практически не было. Все мое программирование сводилось к тому, что нужно было копировать код из ролика и выводить результат на консоль, пока все не заработает.
Сейчас я понимаю, что это скорее проблема в методе обучения, чем в моих способностях. Как выглядит большинство обучающих материалов на YouTube:
- Прослушать теорию
- Скопировать код из ролика в свою IDE, повторяя за автором видео
- Конец
Эффективность от такого обучения достаточно низкая — это как всю жизнь водить автомобиль с инструктором только по определенным местам, в одно и то же время и по одному маршруту. При этом из-за отсутствия системности в обучении и повторения одного и того же из курса в курс, мотивация к обучению падает. И даже начинает казаться, что света в конце тоннеля не видно.
В 2021 году стало понятно, что процесс самостоятельного обучения затянулся и не приносит никаких результатов. Тогда я начал читать отзывы на школы программирования, так я нашел Хекслет.
Почему у меня случился мэтч с Хекслетом
Обучение на Хекслете проходит поэтапно, а порог вхождения — нулевой. Сначала все проходят курс «Введение в программирование» — он для чайников, но в нем предельно информативно объяснят, как работает компьютер и вообще — языки программирования. Кстати, это чуть ли не единственный курс, который можно смотреть в формате видео: остальные сделаны в виде статей. Это особенность Хекслета, которая очень прокачивает способность учиться самостоятельно.
После прохождения теории во всех уроках нужно делать упражнения, и тупо скопировать код преподавателя не получится. У Хекслета есть встроенный редактор, куда пишут решения к задачам, и получится пройти дальше только после проверки решения автоматическими тестами.
Если вы хотите в будущем поменьше страдать, то рекомендую проходить все испытания, которые идут после уроков в каждом курсе. Они не такие легкие, как упражнения, зато прокачивают «соображалку» и умение писать код самостоятельно. Особенно рекомендую задания с пометкой «меньше 80% справились с заданием» — на выполнение некоторых из них я потратил весь день, а то и больше.
Читайте другие статьи в блоге: 20 советов для будущих программистов, которые ищут свою первую работу в IT: как получать удовольствие от собеседований
После прохождения необходимого количества курсов вы приступаете к главным аккордам обучения — проекту. Всего их четыре, каждый из них представляет собой шаги, которые необходимо выполнить, чтобы реализовать собственные приложения.
Первый проект придал мне уверенности в себе. После его сдачи я почувствовал, что могу писать код сам. Трудности были с автоматической проверкой тестам — я прекрасно понимал, что до этого ни одна сотня студентов благополучно их прошла, и это мотивировало учиться.
Если возникала какая-то ошибка, а я не мог её найти в течение 2-3 часов, то я отходил от компьютера и переключался на другие дела, чтобы развеяться. Со второго захода ~70% задач решались в течение 10-15 минут. Если же такой способ не срабатывал, то в комментариях к заданию я находил подобные вопросы, с которыми сталкивались другие студенты, или даже искал решение в поисковике.
Как я разработал свое расширение по ретуши для Photoshop
Параллельно обучению на Хекслете я начал писать своё расширение по ретуши для Photoshop. Adobe предоставляет свой движок, написанный на JavaScript, где в качестве фронтенда используется фреймворк Spectrum. При написании своего расширения мне пришлось использовать сторонние библиотеки, — но в их документации было не сложно разобраться после выполнения первого проекта на Хекслете. Создание своего расширения по ретуши для Photoshop у меня заняло три месяца параллельно с обучением.
Для того, чтобы расширение продолжало быть актуальным, я буду внедрять в него новые технологии. Сейчас в моем направлении актуально применении нейросетей, но пока что Adobe не предоставляют разработчикам доступа к своим алгоритмам. Но при этом есть сторонние открытые библиотеки на Tensorflow и даже коммерческие плагины. Радует, что есть выбор, и есть над чем работать.
Сейчас продажа всех моих цифровых товаров, в том числе и расширения по ретуши, приносит мне ежемесячно около $2 тыс. Я продолжаю дополнительно работать фотографом и учусь на Хекслете — мне хочется переписать свой код расширения на React, a до этого необходимо углубиться в тему объектно-ориентированного программирования.
По итогам обучения, есть несколько важных мыслей:
- Главное — каждый день посвящать своё время обучению и написанию кода
- Прокрастинация, лень и отсутствие дисциплины — основные проблемы. Чтобы их избежать, нужно войти в поток, когда одна задача решается за другой, и даже Call of Duty становится не интересна.
Никогда не останавливайтесь: В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте. Развивайтесь с нами — на Хекслете есть сотни курсов по разработке на разных языках и технологиях