Точно не помню, как я начал стримить, но помню какое впечатление это на меня произвело. Я начал программировать в 2003 году [1], хотя в то время у меня еще даже не было интернета. У меня была книга "Symfonia C++" и старый компилятор Borland 3.11.
Тогда у меня случалась большая проблема, каждый раз, когда я сталкивался с ошибкой. Как новичок я не знал, как эффективно отлаживать код и моя огромная книга не могла мне с этим помочь. Но, к счастью, я не сдавался.
Вступление
Вы наверняка слышали о Twitch. Эта странная платформа, где вы можете наблюдать, как другие люди играют в игры. Почему люди делают это? Потому что они хотят поделиться опытом и они имеют общую страсть к играм. Я не игрок, но уверен, что это интересно и в некотором роде познавательно. Стоял лишь вопрос времени (и пропускной способности интернета), прежде чем люди поймут, что стриминг может быть использован для различных целей.
“Ты тратишь слишком много времени за компьютером” @Мама
Но есть места где люди понимают, почему ты “тратишь” свое время на написание бессмысленного кода, который “не делает ничего полезного”. В таких местах люди помогают друг другу, потому что они понимают, насколько это важно для вас. Для меня таким местом стал LiveCoding.tv.
Отладка вслух
В мире программистов существует хорошо известный феномен, который заключается в том что вы можете найти решение сложной задачи, просто описывая ее вслух.
Есть еще одна теория, где иногда вам даже не нужен реальный собеседник и можно обойтись резиновой уткой.
Это правда, как бы глупо не звучало. Но поверьте, реальные люди умнее и дают гораздо лучшее советы. Я искренне рад тому, что могу найти так много людей, которые могут помочь мне.
Подсказки
Когда другие люди смотрят, как вы работаете, они могут замечать вещи, которые вы упустили. Чем раньше они расскажут вам об ошибке, тем меньше времени вы будете тратить потом на отладку.
Я также заметил, что когда другие люди наблюдают за моей работой, я пытаюсь писать код лучше, больше тестировать и лучше форматировать. Все потому, что я хочу, чтобы мои зрители были в курсе того чем я занимаюсь.
Обратная связь
Мы не идеальны, наши решения не всегда могут быть правильными. Вы можете иметь хорошую идею, но брейншторминг с другими программистами, практически всегда даст положительный эффект. Плюс вы всегда можете получить отзыв насчет той или иной мысли, либо продукта.
Архив
Вы будете иметь полный архив процесса разработки вашего продукта. Не поймите меня неправильно, это ни в коем случае не сможет заменить документацию проекта.
Тем не менее, вы никогда не будете иметь возможность документировать свою работу и мысли более подробно. Может быть, вы не будете нуждаться в этом, потому что вы все помните, но, вероятно, в будущем у вас будет недостаточно времени на поддержку всех проектов. А также, возможно, кто то захочет продолжить ваш проект тогда у них будет объяснение на каждое ваше решение, которое вы сделали в процессе разработки.
Оценка стараний и работы
Оценка стараний — была ли у вас ситуация, в которой вы сделали что-то значимое, но никто не понимал сколько времени и усилий вы потратили чтобы в конечном итоге создать качественный продукт? Был там, сделал это. Их ли это вина, что вы плохи в маркетинге? Нет, это не так!
Истина заключается в том, что за каждый большой проект реализуется через бесчисленное количество часов напряженной работы, пота и слез. Когда люди видят тяжелую работу, они действительно могут это оценить, но для начала вы должны дать им шанс увидеть это!
Оценка работы — есть работодатели, которым нужны парни как вы, но иногда вы находитесь в другой части мира. Теоретически они могут нанять вас для удаленной работы, но есть очень много проблем с удаленными сотрудниками…
Ваша работа станет абсолютно прозрачной если вы будете транслировать процесс разработки и вы сможете очень легко доказать, что работаете на совесть.
“Но погоди… кто то ведь может украсть мой проект!”
Нет, не украдут. Давайте посмотрим правде в глаза, вероятность того что вы создаете продукт который взорвет мир невелика, а если и создаете, вы должны помнить, что: "идея 1% успеха и 99% реализация".
В основном люди понимают что если они хотят построить что-то подобное, с большей вероятностью они пожелают вам помочь или просто предложат сотрудничество. Я занимаюсь разработкой своего проекта с открытым исходным кодом Price Comparison Engine с 1 апреля. Я записал более 150 часов кодинга, с 7406 просмотров, 116 подписчиков и 20 звезд на GitHub — это безумие! С тех пор как я начал стримить, я заметил, что могу сделать больше за меньшее время и в гораздо лучшей атмосфере. И это меня очень мотивирует!
Будет ли это так же хорошо работать для вас? Не знаю, есть только один способ проверить…
Эта статья была написана за 5 часов трансляции через Livecoding.tv
Комментарии (51)
RoiS
10.08.2016 16:12+10Я могу понять, для чего можно транслировать свою работу. А вот чего ради люди смотрят на этот процесс? Не могу сходу придумать мотивацию.
Loki3000
10.08.2016 17:00Посмотреть как происходит процесс программирования и отладки, наверное. Правда, не могу представить что зрители такого уровня могут подсказать или посоветовать стримеру.
JustRoo
10.08.2016 17:27+4Для меня это как посмотреть сериал или кино вечером или на выходных, только можно ещё и пользу получить. Плюс основная фишка стримов не в собственно видео, а в комьюнити и, особенно, в чате. Ты видишь чувака, который кодит на том же, на чём и ты, заходишь на стрим и спрашиваешь — слушай, а для функциональных тестов ты что используешь? Или — слушай, а ты не знаешь какую-нибудь либу, чтобы вебсокеты асинхронно держать? Или — слушай, мне нужно впилить класс, у которого четыре метода, но у каждого метода может быть несколько вариантов реализации, как это всё лучше декомпозировать? И тут же получаешь фидбек от стримера и чата. А можно ничего не спрашивать, просто смотреть и вылавливать что-то интересное.
0xffaa
11.08.2016 09:50при таком сценарии продуктивность может упасть, ты вроде как постоянно отвлекаешься на вопросы в чате.
msfs11
10.08.2016 18:44в начале обучения у меня был тормоз, что я не мог понять как кодить. только после вечера проведенного за плечем более опытного друга процесс пошел.
Deffe
11.08.2016 10:02Можно поинтересоваться, в чем именно была загвоздка? Что значит «не мог понять как кодить» — открываешь текстовый редактор и пишешь.
alexkran
11.08.2016 13:51По своему опыту могу предположить, что человек просто мог не понимать как правильно реализовывать(или даже просто примитивно реализовать) то, что он хочет.
Опытным людям идеи реализаций сами по себе в голову лезут, но новичкам — не всегда.
u1789
10.08.2016 21:39+1Иногда смотрю стримеров в фоне. Что-то, кто-то там бубнит, в углу экрана что-то мелькает, услышал интересное — развернул.
Алсо, интересно смотреть стримеров которые участвуют в каком-нибудь конкурсе. Ludum dare, тот же самый, плюс можно поучаствовать в обсуждении и посоветовать что-то.
sayber
12.08.2016 00:11Я иногда смотрю.
К примеру стример играет в World of Warcraft, пользователи ресурса смотрят стрим и что то советуют/обсуждают.
Хотя казалось бы, 90% зрителей тоже играют в WoW.
Так же и тут.
0xffaa
12.08.2016 06:45посмотреть как другие люди готовят свои проекты, какую архитектуру используют, посоветовать и обсудить свои решения. а еще очень полезно когда изучаешь новый язык, например с С++ перешел на python, а там немного другой подход к разработке и проектированию, другие стандарты кодирования, другая философия, лучшей способ в данном случае быстро понять как принято писать в сообществе, это посмотреть стрим уже опытного разработчика на python.
perfect_genius
10.08.2016 17:36-3Нужен бы отдельный сервис для «стриминга» кодинга, чтобы не через избыточное видео, а поток команд. Страшно становится когда понимаешь, как много мусора содержит Интернет, и нет всеобщего голосования о его удалении из информационного пространства. И ведь нашим потомкам всё это разгребать, не только физический мусор. Оптимист во мне говорит, что этим будет заниматься ИИ.
lgorSL
10.08.2016 19:34+2Я думаю, при кодировании видео учитывается то, что большая часть изображения не изменяется, и такое видео будет сжиматься очень хорошо.
perfect_genius
10.08.2016 19:44+1Но в текстовом виде зритель получит настраиваемый чёткий шрифт, сможет копировать на ходу и выделять места с ошибками.
DCNick3
11.08.2016 01:15Да, идея хороша, но… Воплотить её в жизнь будет трудно, ведь у нас есть множество сред разработки, а для каждой такое не напишешь. А кто-то вообще любитель всё это в текстовом редакторе пилить, а компилировать из консоли. Поэтому… можно но сложно.
perfect_genius
11.08.2016 09:23Я думал про текстовое поле в браузере, но ваша безбраузерная идея тоже интересна. Для любых открытых популярных сред быстро напишут. Будьте оптимистами и переставляйте слова в предложении — «Сложно, но можно» =)
Tab10id
11.08.2016 13:32Идея классная, причем даже реализация не должна быть слишком сложной. Но есть ряд сложностей с UI и UX ко всему этому делу. Например я не знаю как при этом будет отображаться процесс «листания» кода «стриммером» и нужно ли это отображать. Нужно ли позволять пользователю просматривать соседние файлы. Позволять ли пользователю использовать ctrl+click и не превращается ли весь этот процесс в совместную работу или парное программирование, потому что следующий шаг — позволение «зрителю» тоже писать код
Laney1
11.08.2016 09:28«программирование — это не только четкий шрифт» (с)
а вообще, возьмите любую онлайн-IDE с функцией совместного редактирования, это по сути и есть то что вы описалиperfect_genius
11.08.2016 10:56Осталось понять, чем стримы больше устраивают. Простотой запуска, наверно.
spinmozg
10.08.2016 17:45+1В мире программистов существует хорошо известный феномен, который заключается в том что вы можете найти решение сложной задачи, просто описывая ее вслух.
Вообще-то, это относится не только к программистам. Я слышал примерно такую формулировку: «Хочешь решить проблему, объясни суть проблемы другому человеку». Возможно, это как-то связано с особенностями человеческого мышления — облекая проблему в слова, человек в большей степени формализует ее или, другими словами, более строго формулирует.Boberto
10.08.2016 23:00+1Я в одной небольшой конторке работал, там частью культуры было в случае ступора выйти к доске и обьяснить коллегам, в чём проблема. Коллеги внимательно слушают, не обязательно все, но пара человек вникают. При этом пофиг, что вообще не их профиль, уборщица баба глаша тоже слушала бы. Как правило в процессе объяснения и рисования схем да графиков оратор находил проблему немного в ином месте, чем сам искал. Ну и бредоватые подсказки из аудитори не всегда были такими уж бредоватыми.
GoldGoblin
10.08.2016 17:56+10Всегда когда смотрю стримы хочется перемотать в перед когда начинается скучный для меня участок…
Laney1
10.08.2016 18:21+1несколько раз наблюдал на livecoding: если стример не просто пускает картинку с экрана, а начинает общаться со зрителями, то у него очень быстро образуется аудитория, которая сможет подсказать решение проблемы быстрее любого stackoverflow.
Сам тоже пробовал стримить месяца 2 назад, и до сих пор получаю новых подписчиков. Да, это очень сильно дисциплинирует.
Sdima1357
11.08.2016 00:51+3Жена купила три… точно таких-же уточки для меня. Теперь я знаю что с ними делать. Одну точно подарю начальнику, а то обидно когда меня используют вместо резиновой уточки.
Kondra007
11.08.2016 09:51Встречал в своё время сервис (вместе с линукс-утилитой), которая позволяет стримить работу в консоли, при этом зрители могут свободно выделять и копировать набираемый текст.
Знаю, что описание не очень, но совсем забыл, как это называется. Не подскажете?
n2l
11.08.2016 11:29Уже довольно давненкьо на том же твиче есть стример-программист pajlada, у которого не только можно поучится новому и интересному, но еще и достаточно повеселиться, т.к. он проводит стримы в юмористически-саркастичном стиле, с упоротой музыкой и шутками. Кодит в основном на python.
WTFRU7
11.08.2016 12:20+1вот буквально месяц назад пришла в голову аналогичная идея!
Стрим как мотивация для дальнейшей разработки личного проекта — приходится ежедневно по шагам делать новый функционал, есть постоянное чувство боязни облажаться перед случайным зрителем, сделать говнокод или где-то схалявить. Первую неделю шло на ура, но в привычку так и не вошло.
Из минусов разве что невозможность показать код того, чем занимаешься на основной работе + неудобство в плане того, что на видео может быть случайно показана какая-то личная информация в виде акков-паролей, так что для параноиков вполне может не подойтиJustRoo
11.08.2016 12:23+1Если нормально настроить софт, захватываться будут только те окна, в которых ты кодишь. Никакой утечки там быть не должно.
ya-est
11.08.2016 15:20А если какой-нибдуь конфиг с паролями открыл в редакторе? Что делать?
JustRoo
11.08.2016 15:30Я думал об этом, но тут слишком много разных вариантов:
1) Не хранить конфиги в исходниках, а хранить в окружении
2) Открывать файлы конфигов другим редактором, который не будет захватываться
3) Быть внимательным
4) Сказать «упс, ошибочка вышла» и поменять паролиVapaamies
12.08.2016 14:50+2Купить, наконец, второй монитор. Или пускать заставку во время просмотра конфиденциальной инфы. В OBS есть сцены, быстрое переключение между ними можно настроить по горячей клавише.
aezhko
11.08.2016 13:03+1Мне тоже приходила в голову эта идея, правда в формате стриминга процесса разработки, а в формате вечерних дискуссий на технические темы и помощи новичкам в ИТ. Правда я ленив, и до реализации пилота дело пока что не дошло.
tonymontano
11.08.2016 15:38А можете ссылки дать какие-нибудь на стримеров, не совсем понимаю где их искать.
Aracon
11.08.2016 17:53Уже несколько месяцев есть желание делать стримы, в том числе обдумывал вариант стримить кодинг как основную деятельность (и работа, и хобби) — но вот только понимаю, что в проектах на экране зачастую приватные данные, и что с этим делать, не очень понятно.
Arturo01
12.08.2016 01:31+1Раньше стримил пару раз, в целом понравилось, несколько ошибок было замечено зрителями и в целом мотивации кодить больше
Alter116
12.08.2016 15:36Не хорошо удалять неугодные комментарии, но дело ваше.
Не вижу повода гордится 116 подписчиками.
Ku6ep
12.08.2016 17:24Что-то упомянутый сайт лежит :( Хабраэффект? А альтернативные источники есть? А то захотелось ознакомиться.
zarytskiy
13.08.2016 08:37Уже работает, возможно хабраэффект, пользуюсь им пол года и не помню чтоб такое случалось ранее. Как альтернатива есть twitch, но там видео не сохраняются и в целом он создан для геймеров.
Xao
Кейс это хорошо, но хотелось бы больше информации, как начать делать также. Инструменты я имею ввиду, например.
JustRoo
Чтобы начать стримить, обычно достаточно скачать и настроить OBS, завести аккаунт на стриминговом сайте и, собственно, начать. Дальше пойдут заморочки с настройкой качества видео и звука, но там не очень больно.
Alexufo
господи, когда в OBS добавять VST плагины… мочи нет терпеть((
JustRoo
Когда ты забацаешь пулл-реквест. Это опенсорс, детка =)
rdifb0
Возьмите какой-нибудь DAW для микширования + виртуальный кабель.