Как фотограф и вахтовик написал свое приложение для обработки снимков, которое приносит $2 тыс ежемесячно

Читать в полной версии →

Фотограф из Башкирии Вильдан рассказывает, как JavaScript помог ему создать собственный продукт для обработки фотографий, которое приносит ему каждый месяц более $2 тыс.

Из вахтовика на Севере в программисты

Всем привет, меня зовут Вильдан, мне 30 лет и я живу в солнечной Башкирии. Мне очень хочется рассказать про свой опыт обучения JavaScript и о том, как я сделал свой первый коммерческий продукт.

Мне всегда нравились программы — и я любил разбираться в том, как они работают. Я стараюсь идти в ногу со временем и не отставать в технологиях — поэтому когда онлайн-обучение стало популярным, я начал смотреть курсы веб-разработки: jQuery, WordPress, Joomla. Проходил курсы, которые больше и активнее всего обсуждались на форумах. После окончания колледжа в 2012 году я отправился на Север работать геофизиком по вахте, а дополнительное образование было отложено в долгий ящик.

Идея о самообразовании для улучшения своей финансовой стабильности вернулась ко мне в 2013 году, когда я увлекся фотографией и изучением Photoshop. В 2016 году в одном из онлайн-сообществ, в котором обсуждали обработку фотографий, приятель предложил вместе пройти курс по заработку в интернете при помощи Adobe Photoshop. Курс оказался подходящим для нас — мы узнали о набирающих популярность площадках цифровых товаров (микростоках) и том, как они работают. Тогда я начал создавать проекты для рынков цифровых товаров в виде экшенов (или actions) и пресетов — presets. Это было очень легко — нужно было лишь ориентируясь на «топселлеров» создавать подобное с качественным дизайном и исполнением.

В 2017 году я ушел с работы вахтовым методом и перешел на фуллтайм-разработку экшенов и пресетов. Так продолжалось до 2020 года, когда мои дополнения наконец сильно просели в продажах из-за того, что окончательно начали уступать в конкуренции более сложным дополнениям для фотографов — расширениям или extensions. Для их создания нужны были знания HTML/CSS/JavaScript — мне очень хотелось сделать более сложные проекты и не терять своего дохода, поэтому я начал учиться программированию.

Почему не работает обучение программированию по YouTube

Сначала я начал учиться JavaScript по урокам на YouTube, но толку от этого практически не было. Все мое программирование сводилось к тому, что нужно было копировать код из ролика и выводить результат на консоль, пока все не заработает.

Сейчас я понимаю, что это скорее проблема в методе обучения, чем в моих способностях. Как выглядит большинство обучающих материалов на YouTube:

  1. Прослушать теорию
  2. Скопировать код из ролика в свою IDE, повторяя за автором видео
  3. Конец

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

В 2021 году стало понятно, что процесс самостоятельного обучения затянулся и не приносит никаких результатов. Тогда я начал читать отзывы на школы программирования, так я нашел Хекслет.

Почему у меня случился мэтч с Хекслетом

Обучение на Хекслете проходит поэтапно, а порог вхождения — нулевой. Сначала все проходят курс «Введение в программирование» — он для чайников, но в нем предельно информативно объяснят, как работает компьютер и вообще — языки программирования. Кстати, это чуть ли не единственный курс, который можно смотреть в формате видео: остальные сделаны в виде статей. Это особенность Хекслета, которая очень прокачивает способность учиться самостоятельно.

После прохождения теории во всех уроках нужно делать упражнения, и тупо скопировать код преподавателя не получится. У Хекслета есть встроенный редактор, куда пишут решения к задачам, и получится пройти дальше только после проверки решения автоматическими тестами.

Если вы хотите в будущем поменьше страдать, то рекомендую проходить все испытания, которые идут после уроков в каждом курсе. Они не такие легкие, как упражнения, зато прокачивают «соображалку» и умение писать код самостоятельно. Особенно рекомендую задания с пометкой «меньше 80% справились с заданием» — на выполнение некоторых из них я потратил весь день, а то и больше.

Читайте другие статьи в блоге: 20 советов для будущих программистов, которые ищут свою первую работу в IT: как получать удовольствие от собеседований

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

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

Если возникала какая-то ошибка, а я не мог её найти в течение 2-3 часов, то я отходил от компьютера и переключался на другие дела, чтобы развеяться. Со второго захода ~70% задач решались в течение 10-15 минут. Если же такой способ не срабатывал, то в комментариях к заданию я находил подобные вопросы, с которыми сталкивались другие студенты, или даже искал решение в поисковике.

Как я разработал свое расширение по ретуши для Photoshop

Параллельно обучению на Хекслете я начал писать своё расширение по ретуши для Photoshop. Adobe предоставляет свой движок, написанный на JavaScript, где в качестве фронтенда используется фреймворк Spectrum. При написании своего расширения мне пришлось использовать сторонние библиотеки, — но в их документации было не сложно разобраться после выполнения первого проекта на Хекслете. Создание своего расширения по ретуши для Photoshop у меня заняло три месяца параллельно с обучением.

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

Сейчас продажа всех моих цифровых товаров, в том числе и расширения по ретуши, приносит мне ежемесячно около $2 тыс. Я продолжаю дополнительно работать фотографом и учусь на Хекслете — мне хочется переписать свой код расширения на React, a до этого необходимо углубиться в тему объектно-ориентированного программирования.

По итогам обучения, есть несколько важных мыслей:

Никогда не останавливайтесь: В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте. Развивайтесь с нами — на Хекслете есть сотни курсов по разработке на разных языках и технологиях