Как я повысил продуктивность с помощью стриминга

    Точно не помню, как я начал стримить, но помню какое впечатление это на меня произвело. Я начал программировать в 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, оригинал

    Метки:
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 55
    • +1
      Кейс это хорошо, но хотелось бы больше информации, как начать делать также. Инструменты я имею ввиду, например.
      • +2
        Чтобы начать стримить, обычно достаточно скачать и настроить OBS, завести аккаунт на стриминговом сайте и, собственно, начать. Дальше пойдут заморочки с настройкой качества видео и звука, но там не очень больно.
        • 0
          господи, когда в OBS добавять VST плагины… мочи нет терпеть((
          • +9
            Когда ты забацаешь пулл-реквест. Это опенсорс, детка =)
            • 0
              Возьмите какой-нибудь DAW для микширования + виртуальный кабель.
            • 0

              Что-то у меня выходит замыленное и едва различимое.


              Чего я делаю не так?

              • +1
                Попробуй FPS = 15
                • 0

                  попробовал — битрейт ограничен, шибко мылится картинка. hitbox.tv намного вкуснее, но теперь затык с интернетом. :)


                  What can and can't I stream on hitbox? Game, Web, and Program development. Impress us with your super awesome coding skills.

                  src

          • +10
            Я могу понять, для чего можно транслировать свою работу. А вот чего ради люди смотрят на этот процесс? Не могу сходу придумать мотивацию.
            • 0
              Посмотреть как происходит процесс программирования и отладки, наверное. Правда, не могу представить что зрители такого уровня могут подсказать или посоветовать стримеру.
              • +4
                Для меня это как посмотреть сериал или кино вечером или на выходных, только можно ещё и пользу получить. Плюс основная фишка стримов не в собственно видео, а в комьюнити и, особенно, в чате. Ты видишь чувака, который кодит на том же, на чём и ты, заходишь на стрим и спрашиваешь — слушай, а для функциональных тестов ты что используешь? Или — слушай, а ты не знаешь какую-нибудь либу, чтобы вебсокеты асинхронно держать? Или — слушай, мне нужно впилить класс, у которого четыре метода, но у каждого метода может быть несколько вариантов реализации, как это всё лучше декомпозировать? И тут же получаешь фидбек от стримера и чата. А можно ничего не спрашивать, просто смотреть и вылавливать что-то интересное.
                • 0
                  при таком сценарии продуктивность может упасть, ты вроде как постоянно отвлекаешься на вопросы в чате.
                • 0
                  в начале обучения у меня был тормоз, что я не мог понять как кодить. только после вечера проведенного за плечем более опытного друга процесс пошел.
                  • 0
                    Можно поинтересоваться, в чем именно была загвоздка? Что значит «не мог понять как кодить» — открываешь текстовый редактор и пишешь.
                    • 0
                      По своему опыту могу предположить, что человек просто мог не понимать как правильно реализовывать(или даже просто примитивно реализовать) то, что он хочет.
                      Опытным людям идеи реализаций сами по себе в голову лезут, но новичкам — не всегда.
                      • 0
                        Не успел, хотел приблизительно тоже сказать :)
                  • +1
                    Иногда смотрю стримеров в фоне. Что-то, кто-то там бубнит, в углу экрана что-то мелькает, услышал интересное — развернул.
                    Алсо, интересно смотреть стримеров которые участвуют в каком-нибудь конкурсе. Ludum dare, тот же самый, плюс можно поучаствовать в обсуждении и посоветовать что-то.
                    • 0
                      Я иногда смотрю.
                      К примеру стример играет в World of Warcraft, пользователи ресурса смотрят стрим и что то советуют/обсуждают.
                      Хотя казалось бы, 90% зрителей тоже играют в WoW.

                      Так же и тут.
                      • 0
                        посмотреть как другие люди готовят свои проекты, какую архитектуру используют, посоветовать и обсудить свои решения. а еще очень полезно когда изучаешь новый язык, например с С++ перешел на python, а там немного другой подход к разработке и проектированию, другие стандарты кодирования, другая философия, лучшей способ в данном случае быстро понять как принято писать в сообществе, это посмотреть стрим уже опытного разработчика на python.
                        • 0
                          меня смотрят программисты значительно выше уровнем, чем я, причем — во время своей основной работы (кодинга), открывая стрим на втором экране, и так делает минимум двое, которые мне еще и помогают в прямом эфире, когда в чате, а когда и голосом в дискорде. Намного эффективнее работа у меня происходит, а их это не сильно напрягает, а даже разнообразит их собственный рабочий процесс
                        • +11
                          Для меня это новость, что есть стрим процесса кодирования))
                          • –3
                            Нужен бы отдельный сервис для «стриминга» кодинга, чтобы не через избыточное видео, а поток команд. Страшно становится когда понимаешь, как много мусора содержит Интернет, и нет всеобщего голосования о его удалении из информационного пространства. И ведь нашим потомкам всё это разгребать, не только физический мусор. Оптимист во мне говорит, что этим будет заниматься ИИ.
                            • +2

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

                              • +1
                                Но в текстовом виде зритель получит настраиваемый чёткий шрифт, сможет копировать на ходу и выделять места с ошибками.
                                • 0
                                  Да, идея хороша, но… Воплотить её в жизнь будет трудно, ведь у нас есть множество сред разработки, а для каждой такое не напишешь. А кто-то вообще любитель всё это в текстовом редакторе пилить, а компилировать из консоли. Поэтому… можно но сложно.
                                  • 0
                                    Я думал про текстовое поле в браузере, но ваша безбраузерная идея тоже интересна. Для любых открытых популярных сред быстро напишут. Будьте оптимистами и переставляйте слова в предложении — «Сложно, но можно» =)
                                    • 0
                                      Идея классная, причем даже реализация не должна быть слишком сложной. Но есть ряд сложностей с UI и UX ко всему этому делу. Например я не знаю как при этом будет отображаться процесс «листания» кода «стриммером» и нужно ли это отображать. Нужно ли позволять пользователю просматривать соседние файлы. Позволять ли пользователю использовать ctrl+click и не превращается ли весь этот процесс в совместную работу или парное программирование, потому что следующий шаг — позволение «зрителю» тоже писать код
                                  • 0
                                    «программирование — это не только четкий шрифт» (с)

                                    а вообще, возьмите любую онлайн-IDE с функцией совместного редактирования, это по сути и есть то что вы описали
                                    • 0
                                      Осталось понять, чем стримы больше устраивают. Простотой запуска, наверно.
                              • +1
                                В мире программистов существует хорошо известный феномен, который заключается в том что вы можете найти решение сложной задачи, просто описывая ее вслух.


                                Вообще-то, это относится не только к программистам. Я слышал примерно такую формулировку: «Хочешь решить проблему, объясни суть проблемы другому человеку». Возможно, это как-то связано с особенностями человеческого мышления — облекая проблему в слова, человек в большей степени формализует ее или, другими словами, более строго формулирует.
                                • +1
                                  Я в одной небольшой конторке работал, там частью культуры было в случае ступора выйти к доске и обьяснить коллегам, в чём проблема. Коллеги внимательно слушают, не обязательно все, но пара человек вникают. При этом пофиг, что вообще не их профиль, уборщица баба глаша тоже слушала бы. Как правило в процессе объяснения и рисования схем да графиков оратор находил проблему немного в ином месте, чем сам искал. Ну и бредоватые подсказки из аудитори не всегда были такими уж бредоватыми.
                                  • 0
                                    Возможно, в этом случае к решению проблемы подключаются другие отделы мозга (речевой, моторный, и т.д.)
                                    • 0
                                      В хорошо заданном вопросе — две трети ответа.
                                  • +10
                                    Всегда когда смотрю стримы хочется перемотать в перед когда начинается скучный для меня участок…
                                    • +1
                                      несколько раз наблюдал на livecoding: если стример не просто пускает картинку с экрана, а начинает общаться со зрителями, то у него очень быстро образуется аудитория, которая сможет подсказать решение проблемы быстрее любого stackoverflow.

                                      Сам тоже пробовал стримить месяца 2 назад, и до сих пор получаю новых подписчиков. Да, это очень сильно дисциплинирует.
                                      • +16
                                        Безопасникам понравится идея стриминга работы программиста ;)
                                        • +3
                                          Жена купила три… точно таких-же уточки для меня. Теперь я знаю что с ними делать. Одну точно подарю начальнику, а то обидно когда меня используют вместо резиновой уточки.
                                          • 0

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


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

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

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

                                              Из минусов разве что невозможность показать код того, чем занимаешься на основной работе + неудобство в плане того, что на видео может быть случайно показана какая-то личная информация в виде акков-паролей, так что для параноиков вполне может не подойти
                                              • +1
                                                Если нормально настроить софт, захватываться будут только те окна, в которых ты кодишь. Никакой утечки там быть не должно.
                                                • 0
                                                  А если какой-нибдуь конфиг с паролями открыл в редакторе? Что делать?
                                                  • 0
                                                    Я думал об этом, но тут слишком много разных вариантов:
                                                    1) Не хранить конфиги в исходниках, а хранить в окружении
                                                    2) Открывать файлы конфигов другим редактором, который не будет захватываться
                                                    3) Быть внимательным
                                                    4) Сказать «упс, ошибочка вышла» и поменять пароли
                                                    • +2
                                                      Купить, наконец, второй монитор. Или пускать заставку во время просмотра конфиденциальной инфы. В OBS есть сцены, быстрое переключение между ними можно настроить по горячей клавише.
                                              • +1
                                                Мне тоже приходила в голову эта идея, правда в формате стриминга процесса разработки, а в формате вечерних дискуссий на технические темы и помощи новичкам в ИТ. Правда я ленив, и до реализации пилота дело пока что не дошло.
                                                • 0
                                                  А можете ссылки дать какие-нибудь на стримеров, не совсем понимаю где их искать.
                                                • 0
                                                  Уже несколько месяцев есть желание делать стримы, в том числе обдумывал вариант стримить кодинг как основную деятельность (и работа, и хобби) — но вот только понимаю, что в проектах на экране зачастую приватные данные, и что с этим делать, не очень понятно.
                                                  • +1
                                                    Раньше стримил пару раз, в целом понравилось, несколько ошибок было замечено зрителями и в целом мотивации кодить больше
                                                    • +1
                                                      «Let’s Play» для программистов
                                                      • 0
                                                        Не хорошо удалять неугодные комментарии, но дело ваше.
                                                        Не вижу повода гордится 116 подписчиками.
                                                        • 0
                                                          Что-то упомянутый сайт лежит :( Хабраэффект? А альтернативные источники есть? А то захотелось ознакомиться.
                                                          • 0
                                                            Уже работает, возможно хабраэффект, пользуюсь им пол года и не помню чтоб такое случалось ранее. Как альтернатива есть twitch, но там видео не сохраняются и в целом он создан для геймеров.
                                                          • 0
                                                            А как же NDA?

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