Дилан Бити (Dylan Beattie) — разработчик из Британии. Но он не только кодит, но еще преподает, выступает на конференциях, играет в рок-группе и очень любит миксовать музыку и технологии.
Один из его проектов — это каверы на рок-хиты, где текст изменен под IT-тематику. А пару лет назад Дилан разработал новый язык программирования, где код выглядит как текст рок-песни, и назвал его Rockstar.
Что примечательно, о программировании Дилан говорит с такой же страстью и охотой, как и о музыке. Как он не дает себе заскучать на коммерческих проектах и почему just for fun — это лучший подход к обучению, Дилан рассказал в интервью журналистке Highload.
Оскар Уайльд однажды сказал: ‘All art is quite useless’ («Все искусство достаточно бесполезно»). Я с этим согласен: у настоящего искусства нет цели. Но оно вызывает эмоции. Ты смотришь на произведение искусства, и ты смеешься, или плачешь, или задумываешься о чем-то.
С этой точки зрения программирование — это не искусство. Но я думаю, что мы можем использовать программирование, чтобы создавать вещи без цели, just for fun, и тогда это будет искусством. При этом программирование может быть искусством и само по себе, а не инструментом для его создания (как когда с помощью нейронных сетей генерируют картины).
Если вдуматься, таких примеров тоже много. Посмотрите на Code Golf. Участники этого соревнования пытаются записать, допустим, вычисление чисел Фибоначчи как можно более коротким кодом.
Миру не нужен алгоритм Фибоначчи в четырех строчках на Golang — это не решает никакую проблему. Но это забавно для тех, кто этим занимается, и тех, кто увлекается такими вещами. Они посмотрят и скажут: «О, а это умно».
Я пришел в программирование, потому что меня захватил процесс написания кода. Я запросто могу попасть в петлю мотивации и удовлетворения:
Позже я читал в научных статьях, почему так происходит. Оказывается, при решении проблем наш мозг выделяет дофамин, и мы чувствуем приток радости. Это дает нам мотивацию делать что-то снова и снова.
Увы, в рутинной работе программиста так получается не всегда. Все больше значит не код сам по себе, а код, который уходит в продакшен.
Программист в компании — звено, которое помогает делать продукт и решать бизнес-проблему. Поэтому то, что он пишет, нужно тестировать, поддерживать, релизить, менеджерить и т.д.
Я ответственно к этому отношусь, но согласитесь — это уже не так весело.
Так что сейчас я работаю на коммерческих проектах, но стараюсь держать баланс между «скучным» кодом для бизнеса и «интересным» кодом для себя. Потому что если ты занимаешься только первым — ты устанешь от этого, а если только вторым — у тебя не будет денег.
Я регулярно устраиваю челленджи или принимаю в них участие. Например, перед Рождеством я решал задачи с Advent of Code. Не чтобы победить, а чтобы просто покодить — решить проблему, улучшить работающий код и… все.
На коммерческих проектах тоже бывает интересно, если выбирать подходящие. Я ищу что-то, где есть хотя бы одна из трех вещей:
Разница между работой и хобби в том, что, занимаясь хобби, ты можешь остановиться в любой момент, когда перестанет быть весело. И это полезно практиковать в двух случаях.
Когда ты делаешь что-то just for fun, то фокусируешься на процессе, а не выхлопе. Linux, кстати, тоже изначально создавался just for fun 🙂 Но даже если в итоге не получится сделать что-то масштабное, не получится ничего вообще — ну и пусть.
Так что своим ученикам я тоже часто даю проекты just for fun. Так я напоминаю им, что в учебе главное получить опыт, а не найти правильный ответ.
Я однажды где-то прочитал: ‘Start with something small. And then see what happens next’ («Начни с малого. А затем посмотри, что получится»). И это очень правильно. Потому что когда ставишь себе большую цель, она кажется необъятной. Но когда решаешь сделать что-то, что можешь закончить до конца выходных, это уже не кажется таким неподъемным.
Особенно когда на каждом следующим шаге у тебя есть свобода выбора — хочешь ты это заканчивать или нет.
Мое второе хобби — музыка. Я люблю ее с детства. Ребенком я слушал записи своего отца. Сейчас я тоже постоянно слушаю музыку и играю ее сам — в группе.
Почему же я тогда не стал музыкантом? Мой учитель сказал, когда мне было 15 лет:
«Не делай это профессией. Возможно, у тебя получится заработать этим, но однажды ты проснешься, посмотришь на свою гитару и тебе не захочется играть, но придется — чтобы заплатить по счетам. И тогда ты возненавидишь это»
‘Don`t do this for a living. You’ll work hard and maybe you’ll make it. And then one day you’ll wake up, look at your guitar and think ‘I don’t want to play it’, but you’ll have to — to pay your bills. And after that you will not love it anymore’ (ориг.)
Иронично, ведь так же можно сказать и о программировании. Но мне сказали это о музыке, так что я стал программистом 🙂
Я все еще не знаю, кем стану, когда вырасту. Каждый день я нахожу новые возможности. С другой стороны, программированием заработать проще, чем музыкой.
Мне нравится быть музыкантом, имея при этом высокооплачиваемую работу. У меня есть время и желание заниматься музыкой и в то же время возможности купить все нужное оборудование без лишнего стресса.
Моя первая попытка совместить музыку и технологии была, когда я попробовал заставить компьютер Amstrad CPC 6128 играть мелодии.
Гораздо позже, когда я стал программировать на Java, я начал экспериментировать. Сначала просто записывал гитарные мелодии на компьютер, потом совмещал их с другими звуками и добавлял разные эффекты. И чем больше я в это погружался, тем больше понимал, как много интересных идей может возникнуть на стыке.
Наверно, мой самый известный проект в этой области — это язык программирования Rockstar. Как я уже говорил, он начался как шутка: я задался вопросом, можно ли создать язык программирования, на котором код будет выглядеть как рок-песня. Так что я взял строчки тех песен, которые знал и любил, и попробовать превратить их в строчки кода.
В итоге, я сделал шуточную спецификацию к этому языку и опубликовал ее. А затем люди начали ее использовать. Этого не должно было случиться, но это случилось.
Кстати, несколько участников Advent of Code этого года выполняли задачи на Rockstar. Я же иногда беру код программ на Rockstar (которые по сути — рок-песни) и выступаю с ними на вечеринках 🙂
Я не слишком слежу за другими проектами, которые находятся на пересечении музыки и технологий. Мне больше нравится создавать. А вдохновляюсь я тем, что создается в этих областях по отдельности.
Например, я часто ищу новые песни для своего проекта пародийных песен для программистов. Или темы для этих песен — исходя из трендов индустрии.
Сейчас мы хотим сделать песню про контейнеры. На одной из конференций мне подкинули идею сделать что то на основе Smells Like Teen Spirit: ‘entertainers… containers’ — хорошо рифмуется.
Пародия Дилана на Bon Jovi — You Give Love a Bad Name
Кстати, после поездки на конференцию в Киев я начал учить украинский, а сейчас изучаю русский — потому что на нем разговаривают в большем количестве стран. И мне посоветовали сделать пародию на исполнителя Noize MC. «Назови меня попсой» — эта песня. Возможно, она появится в нашем репертуаре 🙂
Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…
В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…
Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…
Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…
Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…
IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…