Назад до спільноти

Експедиції, Elixir та Exercism

У цьоготижневій історії спільноти Брайан і Джонатан трохи говорять про міжкультурний досвід, функціональне програмування та про те, як це - переїхати із Середнього Заходу США до Скандинавії.

Дивитися на Youtube
ТРИВАЛІСТЬ 45ХВ

Джонатан: Що ж, доброго вечора всім і ласкаво просимо до подкасту Exercism. Маю честь спілкуватися з Браяном Андервудом. Браяне, де ви зараз живете? І розкажіть трохи про свою історію та про те, як ви опинилися там, де ви є зараз. Браян: Так, звісно. Дякую, що запросили. Отже, я в Стокгольмі, Швеція. Але за походженням я зі США, народився в Огайо, тож звідти до сюди була чимала подорож. Джонатан: Та ну. Браян: Я гадаю, ви хотіли дізнатися, звідки я родом, тобто про мою подорож між цими точками, так? Джонатан: Так, авжеж. Як ви опинилися на шляху від самого центру США до... Швеції, Скандинавії, знаєте, це ж доволі великий стрибок. Браян: Атож. Так. Так, звісно, це центр США. Не дивуюся, що ви це обійшли, бо ніхто насправді не знає, де той Огайо. Тож це, це справді кумедно. Так, отже, я навчався в Університеті штату Огайо. Це були, сказати б, компʼютерні науки та освіта. І це було цікаво. Мені подобалось. І я весь час, поки там навчався, займався... технічною підтримкою в Коледжі гуманітарних наук. Мені пощастило влаштуватися туди, щойно я почав навчання. І я так чи інакше продовжував там працювати ще кілька років після випуску. Гм. Але потім я, здається, трохи занудьгував від того, де я був і що робив, а ще моя дівчина зі мною розійшлася. Тож не будемо, не будемо. Джонатан: Не найприємніші спогади, сказати б. Браян: Так, заднім числом усе було нормально. Але так, це якось так, ніби, гаразд, здається, тут у мене зʼявилася можливість. І я вирішив витратити кілька тижнів на подорож Європою, що було першим разом, коли я... справді вибрався зі США на тривалий час. І це було добре, подорожувати Європою. А потім я вирішив, перш ніж це зробити, я вирішив, що переїду. І я якось зупинився на Бостоні як на місці, куди переїду. І я отримав, мабуть, не знаю, чи мені пощастило певною мірою, але в мене було кілька можливостей, коли, знаєте, я завжди займався підтримкою Mac, це була велика частина того, що я робив. Тож це була одна робота, яку я мав нагоду взяти, на кшталт технічної підтримки Mac у Бостоні. А інша — цей маленький стартап, який робив програмне забезпечення для стільникових компаній і для того, як вони, скажімо, розкладають свій товар у магазинах. І, знаєте, я думаю, я дуже хотів перейти до програмування. Але ця інша робота була як, о, це те, чим я займався довгий час. Але, гадаю, я схилявся до думки, що так, я почну це нове життя, цю карʼєру, яку хочу. Тож, але, гадаю, мені також трохи пощастило отримати ту роботу, бо, гадаю, їм справді потрібна була людина. І тому вони просто взяли мене. І це виявилося свого роду великою роботою, яку я мав кілька років. Гм. Але так, і це був свого роду початок. Словом, звідти я познайомився зі своєю теперішньою дружиною, і ми переїхали до Провіденсу, там ми одружилися. Гм, потім ми переїхали до Каліфорнії. Здається, моя дружина отримала роботу в Сан-Франциско. І я такий: так, я можу. Я розробник програмного забезпечення, я можу, я можу це зробити, я знайду роботу в Сан-Франциско. Ні, ні, ні, без проблем. Тож це було чудово. Ми жили в Окленді й працювали в Сан-Франциско кілька років. Але потім ми вирішили, що хочемо подорожувати кілька років. І так ми вирушили в подорож навколо світу на два роки, а на той час у нас уже був син, якому було два з половиною роки. І ми подорожували з ним кілька років. А потім так, повернулися до Штатів на кілька років. І тоді ми якось вирішили, о, знаєте, ми проїжджали через Стокгольм під час наших подорожей. І подумали, що нам дуже подобається Стокгольм. Тож ми вирішили, гаразд, ми повернемося. І це те, де ми перебуваємо останні чотири роки чи близько того. Джонатан: Ваша дружина шведка, чи вам просто подобається Стокгольм? О, тобто як воно, яка там історія? Браян: Так, ні, гарне питання. Його багато хто ставить. Але ні, ми обоє американці. Усі троє американці, включно з моїм сином. Хоча він говорить шведською значно краще за нас обох. Ми працюємо над цим. Але так, ні, нам просто дуже сподобалося. Гадаю, було кілька місць, куди ми подорожували і думали: ну, можливо, ми могли б тут жити, якби... якби хотіли кудись переїхати. Одним із них, здається, був Окленд, ми проїжджали через нього, і він нам дуже сподобався. У Новій Зеландії? Ви маєте на увазі Окленд, Нова Зеландія? Нова Зеландія, саме так. Але це було трохи далеко, це було б, якби ми хотіли літати назад до Огайо відвідувати родину, це була б ціла мандрівка. Зі Швеції, звісно, теж довгенька дорога. Джонатан: Ага, гаразд, і от тепер ви згадали, ви якось зауважили про компʼютерне програмування чи компʼютерні науки, перепрошую, і програмування. У чому ж різниця? Бо в моїй уяві компʼютерні науки — це ніби програмування, але явно ні. Або, можливо, так, не знаю. Тож що ви мали на увазі конкретно? Браян: Так. Не знаю, чи я знаю різницю. Тобто я здобув ступінь із компʼютерних наук, і, гадаю, це було програмування, але не таке, як... ви чули чи інші чули. Що не завжди вчиш з університетським дипломом ті, сказати б, реальні речі, які можеш вивчити й робити на роботі. І, ймовірно, це дещо змінилося відтоді, як я навчався. Гадаю, стався певний зсув у бік практичнішої освіти. Наприклад, я памʼятаю... Знаєте, ми вивчали, здається, C і Java були двома основними мовами, які ми тоді вчили. І зокрема, я памʼятаю, що ми вивчали одну річ на Java, на одному занятті, де дуже, це був, здається, метод навчання чи якийсь підхід до речей, за якого ти дуже докладно коментуєш кожну свою функцію, щоб сказати... це називалося проєктування за контрактом, де ти казав, скажімо, для чого вона підходить? Знаєте, у юридичному контракті, знаєте, ніби кажеш: гаразд, які твої обовʼязки? Які мої обовʼязки? І тому проєктування функції за контрактом означає, знаєте, гаразд, якщо ти надаєш мені ці значення у змінних, і, знаєте, ніколи не даєш мені відʼємне число для цього, і завжди дбаєш про те, щоб цей рядок тексту ніколи не був порожнім, чи щось таке, так? Це те, за що відповідаєш ти. І тоді, якщо ти це робиш, я обіцяю зробити ось це, так, і зробити так, щоб це сталося. І тому була ця структура коментарів, я памʼятаю, я був дуже спантеличений, думаючи, що коментарі якось виконуються і є частиною програми. І я, знаєте, гадаю, я витратив кілька днів на кшталт: що? що я маю тут робити? І зрештою я якось зрозумів, що це просто дуже формальний метод, який... І, гадаю, він був добрий у тому сенсі, що роздуми іноді формують мій розум. Добре думати про те, щоб не мати функції, здатної впоратися з абсолютно всім, що взагалі може статися, бо це просто призведе до божевілля. Джонатан: Отже, ви вступили до університету, де компʼютерні науки були головним напрямом, який ви розглядали. Як ви вирішили цим займатися? Це просто був природний потяг до більш наукових предметів у школі чи старших класах, чи був момент, коли ви подумали: насправді це мені дуже пасує? Як ви дійшли до рішення, що саме компʼютерні науки — це ступінь, який ви хочете здобути? Браян: Так, мені, мабуть, дуже пощастило, бо мене просто природно до цього тягнуло, гадаю. Не знаю, наче я памʼятаю... коли був певний вибір програм, коли я міг піти на програму мистецтв і наук, напрям компʼютерних наук, або напрям інженерних компʼютерних наук. І одна з них передбачала б вивчення мови, наприклад іспанської, за якою я йшов ще зі школи. А інша була як, о, тобі не треба іноземної мови, але треба більше фізики й математики. І я такий: гаразд, записуйте мене. Тож, гадаю, мене тягнуло до цього. Гадаю, це так, хоч одна річ, про яку я багато думаю, це те, що, і, можливо, це свого роду привілей наукового чи математичного інтересу, який я маю, але мені здається, мабуть... математика, займатися математикою. Багато людей ніби кажуть: о, математика, я нервую через математику, чи це стрес, чи щось таке. І я розумію, що це цілком може бути так, але мені цікаво, чи, можливо, іноді... деякі люди просто з якоїсь причини знаходять задоволення в математиці, і їм вдається якось захопитися нею, і це та сама кількість роботи й розбирання з речами. Але це просто не відчувається так, бо коли нам весело, ми не відчуваємо стільки роботи. Ймовірно, це не зовсім так, це просто моя улюблена теорія, яка, мабуть, лише наполовину правильна. Джонатан: Але було кумедно, бо я памʼятаю, як вивчав хімію три роки на GCSE у Британії, і два роки ти вчишся, три роки навчання до іспитів GCSE, а потім у 16 років складаєш ці великі іспити, і ти проходиш цілу низку тем, тобто вивчаєш десять різних предметів, і це чимало. А потім вирішуєш: гаразд, я піду на A levels, я вивчатиму більше математики чи науки, чи що завгодно, чи англійської, чи драми, чи чогось іще. Але я памʼятаю, що хімія мені не давалася близько двох років, а потім десь за тиждень до іспиту все наче склалося: періодична таблиця і як усе це працює, і о, я можу дістати всі відповіді з періодичної таблиці, мені просто треба, це як кросворд, чи щось таке. І то було наче лампочка засвітилася, і я памʼятаю, що з того моменту думав: о, це найлегший предмет на світі. Але то були два роки боротьби, щоб дійти до цієї точки, і це просто цікаво, бо мені здається, що для мене програмування схоже: треба зануритися в нього надовго, і тоді до мене дійде, і я з нетерпінням чекаю моменту, коли це почне рухатися в тому напрямку. Але, гадаю, те, що ви описуєте, знаєте, я бачив друзів, які просто дуже швидко все схоплювали з першого разу й отримували задоволення, і саме розвʼязування задач було головною особливістю навчання, що, як на мене, дуже цікаво. Тож класно, що ви теж це пережили, гадаю. Браян: Я знаю, що є один застосунок, у який насправді грав мій син на своєму iPad. Є компанія чи серія застосунків під назвою Dragon Box. Не знаю, чи ви про такі чули. Але вони роблять кілька справді гарних освітніх застосунків. Зазвичай я доволі скептично ставлюся до більшості освітніх застосунків, але вони зробили кілька справді хороших. І один із них про геометрію. І я часто думаю про це як про метафору, що це була не геометрія, а алгебра. Є й геометричний. Але з тим, що про алгебру, він насправді не вчить тебе понять алгебри. Він вчить тебе механіки алгебри. Джонатан: Обовʼязково поставте лайк цьому відео й підпишіться на наш канал, щоб не пропустити нові відео. Браян: І робить це так, що є дві різні сторони з цими двома різними блоками, і треба зробити так, щоб усе якось збалансувалося з обох боків. Монстра пересувають з одного боку на інший, або треба перетворити його з одного виду монстра на інший. Минув уже деякий час, відколи я це бачив, але що я памʼятаю так чітко, то це те, що він вивчав механіку алгебри, хоч і не розумів, до чого він іде і навіщо це робить. Але це було весело робити, і вони зробили це так, що воно стало справді захопливим. І що, на мою думку, таке чудове в цьому, і я хочу, щоб він пройшов цей застосунок знову, коли почне вивчати алгебру, бо мені здається, якщо механіку засвоєно, то про неї вже не треба так перейматися, і можна більше думати про високий рівень, не нервуючи через механічні штуки. І, гадаю, можливо, це те, про що ви кажете з хімією. Не знаю, чи так було у вас, але, можливо, це як: а чому я маю перейматися всією цією механікою, цими правилами, цими речами? І ось дійшовши до певної точки, можна подумати: гаразд, я якось через це продерся. Тепер, можливо, я можу подумати, навіщо я все це роблю. Джонатан: Так, так. Ні, це був справді цікавий досвід, бо це був перший раз, коли я пройшов цей процес розуміння чогось, а потім проходиш період втрати значної впевненості в цих предметах, бо думаєш: о, мій мозок не особливо налаштований на такий спосіб мислення. Але насправді, якщо подивитися на англійську літературу, наприклад, якою я займався, ти насправді дуже систематично розглядаєш мову й те, як усе побудовано, і розумієш свого роду, але там є нюанс, є мистецька природа в усьому цьому, і, звісно, можна сказати, що є також мистецький елемент у розробці й програмуванні. У кожної людини свій власний відтінок, і, гадаю, я дедалі більше усвідомлюю, що немає жодних жорстких правил. Усе це компроміси. Тож ні, це було захопливо. Отже, ви, ви допомагали нам із когортами, і якщо хтось слухає, ми проводили навчальні досвіди з Elixir і Golang, і Браяне, ви трохи допомогли з когортою Elixir. То як ви прийшли до Elixir як мови? Якою була передісторія цього? Браян: Так, це кумедно, бо хтось щойно поставив мені саме це питання сьогодні. Бо це, тобто, це нішева мова, знаєте, певною мірою. Але я був у світі Ruby. Я був розробником на Ruby довгий час. І я справді люблю Ruby, бо це, знаєте, я такий програміст, який хоче робити справи, я хочу думати, хочу робити складні задачі. А складні задачі важко робити, коли думаєш про дрібні деталі й мусиш мати справу з вказівниками чи чимось таким, так? Тож Ruby був чудовий для цього. А потім, звісно, Жозе Валім, творець Elixir, вийшов зі світу Ruby. Він уже був плідним у світі Ruby і вирішив, що йому треба, не треба, можливо, він дивовижний, він створить власну мову і буде плідним у ній, і зробив у цьому дивовижну роботу. Тож я якось, знаєте, я просто був залучений до того світу, де, знаєте, я слухав подкасти, де іноді говорили про Ruby, а потім там було, о, це нова штука, Elixir, і потім, гадаю, можливо, трохи зсув, ну, трохи фундаментальна річ була: я жив у, я щойно насправді переїхав назад до Колумбуса на якийсь час, Колумбус, Огайо, і Жозе Валім прийшов до групи Ruby у Колумбусі, Columbus Ruby Brigade. І вони казали, знаєте, Жозе Валім такий класний, що просто приходить і говорить про що завгодно. І, звісно, він сказав: так, я говоритиму про Elixir, бо я створив цю мову. Я дуже нею захоплений. Так, так, саме так. І я памʼятаю це. Так кумедно, ніби рік тому я знайшов запис тієї презентації. Він трохи зернистий. Але його все ще можна дивитися. І я досі, я можу знайти місце, де я ставлю запитання Жозе. І так само я памʼятаю цю плутанину щодо того, як саме. Джонатан: Я справді цим захоплений. Браян: ці концепції, як, ти створюєш ці процеси, і вони можуть відновлюватися після збою, якщо в тебе є супервізори чи щось таке. І я не памʼятаю точно, що він сказав, але я якось запитав: як це працює? І ніби, гаразд, ти відновлюєшся після помилок. Але ти ніби, ти все ще дізнаєшся про ці помилки? Чи що відбувається? І це, це був цілий процес, щоб зрозуміти, що це означає. І, гадаю, це справді цікавий процес. Гадаю, на той час багато в спільноті Elixir боролися з тим, як описати ці концепції. І, гадаю, тепер є більше блог-постів і дедалі більше речей, які люди можуть засвоїти й долучитися швидше. Тож, але так чи інакше, це те місце, звідки я прийшов. Гадаю, це було одне з головних місць. Це як, о, це звучить цікаво. І якщо Жозе каже, що це круто, то варто це перевірити. Джонатан: Тож це було майже так, що час був слушний, щоб ви туди перейшли? Просто збіглося багато різних речей і склалося для вас. Ви досліджували інші мови? Тобто, ви згадали про вказівники. Це посилання на Go конкретно, чи ви просто шукали якусь мову, що вам пасує, сказати б? Браян: Гадаю, я... Так, тобто, я... я страшенно захоплений ідеєю, що різні речі добрі для різних цілей. І я, знаєте, тепер шалено захоплений Elixir. Мені здається, я, мабуть, дещо упереджений, що так, Elixir можна використовувати майже для всього. Це, мабуть, не зовсім правда. Але, гадаю, щодо вказівників, то я просто мав на думці C, здається, знаєте, в університеті трохи C, C++. Гадаю. Знаєте, так, отже, я кілька років працював із Neo4j, графовою базою даних. І це було те, чим я страшенно захоплювався. І я був одним із супровідників гемів Neo4j для Ruby. Бо це була ця... Не треба вдаватися в це надто глибоко, але графові бази даних можуть дозволити робити певні речі швидше або просто, певним чином, легше. Для мене це було ніби, це була, це не те, щоб багато людей використовують Neo4j для цього, але мені здається, це було ніби як Ruby у тому, що допомагало думати про речі на вищому рівні. І тому дозволяло робити речі приємніше. Але я просто захоплений цією ідеєю, що, гаразд, графові бази даних можуть бути добрі для цього, а реляційна база даних для цього, а документна база даних для цього. І гаразд, якщо треба зробити маленький сервіс, який має працювати надшвидко, можливо, я зроблю його на Rust чи Go, чи що завгодно. І тому я маю знати про ці мови, і якщо... вищі речі, є Ruby і Python, але тепер є Elixir, і Elixir має насправді багато чудових переваг. Це надскладна річ — зрозуміти, що добре для різних речей, бо в мову залучено так багато, наприклад, що зрозуміти, чи вона добра для чогось, важко. А також люди, включно зі мною, гадаю, емоційно вкладаються в деякі мови, які їм подобаються з тієї чи іншої причини. І тому, ну, це важко. Гм. Джонатан: А Браяне, ви використовуєте Elixir щодня на роботі? І що для вас зараз робота? Тобто, як виглядає ваш день у цей момент? Браян: Так, отже, я консультант в Erlang Solutions. І тому я працюю з клієнтом Erlang Solutions, компанією під назвою VicAI. Не знаю, чи ви про них чули. Гадаю, Ларс Віртвен, здається, трохи допомагав їм і писав про них у своєму блозі. Він доволі відома людина у світі Elixir. І так, отже, вони компанія, яка... допомагає іншим компаніям, вони роблять застосунок, який допомагає компаніям обробляти рахунки, напівавтоматично чи повністю автоматично, використовуючи штучний інтелект. Гаразд. І так, і тому вони мають, знаєте, звісно, моделі машинного навчання, але ще вони мають API на Elixir, який дозволяє їм якось координувати багато речей. Джонатан: Гаразд. І чи ви маєте справу з багатьма різними клієнтами протягом дня, чи ви працюєте зі спеціалізованою групою, з якою ви ніби проходите й співпрацюєте? Тобто як усе це працює? Браян: Так, отже, зазвичай я в свого роду команді над функціоналом із продакт-менеджером, і в нас є веброзробник і мобільний розробник, а іноді бекенд-розробник, команда машинного навчання. І потім приємно, іноді в нас є, скажімо, продуктова людина чи QA, яка взаємодіє з нашими клієнтами, щоб допомогти нам отримати найрелевантніше, найпотрібніше, знаєте, те, що насправді потрібно користувачам і клієнтам. Але це ніби трохи шарами, ми, знаєте, залежно від того, що це, у нас є один великий прямий клієнт, а ще є, скажімо, бухгалтерські системи, ERP, з якими ми працюємо, і в них є люди, які, знаєте, вводять своїх клієнтів, я, чесно кажучи, не працюю з багатьом із цим, з боку клієнтів не так багато. Але, гадаю, у нас багато різних способів взаємодії з клієнтами, і нам доводиться виконувати багато різних танців, щоб інтегруватися, і це саме собою доволі цікава задача. Джонатан: То тиждень доволі різноманітний, і ви робите багато різних речей протягом тижня, чи він доволі передбачуваний? Браян: Гм, так, гадаю, знаєте, гадаю, мені дуже пощастило, бо я... зазвичай я, тобто, зазвичай є один проєкт, над яким я працюю. Але, наприклад, дещо, гадаю, я можу сказати про недавнє, я щойно працював над тим, щоб допомогти переконатися, що наші зворотні розрахунки були правильними в тому, як ми обробляємо рахунки. Бо це може бути складна річ, просто мати з цим справу. Особливо коли рахунки надходять від цілої купи різних постачальників, які можуть, знаєте, робити речі по-різному. І тому, але мені доволі пощастило в тому, що вони хочуть переконатися, що ми ніби тримаємо руку на пульсі... якості коду і взагалі всього. І тому ми намагаємося витрачати чимало часу на те, щоб робити речі кращими, робити наш код кращим чи покращувати щось. І тому, знаєте, я, це також так, як я є. Тобто, я зазвичай намагаюся викроїти принаймні частину свого часу на, знаєте, ми робимо багато інтеграції з Datadog для застосунку, щоб мати трасування наших запитів і фонових завдань і всього такого. І це те, що мене справді тішить, коли, зробивши це, я, гаразд, тепер я маю інструменти, потрібні мені для роботи. Але так, ще, гадаю, нещодавно було дещо, що мене зацікавило, свого роду спосіб організації коду й посилання на інші модулі. І є інструмент у світі Elixir, Credo, який дозволяє якось забезпечувати різні правила у стилі твого коду. І тому я створив нове правило Credo, щоб потенційно забезпечити це правило. І мені цікаво побачити, як воно піде. Джонатан: Гаразд, класно. Це звучить, чесно кажучи, трохи понад моїм розумінням, але певною мірою я впевнений, що хтось там знає, про що йдеться. Але ви раніше згадали, що трохи працювали в стартапі, здається, я правильно кажу. Тож у вас була ця сторона технічної підтримки, а ще була трохи історія зі стартапом. Це те, що вас цікавило б у майбутньому, чи це щось, що завжди на думці? Яка, на вашу думку, траєкторія для вас на наступні пʼять, десять років щодо програмування? Тобто, ви можете й не знати, але мені просто здалося цікавим спитати людей: де ви бачите себе через пʼять, десять років? Браян: Так, гарне питання. Тобто, я якось... Щодо стартапів, я завжди балансував між малими й середніми компаніями. Джонатан: Дякую. Браян: Наскільки щасливий у дуже великих компаніях. І я ніколи насправді не бачив себе консультантом, аж до недавнього часу, коли я якось подумав, гаразд, це ніби... цікаво мати можливість ходити до різних компаній і, можливо, намагатися допомогти їм розвʼязати їхні проблеми, а потім, можливо, перейти до іншої компанії. Тобто, якщо хтось із Big Gag слухає, я не незадоволений. Джонатан: Я подумав, що не варто питати когось у подкасті, але так, звісно, припускаючи, що все чудово. Вибачте, мій кіт дряпає двері. Браян: О так, так, у нас щойно зʼявилося цуценя, десь місяць тому, і тому я постійно, ніби, вона гавкає або, знаєте, може, раз чи два пісяє на ліжко, і треба з цим давати раду. Джонатан: У нас теж щойно, це божевілля. О 5-й ранку щодня. О 4:30 ранку вона ніби стрибає на ліжко й починає лапою тицяти в обличчя. Це мило й чарівно. Але так, за якийсь час це вже як, ну годі. Але так, повертаючись до наступних кількох років, чого б ви хотіли досягти чи реалізувати? Браян: Так, гарне питання. Гадаю, мене приваблює ідея зрозуміти... Гадаю, одна з речей, яка мене, можливо, приваблює в Elixir, це те, що вона ще трохи свіжа. І тому мені подобається... які є способи прокладати нові шляхи й знаходити нові закономірності. І особливо, знаєте, це не просто, знаєте, я був у світі Ruby якийсь час, і тому, приходячи в Elixir, іноді є речі, ніби, о, мені цього бракує з Ruby, то було б чудово це створити чи зробити. Але є також речі, які, знаєте, о, це те, чого я не міг добре зробити в Ruby. Але якщо я просто зроблю ось так, то, знаєте, ми могли б, це могло б бути навіть крутіше, використовуючи сильні сторони Elixir. Тож, гадаю, це той рід речей, які мене цікавлять: знаходити цікаві випадки використання й говорити про них, ділитися ними, бо це також завжди мене надихає, коли я читаю, особливо коли я читаю про щось, наприклад справжній випадок використання, і бачу подробиці, а не просто: так, ми зробили ось це і якось, ось як ми це робили. А от, де я можу побачити якийсь код або які подробиці? Так. Джонатан: Звучить так, ніби вам подобається оптимізаційний бік справи: взяти щось і прокласти новий шлях, щоб зробити щось кращим і ефективнішим. Це те, що я чую, принаймні. Це справедливо, як ви гадаєте? Браян: Так, гадаю, і гадаю, ефективність це добре. Але, гадаю, я б сказав навіть більше: знаходити способи робити речі приємними. Я страшенно захоплений ідеєю, як ми можемо розвʼязувати проблеми так, щоб більше не мати з ними справи. Наприклад, робити бібліотеки, щоб ми могли сказати, гаразд, тепер ця проблема, так, цю проблему розвʼязано, рухаймося далі до чогось, знаєте, що є кращим використанням нашого часу, так? Джонатан: Ні, авжеж. Це має сенс. Тож одна з речей, які мені подобалося питати в людей, особливо в усьому цьому, бо я доволі, сказати б, доволі новий в IT як галузі загалом, і не маю особливо досвідченого минулого з погляду розробки з раннього віку тощо. І одна з речей, яка часто мені впадала в око, це те, і ви чуєте це від друзів у сфері IT часто, що довкола літає чимало думок, і це, здається, доволі, доволі правильно. Але в нас є це питання, яке ми любимо ставити людям, які приходять до нашого подкасту: на якому пагорбі ви готові померти в IT? І, звісно, формулюємо це трохи жартівливо. Але чи є у вас якийсь особливий спосіб мислення чи думка, про яку ви скажете: це пагорб, який я буду захищати? І це може бути будь-що. Гарний приклад — DJ, один із наших супровідників, ви можете його знати, його пагорбом була роль справді ключової розмови, тобто ведення доброзичливої та добре структурованої розмови в просторі IT. Тобто мати цей ґрунтовний, знаєте, вимогливий допит, який будується на правильних засадах, сказати б. Я намагаюся згадати, що казав хтось інший. Ребекка з Unison сказала, що воліла б мати 50 людей у команді, які були б працьовиті, сумлінні й, можливо, менш талановиті, ніж один геній, з яким неможливо мати справу. Тож, сподіваюся, це свого роду добрі приклади. І я трохи підставив вас цим запитанням зненацька, бо у вас, ймовірно, є чимало поглядів. Але чи є один, про який ви скажете: ні, за це я готовий триматися? Браян: Гм. Так. Так, бо моя перша думка була ніби, о, camel case проти snake case. Ну, не знаю, чи я помер би на цьому пагорбі. Гадаю, багато з цих речей, ніби... Джонатан: Я не зміг би... Браян: Так, так, але, гадаю, щодо багатьох із цих речей я... можливо, з часом стаю менш категоричним. Але так, мені подобаються ці вищі речі, про які ви говорите. Мені здається, я міг би, мені подобається. Дайте подивлюся, чи зможу я це знайти. Шкода, що ви це редагуєте, то мої паузи просто зникнуть, так? Джонатан: Принаймні такий план. Браян: Так. Отже, є інструмент під назвою Remote Retro. Який я використовував багато разів і дуже рекомендую. І я дізнався про нього, бо він написаний на Elixir. Але крім того, гадаю, він просто добре спроєктований. І з часом він став дедалі кращим інструментом. Але він завжди починається з головної директиви, яку, гадаю, як я зараз бачу, він узяв у Норма Кіта. Тут є сторінка у вікі, тож можна це знайти. Можна зайти на remote-retro.org, якщо хочете це подивитися. Але... так, ось головна директива, яка, гадаю, це просто те, що читаєш на початку ретроспективи, щоб налаштувати людей на правильний лад: «Незалежно від того, що ми виявимо, ми розуміємо і щиро віримо, що кожен зробив найкращу роботу, яку міг, з огляду на те, що він знав на той час, свої навички й здібності, доступні ресурси та обставини, що склалися». Гм, тож, гадаю, це добре. Гадаю, це схоже на те, що... Треба переконатися, що завжди... І, власне, я скажу ще одну річ. Було одне інтервʼю, і я можу поділитися ним, якщо хочете, вставити посилання в опис випуску чи щось таке пізніше. Джонатан: Обовʼязково звернуся до нього. Браян: Так, я завжди рекомендую цю статтю, хоч її завжди дуже важко знайти, і не знаю, мабуть, вона вже трохи пішла в забуття, але був цей... цей чоловік, який був адміністратором в Асоціації ветеранів у США, в урядовому відомстві. І зокрема, здається, він мав справу з їхньою системою охорони здоровʼя. І в нього було це інтервʼю, де він прийшов зі світу аерокосмічної галузі. І багато з того, про що він говорив, було про те... як в аерокосмічній галузі, у багатьох, ймовірно, це не ідеально всюди, але в багатьох випадках, з якими він стикався, ти звинувачуєш процес, а не людей. І якщо щось іде не так, ти кажеш, знаєте, гаразд, знаєте, це не, знаєте, ніби, я, я видалив таблицю в продакшені. Але, на щастя, ніхто не звинуватив мене в цьому. Вони сказали: гаразд, що робимо тепер? Ну, ми, ми робимо так, щоб, коли ти заходиш у продакшен у консолі, зʼявлявся червоний запит. І тому ясно, що ти в продакшені, так? Бо я зробив ту помилку, бо думав, що це розробка, коли я... Так, саме так. Отже, мені пощастило мати офіс, у якому ми звинувачували процес, а не людину. І це було справді чудово. І він говорив про це в контексті, наприклад, медицини, що, гаразд, іноді медсестра може дати пацієнту не те ліки. І це як, ну, іноді написи на етикетках заплутані, або є ось така штука, що вона складна, або просто, знаєте, не ідеальна. І це як, гаразд, давайте, давайте це виправимо. Давайте, зробімо це. Тож якщо ми хочемо, якщо нам справді небайдужий пацієнт, зробімо процес таким, у якому важче помилитися. Тож це щось, що, гадаю, має для мене велике значення. Джонатан: Це справді класно. Я обовʼязково додам це до нотаток до випуску. Це з царини agile, це свого роду надбудова над agile-методологією, сказати б? Чи це трохи щось інше? Які ваші думки щодо цього? Браян: Знаєте, гарне питання, гадаю. У мене склалося враження, що це частина доволі довгої традиції в деяких колах аерокосмічної інженерії. Тобто аерокосмічна галузь, гадаю, можливо, це просто повʼязано з тим, що якщо робити літаки чи якщо робити ракети, то робота полягає в тому, що це має працювати. І коли ми садимо туди людину, чи то астронавта, чи пасажира, нам треба дати цьому найкращий шанс спрацювати. І найкращий спосіб це зробити — відкласти своє его вбік і сказати, знаєте, що? Джонатан: А... Браян: що зробить так, щоб це працювало якомога краще щоразу, якщо просто дотримуватися процесу. Гадаю, це частина цього, так. Джонатан: Бо коли я шукав Remote Retro, там було багато ніби agile-термінології. Тож мені цікаво, чи це, можливо, якось змінилося звідти. Але це справді класно. Я не чув цього раніше. Те, що я чув, стосується чеклістів, особливо в медицині та аерокосмічній галузі. Тобто пілот проходить чекліст. Він не відхиляється від свого чекліста. І лікар робить те саме. Це справді класно. Браяне, ми починаємо йти на посадку. У мене є ще одне запитання для вас сьогодні ввечері. І це насправді: яка ваша рекомендація для спільноти Exercism на наступний тиждень? Якби ви могли дати одну пораду, і вона може стосуватися чого завгодно. Це може бути, наприклад, пити комбучу з, не знаю, місцевого гастроному, чи бігати й купатися в Північному Льодовитому океані, чи що завгодно. Якби була одна річ, яку ви порадили б спільноті Exercism спробувати, що б це було цього тижня? Браян: Дякую! Гм. Я б сказав... що, гм, тобто, у межах ваших, знаєте, можливостей, бо, можливо, це, знаєте, не, завжди важко давати поради всім. Але, гадаю, одна річ, яка була великою для мене, це, гадаю, одного разу я потрапив у приймальне відділення, бо в мене раптово розболілася голова. І, можливо, було побоювання, що це такий собі громоподібний головний біль, що може бути досить серйозною річчю. Тож я пішов, і лікар оглянув мене, і там усе було гаразд. Але, знаєте, лікар просто ставив загальні запитання й ніби казав: гаразд, скільки ви займаєтеся спортом? І, знаєте, яка у вас активність і таке інше. І я, знаєте, як американець, ніби сказав: ну, я, знаєте, ходжу чимало, роблю, можливо, 8000 кроків на тиждень, на місяць, або в середньому на день. І він такий: знаєте, вам варто виходити тричі на тиждень, по 45 хвилин, так, щоб добряче спітніти. І, знаєте, я не зробив це відразу. Але, знаєте, через, можливо, пʼять чи шість місяців я таки взявся за звичку бігати, зазвичай тричі на тиждень, іноді двічі на тиждень, але, знаєте, і, гадаю, це стало свого роду великою зміною в моєму житті. Гадаю, це мені багато допомогло. Тож, гадаю, я знаю, що це надзвичайно складна річ і мені надзвичайно складно було почати. І, гадаю, частково я зробив це так: я сказав, гаразд, я вийду, і якщо я врешті-решт 75% часу йтиму пішки, то гаразд, хай так і буде. Я просто нарощуватиму це. Джонатан: Це класно. Мені здалося цікавим, що ви це згадали, бо ми... Браян: Мені здалося цікавим, що ви це згадали, бо ми... Джонатан: Ні, це справді класно, бо одна з речей, які ми намагалися продумати з когортами, це що допоможе людям рости й навчатися, рухатися й набирати обертів, сказати б, у їхньому бігу в програмуванні. І одна з них — просто вийти, навіть якщо це на 10 хвилин на день, просто щоб поставити себе в ситуацію спроби. І навіть якщо ви нікуди особливо не просуваєтесь, навіть якщо ви просто прочитали інструкції і на цьому на сьогодні все, якщо ви якось зʼявилися, це вже дає велику різницю. Але, гадаю, це чудова порада, і це точно нагадування для мене піти й трохи зайнятися спортом, бо іноді так багато сидиш у приміщенні. Тож якщо хтось там слухає, скористайтеся порадою Браяна й вийдіть на пробіжку. Але, тобто, у Стокгольмі найближчими тижнями почне трохи холоднішати. Ви все ще бігаєте посеред зими чи це, сказати б, біг у приміщенні? Браян: Так, бігаю. І, тобто, я б також сказав, знаєте, найкращий спорт, яким можна займатися, якщо збираєшся виходити на 30-40 хвилин на день тричі на тиждень чи щось таке, це, знаєте, будь-що, що вам найбільше подобається, знаєте, бо якщо вам не подобається бігати, то ви, ймовірно, не зможете це підтримувати. Тож, знаєте, я скажу це насамперед, але так, узимку, знаєте, у мене є шапка, яка, ніби, у Стокгольмі ж теж темно. Тож дружина подарувала мені шапку з вбудованими волокнами, які мають світлоповертальний ефект. Гаразд, тож це, це приємно. Тож вона може тримати мене в безпеці. А ще в мене є маска на обличчя й щось на вуха, що я можу вдягти. Так, і потім... Так, тож мені доводиться вдягатися тепло, але це теж може бути добре, бо коли холодно, знаєте, я можу, я можу тримати нижчий темп і все одно бігати. Так, саме так. Саме так. Джонатан: О, це чудово. Але, Браяне, я просто хотів сказати величезне спасибі за ваш час цього вечора, і це, мабуть, був довгий день, і діти, і робота, і нове цуценя, і все таке, тож я просто хотів подякувати вам за ваш час і за те, що поділилися ним із нами, і для всіх, хто слухає, ми додамо нотатки до випуску в описі нижче, тож можете з ними ознайомитися. Якщо у вас є якась можливість і ви це слухаєте, заходьте й подивіться трек Elixir, і я впевнений, Браяне, не знаю, чи ви взагалі займаєтеся наставництвом на треку Elixir, але, можливо, якщо ви колись будете в просторі наставництва, ви можете побачити нових людей, які заходять і пробують речі. Я чув багато хорошого про Elixir, тож гадаю, це точно те, за чим варто стежити в майбутньому, і так, чудового вам вечора, Браяне. Трохи зачекайте, коли я зупиню запис, але так, було чудово мати вас із нами, і дякую за те, що поділилися трохи розумінням життя Браяна Андервуда, і так, тож дякую всім за прослуховування й чудового вечора. До зустрічі.

Більше історій від нашої спільноти

Слухаймо, навчаймося й надихаймося від учасників нашої спільноти.