Как я запустил нейросеть, выучил программирование и автоматизировал работу на маркетплейсах вдоль и поперек

Всем привет! Сегодня немного необычная для меня тема: расскажу как я учил и продолжаю изучать программирование.

Немного предыстории...

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

Пару лет назад, окончательно убедившись в состоятельности своих идей, я начал выкладывать статьи на VC, рассказывая о своих наработках и надеясь найти инвестора.

Но инвестора я так и не нашел...

И сейчас, анализируя этот опыт, я пытаюсь понять: в чем просчитался, и почему у меня столько противоречий с теми, кто, вроде как, готов вкладывать деньги.

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

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

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

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

Так что, в целом, все не так уж и плохо:

У меня и сейчас минимум одно предложение по работе в качестве аналитика для маркетплейсов, и я не сомневаюсь, что смогу, в случае чего, найти себе не самую низкооплачиваемую работу, а главное - именно в той теме, в которой я хочу развиваться: аналитика товаров.

Кроме того, мой текущий работодатель, вроде как, изъявил желание стать инвестором и дать мне, пусть и крайне сильно урезанную, но все-таки свободу действий. Напомню: до этого ничего, кроме зарплаты и денег на товар, я не видел.

И, собственно, это и есть приквел к тому, как я начал учить программирование.

Как я решил самостоятельно учить программирование

Меня всегда поражало то, что мои работодатели с легкостью могли сливать миллионы на товары, но никак не хотели инвестировать в то, что приносит деньги в современном мире: в мозги.

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

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

Как по мне, тут все логично: больше автоматизации - меньше людей, меньше фонд оплаты труда, выше эффективность, а главное - снижение человеческого фактора.

Вообще я заметил такую позицию:

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

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

При чем эта проблема тотальная, а ведь за эти два года я переобщался с сотнями потенциальных "инвесторов".

Однако, справедливости ради, с моим текущим работодателем хотя бы можно общаться и вести диалог на эту тему, в то время как реакция других такая, как будто я им что-то неприличное предлагаю.

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

К слову, второго своего работодателя, я выбрал как раз по причине того, что, хоть он тоже не хотел инвестировать в мозги, но готов был закрыть хоть в какой-то степени вопрос автоматизации работы: хотя бы автоматизацию учета. Более того, он профессионально занимается автоматизацией процессов в бизнесе (как оказалось в итоге: под автоматизацией понималось лишь впаривание услуги интеграции "Мой Склад" всем подряд по надобности и без).

Однако, за полгода я увидел лишь вредительство: то программисты просто перегрузят карточки из FBO на FBS и включат работу со своего склада, то еще что-нибудь. Такой уровень.

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

Однако, в какой-то момент вопрос встал ребром, и я решил самостоятельно подойти к решению вопроса в новогодние праздники.

И так, что я сделал:

В первую очередь, я еще раз проанализировал имеющиеся готовые решения, с которыми, так или иначе, сталкивался в то время, когда мой работодатель пытался автоматизировать процессы. Заняло это не много времени, т.к. все упиралось в два сервиса: "Мой склад" и Whisla.Поставщик. Больше не искал, не рассматривал.

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

В сервис Whisla.Поставщик я попробовал, не разобрался и сразу плюнул.

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

Тем более, уж мне то не знать: единственный его успех на маркетплейсах связан с товаром, который когда-то дал ему я. Лично он не смог спустя более, чем 5 лет, сделать в этой теме ровным счетом ничего.

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

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

Однако, именно он мне помог окончательно осознать проблему:

Например, Иван владеет программированием, но ничего не понимает в маркетплейсах, поэтому не может создать толковую систему автоматизации.

А вот мой работодатель, возможно, прекрасно понимает что и как нужно сделать (все-таки владеет реальным крупным бизнесом, пусть и в другой сфере), но не может объяснить программистам, что именно ему нужно.

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

Почему именно язык Python?

Я проанализировал варианты языков программирования и остановился на Python по нескольким причинам:

1. На Python завязано машинное обучение и нейронные сети. Кроме того, я вычитал, что это очень хороший язык для аналитиков. Я не понимал что конкретно подразумевается под последним, но в итоге меня не обманули: для аналитика данных это действительно крайне удобный язык во всех отношениях.

2. Меня задолбала реклама, что выучить Python легко и просто. И тут не обманули: мой сын владеет C# и Java, и там действительно, на мой взгляд, все намного сложнее. Ну и вряд ли я смог бы в 36 лет выучить с нуля программирование так быстро, если бы все было очень сложно.

Как шло мое обучение

Мое обучение началось с того, что я смог адаптировать найденный в интернете готовый скрипт для поиска похожих товаров у поставщика.

Однако, просто скопировать и заставить его работать не вышло: пришлось учить программирование с самых основ.

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

И это заработало!

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

Однако, если бы не эта нудятина, то я бы может даже и купил платную часть, но Яндекс.Практикум в какой-то момент меня просто выбесил довольно нудными уроками.

Тут надо сказать, что я изучал программирование не совсем с нуля:

В классе в 5-м я нарыл в нашей деревенской школьной библиотеке самоучитель по "Visual Basic", головой увлекшись этой темой и даже отсутствие компьютера мне не мешало: я писал программы в тетрадке, даже не задумываясь на тот момент, что, возможно, у меня когда-то будет свой компьютер - все-таки времена другие были.

К тому моменту, когда я впервые в жизни увидел компьютер, я уже работал в пожарной охране, а мечты стать программистом были давно забыты (и слава Богу - программистом я работать бы не хотел - мне нравиться ровно то, чем я занимаюсь сейчас). Но, тем не менее, этот опыт очень пригодился, так что дам такой общий совет: учитесь всегда и при любых обстоятельствах, не важно в каком возрасте и какие у вас текущие возможности.

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

К слову, вот его работы на Unity (C#) в ролике на ютуб:

Однако, столь быстрые результаты ни в коем случае не сделали меня программистом!

Да, всего лишь за три дня я собрал работающий прототип нейросети, да и то два из них я возился с настройкой среды и установкой библиотек.

Но его работа для меня было чудом и придала мне огромную мотивацию!

Следующим шагом была автоматизация управления ценами для Ozon через Api: сам алгоритм я себе уже представлял до этого и уже как почти год тестировал различные подходы, меняя цены через эксель.

И, хоть мне эта задача и показалась достаточно простой, но именно ее допиливаю до сих пор, хотя, в целом, с задачей модуль справляется.

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

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

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

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

В общем, я делаю сейчас все, чтобы планомерно окучить все категории на Ozon: все 8 340 категорий. Собственно, привет всем тем, чей уровень пока только отзывы накрутить, да на конкурента настучать.

Да, на текущий момент это не полноценный робот - без меня, как минимум, на нем далеко не уедешь, но создание полностью автоматизированной системы - лишь вопрос времени.

Тут, конечно, если бы еще Ozon свой API развивал, а то что-то совсем все скудно, и развития реального не видно. Но ничего: я уже знаю как справиться и так.

Сейчас в магазине моего текущего работодателя 25 категорий товаров, и я без труда могу ориентироваться во всем, что происходит.

Для аналитики магазина на Ozon я написал целую библиотеку, чтобы можно было решать однотипные задачи максимально быстро.

Например, всего в две строчки кода я могу получить все метрики магазина за любое число нужных мне для аналитики периодов:

get_analitics_for_periods= get.get_analitics_dict(0,1,7,30,365) metrics = get.metrics_from_dict_period(get_analitics_for_periods)

Первая строчка - вернет аналитику за указанное число дней: сегодня, вчера, неделю, месяц и год. Соответственно, можно указывать любые периоды: по умолчанию. Вторая - из довольно сумбурных данных, передаваемых через Api Ozon, вернет стройные и удобные словари, которые затем можно передавать множественным аналитическим инструментам.

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

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

И вот что важно:

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

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

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

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

Легкий способ выучить программирование

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

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

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

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

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

За эти полгода у меня не было ни одного выходного: очень хотелось скорее все добить, хотя, конечно, это не правильно и никому так делать не советую - отдыхать очень важно и нужно.

Однако, сегодня могу сказать: хоть такой подход и легкий, и дает (на первых порах) достаточно быстрые результаты, но, если есть силы и время надавить на теорию, то лучше начать с нее.

Поэтому далее расскажу о том, как, на мой взгляд, подойти к обучению более правильно.

Более правильный способ учить программирование (сам не делал, но советую)

Сейчас, спустя полгода изучения и практического применения Python, я понимаю, что гораздо важнее научиться не программировать самому, а читать и понимать чужой код.

Я потратил время на просмотр кучи роликов на Ютуб, как мне (и другим) казалось с очень крутой информацией. Особенно подсел на записи лекций из институтов.

На деле же все эти лекции дают, в первую очередь, именно то, что в практической работе мне пригодилось меньше всего, и не дают то, что нужно в первую очередь.

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

Поэтому я бы посоветовал такой порядок:

1. Всеми правдами и не правдами найдите возможность общаться с реальными программистами. Общайтесь с ними, рассказывайте о том, что вы делаете, о том, что получается, а что нет. Зачастую вещи, от которых вы будете взрывать мозг каждый день, имеют какие-то ну очень простые решения. Если такой возможности нет, то найдите в интернете репетитора, но не поддавайте на навязывание предложенной программы и не покупайте никаких курсов! Например, когда я начал искать такого, один взрослый дядя с очень не хилым ценником за консультацию на полном серьезе пытался впарить мне курс за 120 тыс. рублей по изучению...алгоритмов, "а то мои программы будут работать медленно". На тот момент я уже освоил программирование на достаточном уровне, чтобы не купиться в принципе на это в принципе. А вот был бы полным новичком, может быть и проглотил пусть не это, а что-то подобное. Поэтому бегите от людей, которые пытаются вам что-то впарить.

2. Начните с изучения концепции объекто-ориентированного программирования (ООП). Без него вы будете часто смотреть на чужой код с выпученными глазами, не понимая ровным счетом ничего. Тем более, что описание и использование многих библиотек (готовых программных решений) строится именно на этой концепции.

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

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

Если вы будете придерживаться этих советов, а не сразу будете ломиться программировать, сломя голову, то уже на перспективу в полгода-год достигните куда более внушительных результатов!

4. Уделите внимание выбору среде разработки и хорошо изучите ее! Это на порядки ускорит и облегчит разработку. Конечно, можно научиться ими пользоваться и "методом тыка", но поверьте: оно того не стоит. Вот прям надо взять и изучить!

5. Больше читайте справки и книги, меньше смотрите ролики на ютубе.

Читая сразу справку, вы, по итогу, сэкономите кучу времени, чем пытаясь нагуглить на ютубе ролик по использованию той или иной библиотеки.

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

Что я советую учить, если хотите тоже автоматизировать свой бизнес

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

Мне нафиг не надо уметь делать сайты: таких специалистов вагон и маленькая тележка, мне не надо учиться командной работе: пока что и команды нет.

А вот то, что, возможно, на всем Озоне нет продавцов столь технологически продвинутых, как я - это я знаю напрямую от самих сотрудников Озона, которые, к слову, сейчас очень активно помогают мне в моих начинаниях.

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

1. Изучите NumPy и Pandas. Это пакеты для анализа данных, они столь универсальны, что ни нормальная аналитика, ни нормальная автоматизация без них невозможна.

2. SQL - на деле очень простой язык запросов, не понимаю чего я его так шарахался раньше. Я уже давно забыл, что такое Эксель, и мне проще все делать сразу в базах данных через запросы

3. Освойте пакет для парсинга Beautiful Soup.

Это вам пригодится, чтобы связать каталог поставщика, расположенного на его сайте, со своим магазином на маркетплейсах. Ну и для сбора самых разных данных. Есть еще и более крутые решения на фреймворках, но мне кажется, что это уже больше подходит для тех, кто заниматься парсингом в промышленных масштабах. В общем, я еще не видел ни одной задачи, связанной с парсингом, которую нельзя было бы решить с помощью этого пакета. Хотя, еще использовал selenium для имитации браузера и исполнения JavaScript.

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

Если считаете, что у вас нет времени, так у меня его было еще меньше))) Но поверьте: оно того стоит!

Сейчас я хочу проверить: на сколько интересна эта тема для читателей VC, если хотите от меня больше информации о моем опыте автоматизации работы на маркетплейсах - пишите в комментариях что именно интересует, будет время - постораюсь выложить новый материал на эту тему. Всем спасибо!

P.S. Извините за небольшой (или большой) сумбур в тексте: очень давно и очень сильно хотел поделиться своими наработками и, по сути, делаю это в свой первый нормальный (дай Бог) выходной в этом году.

3, 2, 1...

2727
58 комментариев

Мне искренне жаль те 7к подписок которые читают вас в телеграмме.
И даже не потому, что вы начали выносить ваши личные отношения  с каким то человеком, на всеобщее обозрение, что выглядит со стороны очень некрасиво.
И даже не потому, что вы с умным видом даете советы а-ля, "учите программирование с ООП, без него вам никуда", вы правда в своих скриптах писали свои классы  или использовали наследование? Или  например про совет изучать IDE, а что там изучать то? Скачал VSCode и освоил терминал. А ваш совет например, не смотреть ютуб  при изучении материалов, так вообще противоречит вашему, же совету общаться больше с программистами, потому  как у достойных программистов не так много времени, чтоб возиться с вами, зато есть много крутых блогов на ютубе где прямь кладезь полезной информации.
В общем жаль подписчиков которые читают ваш импульсивный контент, который вы выдаете в период эмоциональной нестабильности. Простите если слишком строго, отзыв такой потому, что я пожалел эти 5 минут,  за которую прочел вашу статью .
Ну и заголовок статьи сплошной обман, в программировании вы уж точно полный профан,  про нейросети тоже соответственно, мало что знаете.
Ну а про, автоматизировал работу с маркетплейсом вдоль и поперек  тут просто помолчу, думаю и так все понятно, ибо ни одной цифры и ни одного скриншота достоверного вы не привели.

40

"В общем жаль подписчиков которые читают ваш импульсивный контент, который вы выдаете в период эмоциональной нестабильности."

Она у него регулярно))) обычно когда в леса по грибы сходит))

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

21

На VC - я самый известный инфоцыган!

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

18

Ваш комментарий мне напоминает реакцию некоторых дальнобоев на женщин за рулём. Мол куда они повылезали. Не волнуйтесь, работу они вашу не отнимут. Если что, пишу это как программист с 27 летним стажем.

6