Точно не помню, как я начал стримить, но помню какое впечатление это на меня произвело. Я начал программировать в 2003 году [1], хотя в то время у меня еще даже не было интернета. У меня была книга "Symfonia C++" и старый компилятор Borland 3.11.



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



Вступление


Вы наверняка слышали о Twitch. Эта странная платформа, где вы можете наблюдать, как другие люди играют в игры. Почему люди делают это? Потому что они хотят поделиться опытом и они имеют общую страсть к играм. Я не игрок, но уверен, что это интересно и в некотором роде познавательно. Стоял лишь вопрос времени (и пропускной способности интернета), прежде чем люди поймут, что стриминг может быть использован для различных целей.


“Ты тратишь слишком много времени за компьютером” @Мама


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


Отладка вслух


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


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



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


Подсказки



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


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


Обратная связь



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


Архив


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


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


Оценка стараний и работы


Оценка стараний — была ли у вас ситуация, в которой вы сделали что-то значимое, но никто не понимал сколько времени и усилий вы потратили чтобы в конечном итоге создать качественный продукт? Был там, сделал это. Их ли это вина, что вы плохи в маркетинге? Нет, это не так!


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


Оценка работы — есть работодатели, которым нужны парни как вы, но иногда вы находитесь в другой части мира. Теоретически они могут нанять вас для удаленной работы, но есть очень много проблем с удаленными сотрудниками…


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


“Но погоди… кто то ведь может украсть мой проект!”


Нет, не украдут. Давайте посмотрим правде в глаза, вероятность того что вы создаете продукт который взорвет мир невелика, а если и создаете, вы должны помнить, что: "идея 1% успеха и 99% реализация".


В основном люди понимают что если они хотят построить что-то подобное, с большей вероятностью они пожелают вам помочь или просто предложат сотрудничество. Я занимаюсь разработкой своего проекта с открытым исходным кодом Price Comparison Engine с 1 апреля. Я записал более 150 часов кодинга, с 7406 просмотров, 116 подписчиков и 20 звезд на GitHub — это безумие! С тех пор как я начал стримить, я заметил, что могу сделать больше за меньшее время и в гораздо лучшей атмосфере. И это меня очень мотивирует!



Будет ли это так же хорошо работать для вас? Не знаю, есть только один способ проверить…


Эта статья была написана за 5 часов трансляции через Livecoding.tv


Автор: Noisy, оригинал

Поделиться с друзьями
-->

Комментарии (51)


  1. Xao
    10.08.2016 16:03
    +1

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


    1. JustRoo
      10.08.2016 17:31
      +2

      Чтобы начать стримить, обычно достаточно скачать и настроить OBS, завести аккаунт на стриминговом сайте и, собственно, начать. Дальше пойдут заморочки с настройкой качества видео и звука, но там не очень больно.


      1. Alexufo
        10.08.2016 23:44

        господи, когда в OBS добавять VST плагины… мочи нет терпеть((


        1. JustRoo
          11.08.2016 00:06
          +9

          Когда ты забацаешь пулл-реквест. Это опенсорс, детка =)


        1. rdifb0
          11.08.2016 17:05

          Возьмите какой-нибудь DAW для микширования + виртуальный кабель.


  1. RoiS
    10.08.2016 16:12
    +10

    Я могу понять, для чего можно транслировать свою работу. А вот чего ради люди смотрят на этот процесс? Не могу сходу придумать мотивацию.


    1. Loki3000
      10.08.2016 17:00

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


    1. JustRoo
      10.08.2016 17:27
      +4

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


      1. 0xffaa
        11.08.2016 09:50

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


    1. msfs11
      10.08.2016 18:44

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


      1. Deffe
        11.08.2016 10:02

        Можно поинтересоваться, в чем именно была загвоздка? Что значит «не мог понять как кодить» — открываешь текстовый редактор и пишешь.


        1. alexkran
          11.08.2016 13:51

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


          1. Lemko
            11.08.2016 16:54

            Не успел, хотел приблизительно тоже сказать :)


    1. u1789
      10.08.2016 21:39
      +1

      Иногда смотрю стримеров в фоне. Что-то, кто-то там бубнит, в углу экрана что-то мелькает, услышал интересное — развернул.
      Алсо, интересно смотреть стримеров которые участвуют в каком-нибудь конкурсе. Ludum dare, тот же самый, плюс можно поучаствовать в обсуждении и посоветовать что-то.


    1. sayber
      12.08.2016 00:11

      Я иногда смотрю.
      К примеру стример играет в World of Warcraft, пользователи ресурса смотрят стрим и что то советуют/обсуждают.
      Хотя казалось бы, 90% зрителей тоже играют в WoW.

      Так же и тут.


    1. 0xffaa
      12.08.2016 06:45

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


  1. Mats
    10.08.2016 17:29
    +11

    Для меня это новость, что есть стрим процесса кодирования))


  1. perfect_genius
    10.08.2016 17:36
    -3

    Нужен бы отдельный сервис для «стриминга» кодинга, чтобы не через избыточное видео, а поток команд. Страшно становится когда понимаешь, как много мусора содержит Интернет, и нет всеобщего голосования о его удалении из информационного пространства. И ведь нашим потомкам всё это разгребать, не только физический мусор. Оптимист во мне говорит, что этим будет заниматься ИИ.


    1. lgorSL
      10.08.2016 19:34
      +2

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


      1. perfect_genius
        10.08.2016 19:44
        +1

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


        1. DCNick3
          11.08.2016 01:15

          Да, идея хороша, но… Воплотить её в жизнь будет трудно, ведь у нас есть множество сред разработки, а для каждой такое не напишешь. А кто-то вообще любитель всё это в текстовом редакторе пилить, а компилировать из консоли. Поэтому… можно но сложно.


          1. perfect_genius
            11.08.2016 09:23

            Я думал про текстовое поле в браузере, но ваша безбраузерная идея тоже интересна. Для любых открытых популярных сред быстро напишут. Будьте оптимистами и переставляйте слова в предложении — «Сложно, но можно» =)


            1. Tab10id
              11.08.2016 13:32

              Идея классная, причем даже реализация не должна быть слишком сложной. Но есть ряд сложностей с UI и UX ко всему этому делу. Например я не знаю как при этом будет отображаться процесс «листания» кода «стриммером» и нужно ли это отображать. Нужно ли позволять пользователю просматривать соседние файлы. Позволять ли пользователю использовать ctrl+click и не превращается ли весь этот процесс в совместную работу или парное программирование, потому что следующий шаг — позволение «зрителю» тоже писать код


        1. Laney1
          11.08.2016 09:28

          «программирование — это не только четкий шрифт» (с)

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


          1. perfect_genius
            11.08.2016 10:56

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


  1. spinmozg
    10.08.2016 17:45
    +1

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


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


    1. Boberto
      10.08.2016 23:00
      +1

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


    1. Deosis
      11.08.2016 06:53

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


      1. Boberto
        11.08.2016 10:42

        В хорошо заданном вопросе — две трети ответа.


  1. GoldGoblin
    10.08.2016 17:56
    +10

    Всегда когда смотрю стримы хочется перемотать в перед когда начинается скучный для меня участок…


  1. Laney1
    10.08.2016 18:21
    +1

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

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


  1. Paulster
    10.08.2016 18:47
    +16

    Безопасникам понравится идея стриминга работы программиста ;)


  1. Sdima1357
    11.08.2016 00:51
    +3

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


  1. Kondra007
    11.08.2016 09:51

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


    Знаю, что описание не очень, но совсем забыл, как это называется. Не подскажете?


    1. Kondra007
      12.08.2016 20:33
      +1

  1. n2l
    11.08.2016 11:29

    Уже довольно давненкьо на том же твиче есть стример-программист pajlada, у которого не только можно поучится новому и интересному, но еще и достаточно повеселиться, т.к. он проводит стримы в юмористически-саркастичном стиле, с упоротой музыкой и шутками. Кодит в основном на python.


  1. WTFRU7
    11.08.2016 12:20
    +1

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

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

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


    1. JustRoo
      11.08.2016 12:23
      +1

      Если нормально настроить софт, захватываться будут только те окна, в которых ты кодишь. Никакой утечки там быть не должно.


      1. ya-est
        11.08.2016 15:20

        А если какой-нибдуь конфиг с паролями открыл в редакторе? Что делать?


        1. JustRoo
          11.08.2016 15:30

          Я думал об этом, но тут слишком много разных вариантов:
          1) Не хранить конфиги в исходниках, а хранить в окружении
          2) Открывать файлы конфигов другим редактором, который не будет захватываться
          3) Быть внимательным
          4) Сказать «упс, ошибочка вышла» и поменять пароли


          1. Vapaamies
            12.08.2016 14:50
            +2

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


  1. aezhko
    11.08.2016 13:03
    +1

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


  1. tonymontano
    11.08.2016 15:38

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


    1. zarytskiy
      11.08.2016 20:43

      тут те кто онлайн


  1. Aracon
    11.08.2016 17:53

    Уже несколько месяцев есть желание делать стримы, в том числе обдумывал вариант стримить кодинг как основную деятельность (и работа, и хобби) — но вот только понимаю, что в проектах на экране зачастую приватные данные, и что с этим делать, не очень понятно.


  1. Arturo01
    12.08.2016 01:31
    +1

    Раньше стримил пару раз, в целом понравилось, несколько ошибок было замечено зрителями и в целом мотивации кодить больше


  1. mushamib
    12.08.2016 01:35
    +1

    «Let’s Play» для программистов


  1. Alter116
    12.08.2016 15:36

    Не хорошо удалять неугодные комментарии, но дело ваше.
    Не вижу повода гордится 116 подписчиками.


  1. Ku6ep
    12.08.2016 17:24

    Что-то упомянутый сайт лежит :( Хабраэффект? А альтернативные источники есть? А то захотелось ознакомиться.


    1. zarytskiy
      13.08.2016 08:37

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


  1. kryoz
    14.08.2016 15:05

    А как же NDA?