Вот говорят, что чтобы научиться программированию, надо программировать. И не задачи решать, а именно проекты какие-то реальные. А как такое начать делать, когда не понимаешь ещё ничего?
Да очень просто. Делайте прототипы реальных проектов. Вот банкомат. Ну возьмите и сделайте программу, которая пишет, что у вас на счету 5000, и спрашивает, сколько снять. Потом пишет, сколько сняли и сколько осталось. Вполне себе банкомат. Даже конструкцию if... знать не надо.
А потом можно, с получением знаний уже брать создавать более продвинутый прототип. Добавить другие варианты действий, сохранение информации, чтобы операции предыдущих запусков учитывались.
Банкомат, корзина интернет-магазина, чат-боты всякие, менеджер задач, лета социальной сети и т.д. и т.д. — любое, что автоматизировано, берёте и пишете примитивные прототипы. Потом усложняет. Так и нарабатывайте нужные навыки.
Буквально пару дней назад стал свидетелем прям-таки Шелдоновской пунктуальности.
Одним словом, короче говоря, так сказать, без лишних слов считаю необходимым сообщить тот факт, что у меня есть ученица, допустим, Маша. Маша очень кроткий и тихий подросток лет 15 - разговаривает очень тихо, через каждое слово извиняется ("извините, что долго решаю", "извините, что ошиблась") и все такое прочее.
Еще одна особенность Маши - если она приходит раньше, то ждет назначенного времени, секунда в секунду. Приходится постоянно прислушиваться к шагам и впускать ее, чтоб не торчала в подъезде.
Но вот вдруг Маша звонит минут за 15 до занятия по телефону, извиняется и говорит, что опоздает на 10 минут. Ну, хорошо, никаких проблем. Занятие было назначено на 13:00.
Сижу, жду, чай с козинаками пью. Слышу - шаги, очень знакомые. Но в дверь не стучится. На часах 13:07. Иду открывать сам - действительно, Маша стоит под дверью. Спрашиваю, мол, чего ты стоишь-то опять, опоздала же.
Логика ответа - бест оф зе бест. Раз Маша сказала, что опоздает на 10 минут, значит, опоздает на 10 минут! То есть, она ждала 13:10, чтоб все было в точности, как она сказала.
Язык программирования нельзя выучить. Его можно только усвоить. К чему я это? К тому, что бесполезно что-то учить, бесполезно смотреть видео, если вы это не будете тут же использовать. Посмотрели видео о том, как решать какую-то задачу? Хотя бы перепишите код, потом поэкспериментируйте над ним, попробуйте поменять его и посмотреть, что будет. Попробуйте немного изменить задачу и переделать код, чтобы эту задачу он решал.
И каждая тема, которую вы выучили — чтобы усвоить, нужно довольно много практики. Многие новички утыкаются в стену и не могут продвинуться в изучении дальше не потому, что столкнулись с особо непонятной темой. Тема-то понятная, они просто предыдущие поняли недостаточно. И надо не биться головой в стену, а вернуться, больше пописать код по предыдущим темам, и потом возвращаться назад.
Мальчик с задержками в развитии. 9 лет и кое-как умеет читать, проблемы в социальном плане, в других — я не стал вдаваться в подробности.
Пришёл этот мальчик попробоваться на кружок программирования, так как большинство остальных не подошли. Даю ему среду, где читать не надо — стрелочки, кружочки только. Задачи в духе «напиши роботу, как ему двигаться, чтобы пройти через лабиринт». Как пошёл, как пошёл! Дошёл до довольно сложного уровня. Уставал только быстрее, чем большинство, но за время работы успевал куда больше.
В общем, задержка задержкой, читает плохо, но алгоритмическое мышление огого как работало уже в 9 лет. Сейчас ему лет 13, наверное, родители любящие и понимающие. Надеюсь, всё у него хорошо поэтому, что-то технологическое или интеллектуальное осваивает
Для базового понимания достаточно знаний первого класса, но чтобы не показывать на совсем примитивном примере, возьмём пример из начальной школы
Вот у вас такой код:
a = 0
x = cos(a) + 2 * 3
Как компьютер будет с ним работать? Давайте возьмём упрощённую модель(без АСД) — будет работать так же, как мы в школе. Сначала он посчитает косинус, но он не сможет это сделать, пока не заменит a на 0. Так что он заменит и получит.
x = cos(0) + 2 * 3
После этого он подсчитает косинус нуля и получит 1. Он подставит вместо cos(0) в итоге 1, получится
x = 1 + 2 * 3
Теперь умножение. Умножаем 2 на 3, получаем 6. Заменяем 2*3 на 6:
x = 1 + 6
Ну и осталось вместо 1 + 6 подставить 7, получится
x = 7
Всё, на этом работу со строкой кода заканчиваем. И вот когда компьютер посчитал результат какой-то операции, функции вроде косинуса или оператора вроде +, то он этот результат как бы «подставляет» вместо этой операции и данных операции. Это и называется «возвращает» — операция «+» закончилась, в результате получилось 7, теперь мы можем это число подставить вместо операции и её данных, 7 вместо 1 + 6. Правильнее, кстати, говорить передаёт — 1 + 6 передаёт обратно 7. Но все уже настолько часто говорят «возвращает», что оно укоренилось. Но это тоже уже ненужное поначалу углубление.
P.S.Это всё, конечно, модель из области «корень из минус 1 не существует», очень упрощённая и на самом деле всё гораздо глубже и сложнее — но именно новичкам очень полезно эту модель освоить. А я преподаю новичкам, часто вообще школьникам, когда доходят до определённого уровня, обычно отправляю их учиться у других. Да и многие профессионалы не знают про абстрактное синтаксическое дерево, как оказалось. Оно нужно прежде всего тем, кто компиляторы да интерпретаторы создаёт.
Совиной почтой в магическом мире Гарри Поттера можно было слать письма, но не только — можно было послать и некоторые другие вещи. Можно было послать и разные предметы — например, Гарри получал таким образом подарки вроде набора по уходу за метлой от Гермионы.
Вот и в программировании один кусочек данных, значение, может быть не только текстом, но и целым числом, числом с дробной частью, логическим значением(«да» или «нет») и т.д.
Но вы можете обнаружить, что в некоторых языках сразу несколько типов данных для того же целого числа. Целое число может быть и int, и short, и byte, и long и т.д. Почему так?
Потому что числа бывают разных размеров и под некоторые числа хватает одной ячейки памяти(байт), для некоторых надо две, а для некоторых и 4! В каких-то языках программирования сам компьютер следит за тем, сколько байт выделяется для значения переменной. А где-то нужно указывать.
Совы в мире Гарри Поттера, похоже, могут тащить посылку любого размера и веса, но представим, что у них есть какие-то ограничения. Больше какого-то веса одна сова не может нести, и тогда подключаются другие совы.
Представим, что человек изначально прикидывает вес посылки и сколько сов потребуется, и заказывает нужное количество сов для доставки. Тогда тем и отличаются типы данных. Целое число типа byte — там один байт. int — два байта. long — 4 байта.
Если вернуться к совам, то byte это одна сова, небольшой вес, int — две совы, посылка потяжелее, long — 4 совы. Тяжёлая большая посылка.
Прежде всего, расспросить его, что именно не так. Потом пообщаться с преподавателем, узнать, в чём, с его точки зрения, может быть причина. Причина может быть в слишком большой общей нагрузке (школа + кружки), в том, что не сложились отношения с преподавателем, в том, что курс не совсем равномерно построен и сложность резко возросла, и т.д. и т.п.
В большинстве случаев хорошей идеей будет сходить ещё на пару занятий, вдруг просто пошла сложная тема и ребёнок её как раз освоит и снова развеселится. Если же это не помогло, то тогда можно предложить найти более лёгкое направление, или отдохнуть годик.
Но точно не стоит настаивать на занятиях, если ребёнок перегружен в школе и остальных кружках. В крайнем случае можно отказаться от каких-нибудь других кружков в пользу программирования, но только если ребёнок согласится попробовать. Возможно, это не поможет — не страшно, всегда можно попробовать ещё через год или даже несколько месяцев.
Я решил изучать программирование. Сколько нужно заниматься?
Если заниматься слишком мало — будете стоять на месте. Слишком много — устанете, выгорите, бросите.
Золотая середина — 3 раза в неделю, как и со многими другими дисциплинами. Два раза в неделю это минимум.
Теперь сколько должно длиться одно занятие: рекомендовано 2 часа. Вы можете измерить сами: засекайте будильник при каждом занятии — сколько вам нужно времени в начале, чтобы вспомнить, что вы вообще делали и на чём остановились, повторить то, что забыли из полученных ранее знаний. У людей это занимает в среднем 20-50 минут, но иногда и час и даже больше. Вам нужно, чтобы вторая часть занятия, когда вы уже всё вспомнили и учитесь, занимала не меньше времени, чем в среднем занимает воспоминание, а лучше больше в разы. Поэтому среднее время занятия 2 часа. Не меньше, чем 1,5 часа, больше 3-4 часов тоже не стоит, это путь в выгорание и прочие истории, которые приводят к забрасыванию.
Это цифры для большинства, у отдельных редких людей может быть как-то по-другому.
Чтобы участвовать в Турнире Трёх Волшебников, нужно было опустить кусочек пергамента со своим именем в Кубок Огня. Он должен был магически обдумать, выбрать лучшего представителя каждого факультета и выбросить столб пламени вместе с кусочками пергамента, где написаны имена представителей.
Когда люди опускают свои имена в Кубок Огня — они вводят в него данные, свои имена. Когда Кубок Огня выплёвывает пергаменты с именами избранных — он выводит данные из себя во внешний мир.
Так же и в программировании. Когда какая-то информация отправляется в устройство, например, в компьютер — с помощью клавиатуры, мыши, какого-то кабеля и т.д. и т.п. — это ввод данных в компьютер. Когда устройство вроде компьютера, получив какую-то информацию в результате вычислений («размышлений» устройства), отправляет её человеку на экран или ещё куда-то, то это вывод данных. Так и говорят — «выводит на экран», например.
В книгах о Гарри Поттере рассказывается обо многих магических артефактах, обладающих чем-то вроде разума, или хотя бы какими-то зачатками, с помощью которых они могут принять какое-то решение. Первый такой артефакт — Распределяющая Шляпа. В неё вводятся другие данные и другим способом — нужно засунуть голову, чтобы Шляпа телепатически получила доступ ко всей нужной информации. И выводит она данные не таким способом, как Кубок Огня — она громким голосом объявляет имя.
Вот и в программировании существуют разные
способы и устройства для ввода и вывода данных. Клавиатура, мышь, сенсорный экран, микрофон, камера, сканнер и т.д. — устройства ввода. Экран, колонки, принтер и т.д. — устройства вывода.
Одного ученика пришлось выгнать с занятий. Нет, он не плохо учился — он учился отлично. После полутора месяцев обучения я ему сказал:
— Всё, хватит тебе сюда ходить, я тебе не нужен. — Да как это, ну... — Ты прекрасно владеешь английским. Ты на 3D-моделировании натренировал мышление. Базовую программу, которую я даю за год, ты освоилза месяц. И уже сделал неплохой проект на Unity по англоязычным видео с YouTube. Не страдай ерундой — делай свои проекты. Что-то будет получаться, что-то нет — тогда упрощай, вырезай. Иделай. Всё. Я тебе не нужен, всё, что мог дать, я дал. Ну, мог бы ещё, но ты это сам освоишь в процессе работы над своими проектами. Давай, иди.
Он ещё какое-то время пытался ходить ко мне, потом к другому преподавателю в нашей школе программирования (тогда я ещё в ней работал). Но быстро понял, что я был прав.
Этот ученик ещё и точно знал, чего хочет. Направление было популярным, а на YouTube по нему всё было на английском. Таким, как он, разве что ментор нужен — и то не сразу. Сначала самому разобраться, набить шишек, понять,что именноне получается понять или сделать, а уже потом искать ментора среди профессионалов.
(И да, эта история произошла ещё до того, как я начал разговаривать с учениками на «Вы».)
Вот говорят, что чтобы научиться программированию, надо программировать. И не задачи решать, а именно проекты какие-то реальные. А как такое начать делать, когда не понимаешь ещё ничего?
Да очень просто. Делайте прототипы реальных проектов. Вот банкомат. Ну возьмите и сделайте программу, которая пишет, что у вас на счету 5000, и спрашивает, сколько снять. Потом пишет, сколько сняли и сколько осталось. Вполне себе банкомат. Даже конструкцию if... знать не надо.
А потом можно, с получением знаний уже брать создавать более продвинутый прототип. Добавить другие варианты действий, сохранение информации, чтобы операции предыдущих запусков учитывались.
Банкомат, корзина интернет-магазина, чат-боты всякие, менеджер задач, лета социальной сети и т.д. и т.д. — любое, что автоматизировано, берёте и пишете примитивные прототипы. Потом усложняет. Так и нарабатывайте нужные навыки.
Ученик учился-учился и застрял. Не может дальше идти, не понимает какаю-то тему и всё. Это обычная история, это называется «плато». Плато это стандартный элемент любого обучения, никто не учится равномерно.
И я, как репетитор программирования, учивший и на кружках и в школах людей и в группах, и индивидуально, скажу, что в программировании это тоже не просто нормально, а обычное дело. Вроде бы способный ученик может застрять на самой простой теме и приходится топтаться. У меня способные ученики застревали даже на переменных. И это тоже обычное нормальное дело. И я знаю одного очень хорошего программиста-профессионала, который в детстве пару лет не мог понять циклы, и писал всё это время кучу всяких текстовых квестов на ветвлениях и переменных.
Что с этим делать? Можно пытаться прогрызть эту стену, можно на какое-то время отложить, и через какое-то время попробовать снова. И то и то может и сработать и не сработать. Лучше всего чередовать — попробовать прогрызть, потом отложить, потом снова попробовать прогрызть тему. С какого-то подхода получится.
Когда люди рассказывают, как они за 3-6-9 месяцев изучили программирование и нашли работу, я всегда вспоминаю эту картинку. Ну, то есть, я не говорю, что таких людей нет. Они есть, и им в некотором роде повезло. Большинству повезло поменьше
Если ученик пропустил больше, чем две недели, я уже автоматически возвращаюсь с ним на самое начало. Знания о программировании забываются очень быстро. Но не всё так страшно. Ученик проходит все эти темы очень даже быстро, быстро догоняет сам себя. В итоге тратится меньше времени, если пытаться пыжиться с того же места, на котором остановились
Вот поступил человек на курсы по программированию. И что-то не идёт оно, ничего не понятно. Остальные такие умные! Всё схватывают, всё успевают.
А он сидит и думает: «Ну всё, я тупой».
Но если догадаться поспрашивать этих успешных людей, вдруг выясняется:
- один 4 года до этого сам учился в свободное время
- другой уже работал программистом, просто был перерыв
- третий прямо сейчас работает, просто пришёл за бумажкой — и то, говорит, тяжеловато что-то
- и один на группу реально способный
ну, то есть до этого особенно не занимался, но с детства быстро любую область осваивает, куче вещей обучился быстро. Хотя это так-то тоже помогающий опыт.
В общем, у всех бэкграунд какой-то оказывается, как правило, и очень редко одарённость.
Поделюсь простым способом, который позволяет отбить желание заниматься программированием у ребёнка или подростка. Я узнал его от некоторых родителей учеников. Срабатывает способ не всегда, но довольно часто и надёжно, ниже расскажу все нюансы.
Выбираем язык и направление и придерживаемся
Всё действительно просто. Нужно выбрать самый-самый крутой язык программирования с точки зрения родителя, друзей родителя или ещё какой-то — короче говоря, один. Выбрали? Теперь нужно выбрать только одно какое-то направление в программировании(например, программирование сайтов или там Телеграм-ботов) — тоже главное, что одно.
Всё, выбрали чёткое хорошее направление, которое даст профессию и огромный заработок? Или там развитие мышления? Всё, теперь пихаем всеми силами ребёнка или подростка на это направление, настаиваем, даже если он не хочет. Если не хочет, нужно прямо заставлять. Не «Ну давай я поговорю с преподавателем, вы с ним поговорите и сходишь ещё на два занятия, если так же после этого не будешь хотеть — тогда не будет ходить». Нет! Надо настаивать всеми силами.
Как это работает?
Как это работает? Дело в том, что даже у взрослых людей (!) часто случается такая история: начал изучать программирование — а оно и не идёт никак, трудно, долго. Поменял направление/язык — и помчалось, полетело! Причём это может быть и так, что сменил «лёгкое» направление на «тяжёлое», а всё равно легче стало. Например, с консольных приложений Python пересел на создание игр на C++ и всё стало интересно, приятно и куда легче.
Языки программирования очень разные и направления тоже, и важная задача — найти направление по себе, под свою личность. Поэтому большая вероятность, что выбранный родителем язык программирования или направление окажется неподходящим. Таким образом, ребёнку/подростку будет трудно, тяжело, не будет ничего получаться и этим вы убьёте всю мотивацию. Как я сказал, даже у взрослых это работает надёжно, на ребёнке или подростке сработает куда сильнее.
Дополнительные нюансы
Ещё момент. Если хотите отбить всё желание заниматься программированием как можно быстрее, не выбирайте языки программирования Python и Scratch. Они большинству поначалу нравятся и помогают быстро что-то начать осваивать, обычно наскучивают и ученику хочется чего-то другого, более подходящего под его личность, через несколько месяцев. Так что выбирайте какой-нибудь C++, Assembler там лучше сразу. Чем младше ученик, тем больше шансов, что ему это будет не по силам..
Если вы последовали моему совету и ничего не получилось, мотивация заниматься программированием у вашего ребёнка осталась или даже усилилась, то значит, попались именно подходящие его личности на данном этапе язык программирования и направление. Не унывайте! Есть другие способы отбить желание программировать. Подписывайтесь, позже напишу о других способах.
А кто хочет наоборот, усилить мотивацию и подобрать более подходящее направление в программировании для своего ребёнка, узнать его сильные и слабые стороны, чтобы знать, как и когда ему потребуется поддержка — то про это тоже можно будет узнать здесь. Кстати, ещё я сейчас даю бесплатные часовые онлайн-диагностики по программированию, как раз такую информацию даю по завершению, но персональную. Так что кто хочет — обращайтесь, вам информация, мне — тренировка.[Вроде не нарушают два последних предложения правила сайта же? Если да, предлагаю правила уточнить ]
Она - автор нового развлекательного проекта "Капибара". Проект уже успел наделать шуму. И по большей части благодаря комьюнити. Как все началось? Это история для сериала. У айтишницы было две работы, ипотека и колоссальная нагрузка. Сломаться, устать можно по "щелчку Таноса". Отдыхала глазами на "Пикабу". Читала, постила. Пока политика сайта не пошла вразрез с ее личными убеждениями. Дальше был вихрь.
- Это название выбрали пользователи. Сначала устраивали мозговой штурм. Потом голосовали в два этапа за понравившиеся варианты. Потом откатывались, чтобы обоснование сделать: почему тот вариант, а не другой. В целом, это полностью инициатива самих участников. Когда задала финальный вопрос: «Название «Капибара» всех устраивает?», больше 500 человек ответили: «Да!»
- А где проводили это голосование?
- В чате. Он создался в первые секунды жизни идеи. Там есть специальный топик: выбираем имя для проекта. В нем и провели голосование буквально через 3-4 дня после его создания. 24 июля обновился «Пикабу». В этот же день мною был создан тот самый пост, тут же был создан чат и все понеслось…
Капибара - герой мемов
О причинах популярности капибар (ссылка на материал в Тинькофф журнал)
- Все-таки изначально идею предложили вы? Это связано с модой на капибар?
- Идея названия – полностью пользовательская. Я изначально дала только рабочее название Vortex. Нужно было заводить репозиторий, называть документы, папки. В общем, я автор только служебного названия. Но я не взяла на себя ответственность, что так будет называться весь проект. А Vortex потому, что у меня сложился такой ассоциативный ряд. Как «Капибара» началась вихреобразно, так все и понеслось.
- Вихреообразно – имеете ввиду, что началось все эмоционально?
Мы как-то очень неожиданно, очень импульсивно стартовали. Когда вышло обновление на «Пикабу», то от меня был всего один эмоциональный пост
- Стоп. Ольга, что за пост, с которого все началось?
Я написала «С этим «Пикабу» все понятно, если никто не начнет делать новый, то это начну делать я»
Триггером стал выход обновления на «Пикабу». Отмена отображения минусов. То есть в «горячее» с прошлого обновления стали попадать посты с отрицательным рейтингом. Это оказалось не багом: они что-то сделали с алгоритмами и не будут «чинить» рейтинговую систему, а будут маскировать продвигаемые посты под видимость обычных.
Я поняла, что того, что я любила на «Пикабу», больше не будет. Я была не согласна с тем, что нет альтернативы. Мол, есть «Пикабу», он единственный, терпите. Альтернатива нужна! Тогда еще не было известно ни про «Вомбат» ни про другие новые проекты.
Когда я создавала этот эмоциональный пост, думала, что впишусь в какую-нибудь команду разработчиков. О том, что я возглавлю, я даже не подозревала.
А, да, на «Пикабу» мой профиль забанили за упоминание «Капибары». Моему аккаунту было 8 лет и больше 100 000 рейтинга. Это не топ, но очень неплохие цифры для «Пикабу».
— Вы создали пост и получили обратную связь от пользователей?
- Да, посыпались комментарии: «Фронтенд-разработчик у тебя есть! Я разработчик с четырнадцатилетним опытом – я с тобой!»
Я создала отдельный чат в телеграм: ну пусть будет, и ушла работать.
Через два часа возвращаюсь, а в чате 3,5 тысячи человек
Ольга получила сильную поддержку сообщества
Я включила людям топики, темы они создавали сами, какие-то голосования начали вести. Посмотрев на это, я поняла, что надо стартовать разработку прямо сейчас, потому что люди уже начали голосованием выбирать базу данных, языки программирования и прочие технические вещи. Но это не те вещи, которые выбираются голосованием…
- То есть в чатах народ взял власть в свои руки?
- Абсолютно. Но оно пошло не в том направлении, в каком имело хоть какие-то шансы развиться. Поэтому к вечеру следующего дня я написала, каких именно компетенций нужны специалисты.
Мне ответили: «Давайте не будет как с народным Авито!» «Народное Авито» — это проект «Мой торг», тоже проект пикабушников, которые решили создать свой «Авито». Один из ребят из той команды сказал мне: «Блин, мы за полгода ни строчки кода не написали. Давай здесь не будет также…»
Про энтузиазм и конфликты
- Проект, абсолютно построенный на UGC – это, наверное, какой-то идеал, к которому вы стремитесь?
- Есть огромная разница, между тем как строить проект и как им пользоваться. Как им пользоваться — не вопрос. Мы все делаем для того, чтобы это была UGC-платформа с минимальным вмешательством со стороны администрации. То есть это действительно полностью власть пользователей. Люди сами решают, какой контент годный, что будет в тренде, что будет в топе, а чему нужно утонуть в минусах. Это полностью их вотчина.
Но при постройке самого проекта, при создании архитектуры, кодовой базы, дизайна такая демократия невозможна.
- А вы не думаете, что проекты, созданные на эмоциях, долго не живут?
Если в проекте только одна эмоция – я полностью согласна. Но «Капибара» разогналась до достаточно приличной скорости. Ее притормозить просто так не получится. У проекта колоссальная поддержка коммьюнити. Идея жива. Продукт людям нужен.
Даже если меня завтра собьёт автобус – «Капибар» легко восстановить, потому что исходники в открытом доступе.
У команды есть доступы, и базы данных «Капибары» могут поднять на соседнем домене. Я диверсифицировала риски.
- Что «Капибар» сегодня из себя представляет?
- Это платформа с честной регуляцией и алгоритмами, прозрачной рейтинговой системой, саморегуляцией контента пользователей и приятной площадкой для авторов.
Получается – основные отличия «Капибары» как UGC -платформы от сотен других соцсетей в том, что человек настраивает не только свою ленту – игнором тегов, подписками на теги, но и он влияет на то, что в трендах. У «Капибара» нет информационного пузыря. Здесь ценится то, что ты делаешь и пишешь.
Ленты «Тренды, Топ и Авторское» — это отдельные ленты, на которые ты не подписывался. Подписка — отдельная лента. Каждый человек влияет своими оценками на то, что попадает в тренды.
- Какие цифры у «Капибары» сейчас?
На сегодня Капибара — это 1 890 зарегистрированных верифицированных пользователей, постов за все время – 3 550, комментариев – 24 000.
Незарегистрированных пользователей мы еще не особо умеем считать. Пока здесь надежда на Google метрики, Яндекс-аналитику и Similarweb. Он, кстати, говорит, что у нас 192 000 посетителей за месяц.
- Для вас это больше цифры?
- Сложно сказать. Наверное, большие.
- Вы говорите, что 1, 8 тысяч зарегистрированных пользователей. Но если сравнивать с подписчиками какого-нибудь крупного паблика – это не очень большая цифра
- Капибар вышла в публичный доступ 1 января. Это отдельный сайт без раскрутки. Получается, что для проекта, который в доступе чуть больше 2 месяцев – это очень хороший показатель.
Саму разработку мы начинали летом. В ноябре вышли в закрытый альфа тест. Туда можно было заходить по приглашениям. Человек заходил со всеми дисклеймерами: понимал, что это тест, понимал, что еще куча багов. Но, таким образом, мы авторов запускали.
— Команда капибар. Кто это?
- Динамический состав команды. Часть разработчиков пришла со старта. Часть после. Часть присоединилась недавно. Это высококвалифицированные специалисты. С коммерческим опытом работы больше четырех лет. Я не могла позволить себе взять команду джунов. Потому что это оттягивало бы ресурс остальных разработчиков.
Все спецы очень высокого грейда. Все это истинные герои и энтузиасты. Идейные люди. Очень самостоятельные. С комплексным видением с умением цельно видеть весь продукт и проект. Что редкое качество.
- Сколько денег потратили на запуск проекта?
- Честно — не считала. Расходы на регистрации доменов, ботов для упрощения модерации в канале, инфраструктуру – это все совершенно не сравнимые цифры с тем, сколько бы я потратила на разработку, если проект был бы коммерческий.
-???
- Можно посмотреть на HeadHunter среднюю зарплату разработчиков. У нас 10 человек – костяк команды, а в целом в команде разработки было до 40 человек.
У нас динамический характер команды. Если бы все эти люди были на зарплате, то на проект уже бы потратили восьмизначные суммы.
(От автора)Чтобы посчитать возможные затраты на проект, я возьму среднюю зарплату программиста middle уровня в РФ – 120 000 рублей (hh. ru). Костяк команды «Капибара» — 10 человек. В итоге, ежемесячно на проект Ольга тратила бы 1, 2 млн. рублей. Учитывая, что с момента разработки прошло уже больше 7 месяцев, то затраты составили бы около 10 млн. руб только на постоянных участников проекта, не считая тех, кто нерегулярно привлекается к задачам.
«Капибара» едет на энтузиазме. Люди горят идеей, чтобы этот проект был. Чтобы существовала альтернатива. Поэтому open source код и затраты только на инфраструктуру (облачные сервера).
- Понимаю – проект молодой. Но были ли конфликты с пользователями?
- Да, конфликты случаются. Связано в первую очередь с тем, что «Капибара» – пока без политики. И мы об этом рассказывали до старта проекта, и повторяли не раз. Это записано в правилах и повторяется самими пользователями.
У некоторых были ожидания, что проект станет местом, где можно обсуждать и двигать свои политические идеи. Те, которые не проходят модерацию на «Пикабу».
Я не готова рисковать проектом, который могут «роскомнадзорнуть» за чье-то высказывание. И я не хочу, чтобы «Капибара» превращалась в агитплощадку. Потому что это очень непростая тема, на которую даже близкие люди могут переругаться. А на огромном сайте…
Конечно, есть не согласные с этим.
«Капибара» делалась как обитель авторского контента. Того, которому не придется сражаться за доступ к читателю пробиваясь через «баяны» и рекламу десятков тысяч телеграм-каналов. У всех были свои ожидания, и есть люди, которые ждали, что там будет свобода вообще во всем.
Отмечу, что мы ограничены законодательством всех стран технического контакта. Большинство пользователей из России, а значит, надо соблюдать закон РФ. Это мы делаем в добровольном порядке. Мы соблюдаем закон.
Главный фейл и инсайт Ольги в этом вихре "Капибара" я по-традиции опубликовал в своем телеграм-канале "Стас смотрит рекламу"
Про несогласие с отсутствием альтернативы на рынке
- «Капибар», «Вомбат», «Пипмай», есть, думаю, еще ряд проектов, о которых пока мы не знаем. Почему вдруг люди начали делать подобные проекты. В чем причина?
- Я думаю, несогласие с отсутствием альтернативы. В воздухе висит такое: «Хочешь альтернативу? Иди на «Reddit». Там англоязычные люди из далекого зарубежья и их посты тебе не «откликаются». Это не про тебя. Да, есть «Yaplakal. com» – там своя специфика. Есть «Fishki. net» – но это не замена «Пикабу».
- В чем отличия?
- По функционалу, по темам, по аудитории, по специфике.
- А чем аудитория отличается?
- Я взяла агрегированные данные. Читала немало постов на тему, почему это не аналог, но сама эту аналитику не проводила. Если вкратце – это не замена. Все аналогичные проекты, о которых говорили выше, стартовали, чтобы у людей был выбор
- У проекта есть бизнес-цель или это пока хобби?
Это точно не хобби. Это уже слишком серьезно.
Но цели «зашибать» там миллионы мы не ставили. Если финансово взлетит, то, конечно, отказываться от денег не будем. Цель минимум — вывести проект на «самоподдержание».
- А в целом, сколько времени у вас отнимает работа над «Капибарой»?
- Все свободное время. У меня стандартная восьмичасовая пятидневка. А «Капибар» это уже не просто «поработать». Я ею живу! У меня каждое утро начинается с «Капибар». Появляется минута на обеде – «Капибар». Свободный вечер – «Капибар».
- Как сейчас продвигается проект?
- SЕО продвижение. Страницы "Капибары" очень хорошо индексируются google и Яндексом. Ну, и конечно, сарафанное радио. Сообщество рассказывает о «Капибаре». Плюс, у нас есть страницы в ВК, откуда приходят люди. Но если верить Similarweb, то основное количество людей идет через Телеграм. Люди делятся статьями, пересылают их, рассказывают о них. Плюс у нас регулярные публикации на других ресурсах.
Например, первая статья на Хабре удачно выстрелила, есть статьи на vc, на tenchat, на реддите.
- То есть пока вы не заходите в такие инструменты как Яндекс. Директ и т. д.?
- Пока нет такой необходимости. Для этого нам нужно SEO ядро. Человек, который умеет это делать, чтобы не сливать бюджет.
«Все! Не могу больше…»
- Возвращаясь к Пикабу. Есть мнение из комментариев к одному моему интервью, что клонов у этого сайта десятки. Что можете ответить на это?
Могу ответить: «Пожалуйста, не бросайте начатое. Альтернативы — это прекрасно. Свободный рынок – это двигатель развития, прогресса. Нам нужно разнообразие. Чем больше создается таких площадок, тем выше шанс, что через 10-15 лет кто-то из нас будет еще существовать».
- То есть вы говорите о том, что если крупные площадки закроются, то вся масса пользователей останется без контента?
- Нет, без контента, конечно же, не останется. Но вопрос в качестве этого контента. Быстро, легко, смешно, листай-листай-листай… Посмотрите на рилсы в Инстаграме*, на клипы в ВК, перепосты «хохотачей» с Одноклассников, сотни тысяч телеграм-каналов с мемами. «Пикабу» взял тот же ориентир. Площадок с качественным авторским контентом все меньше.
- Есть еще мнение конспирологическое. Якобы за созданием «Вомбата» и «Капибар» стоит один человек. И якобы это сайд-проекты «Пикабу».
- Впервые слышу такое мнение. «Вомбаты» и «Капибары» в коллабе. Мы поддерживаем друг друга. У нас совместные активности и конкурсы. Тот же «Анонимный Дед мороз» или конкурс на 14 февраля. У них под тегом – #любовьморковь , у нас #расскажи мне о любви. И призы были совместные. Хлопнули по лапкам и помогаем в развитии друг другу.
Нет, никто не из администрации «Пикабу». Мы все — бывшие пользователи «Пикабу».
- Ольга, когда хотелось бросить проект? Ну, вот: «Все, не могу больше…»
«Капибара» началась, когда в моей жизни было одновременно две работы, и я только-только влезла в ипотеку. Представляете уровень нагрузки?! И тут появляется третья бесплатная работа — «Капибара».
Она забирает время и деньги. Конечно, я была близка к выгоранию! И, например, через месяц руки уже опускались!
Взяла выходные. Провела их как нормальные люди и снизила нагрузку. Тут мне очень помогли модераторы, команда проекта, активисты чата. Они взяли на себя многое из того, чем занималась я. И за чатом смотрели, и обновления сами выкатывали, и конкурсы сами проводили, и различные мероприятия/игры для поддержания активности пользователей, и объявления раскидывали, и с текстами помогали, и авторов звали. Стало проще.
- Ваша большая нагрузка была угрозой проекту?
- Это сложно назвать угрозой. Потому что я заложила очень сильный фундамент в «Капибару». У нее высокая автономность. Даже если бы я выпала на 3 месяца из проекта, то я сделала в команде высокую ставку на самоорганизованность.
- Что это значит?
- Каждый понимает, что он делает. И делает, не спрашивая разрешения. У нас есть функциональные требования и общее понимание того, во что целимся. В виде прототипа — тот же «Пикабу». И мне не нужно расписывать людям в деталях: сделай так или так. Команда высокопрофессиональная и на высоком уровне организованности.
Даже если все пропадет по щелчку Таноса – исходники находятся в открытом доступе. Кто-нибудь обязательно возьмет и продолжит…
*Meta – запрещенная на территории РФ организация
Мы проговорили с Ольгой несколько часов. Материала много. Она высококлассный специалист и не попросить ее поделиться лайфхаками было бы глупо. Она поделилась: как использует нейросети в работе над проектом. Нейронки пишут код, ищут ошибки, забирают рутину. Но, это уже вторая часть интервью, которая выйдет позже. Проанонсирую в своем канале: Стас смотрит рекламу
Одна из частых ошибок молодых программистов — экономия времени на чтении. Читают текст недостаточно внимательно, не понимают, что требуется, как именно должен быть оформлен результат — и создают вообще не ту программу, тратя кучу времени.
Читать нужно раз 5. Даже если там 2 строчки — 5 раз хотя бы. Тогда шансов так ошибиться гораздо меньше.
Репетитор как решатель домашних заданий — частое явление. У ученика проблемы, не получается, нанимают репетитора, но вместо подтягивания получается совместное решение заданий, которое ученик в школе потом выдаёт за своё.
Я такое не люблю и сразу предупреждаю, что делать не буду. Я могу показать общий принцип и разобрать несколько задач по теме. И это будут задачи по теме, но не те же, просто скопировать решение и заменить пару чисел не получится. Что интересно, пока не встречал людей, которые бы с таким подходом не соглашались. Кто чётко ищет решателя и пишет об этом, тех я сразу отправляю искать других людей.
Хагрид сказал «Ты волшебник, Гарри!». Тем самым создал связь: под именем Harry_Potter подразумевается волшебник. Получилась пара «имя-значение, которое за ним скрывается». В программировании такие пары называются переменным и они пронизывают всё программирование. Напишем вот это создание переменной на языках программирования:
Harry_Potter = "волшебник"
let Harry_Potter = "волшебник";
String Harry_Potter = "волшебник";
Выше — три варианта, как создать переменную, пару «имя-значение» на трёх разных языках программирования. Во многих языках создание такой пары обозначается с помощью «=». Слева от него пишем имя, справа — значение. Имя пишется всегда без кавычек. Значение, если это текст — в кавычках. Остальное варьируется.
Но! Позже значение Гарри Поттера меняется. Мы узнаём, что он важный символ, «Мальчик, который выжил». Значение человека, скрывающегося за именем Harry Potter, меняется, и с переменной в программировании такое тоже бывает. Чтобы поменять значение в переменной, тоже используют «=», вот вариант для двух языков:
Harry_Potter = "Мальчик, который выжил"
Harry_Potter = "Мальчик, который выжил";
В третьем языке точно так же это делается, как во втором.
Всё, после этого Harry_Potter означает "Мальчик, который выжил". И так можно делать снова и снова. Например, когда Гарри начинает учиться, многие читатели приходят к выводу, что он дурачок и двоечник, особенно на фоне Гермионы Грейнджер. И так постепенно появляются новые значения, и снова и снова мы можем менять значения имени Harry Potter с помощью «=».
А теперь предлагаю поупражняться и немного поиграть. Попробуйте сами найти в Гарри Поттере пары «имя-значение» и увидеть, как и сколько раз значения в этих парах менялись по ходу прочтения книг. И напишите сюда. Да, имя с точки зрения программирования не только у одушевлённых объектов может быть. В программировании это синоним слова «название». «Табуретка» — тоже имя, если за ним скрывается что-то определённое.
Комментарии