Що відбувається, коли ми отримуємо новини, які змінюють життя? Як реагувати? Як це осмислити? Послухаймо Ді-Джея про те, як він переосмислив своє ставлення, дізнавшись про діагноз раку.
Jonathan: Гаразд, DJ, вітаю в подкасті Exercism цього тижня. Дуже приємно, що ви з нами. Ми сидимо в Haarlem, Haarlem, як кажуть, здається. Можете виправити мене, якщо я помиляюся. Ви ж маєте вміти це вимовляти. Гаразд, спробую ще раз. DJ: Гаразд, які з них наші три приголосні. Гаразд, Harlem. Там немає G. Гаразд, Harlem, Harlem. Гаразд, Harlem Jonathan: Гаазеслах, поїдання тюльпанів, вирощування. Проблема в тому, що це той гортанний G, з яким я маю труднощі. DJ: Але в Harlem немає G, там H. Jonathan: Так, але ж R. Гаразд, ось звідки я виходжу в цьому випадку. Але дуже добре, що ви сьогодні в нашому шоу. Ви з Exercism уже кілька років, можливо. Тобто, скільки, скільки років ви вже з ним? DJ: Насправді вже й не пригадаю свій перший... Перший раз, коли я подумав: о, я буду набридати й скаржитися. Я з Exercism від першої версії. Пригадую, здається, це було десь на Різдво, і я просто шукав якісь вправи. Знайшов його, зареєструвався, а потім не користувався. Потім була V2, яку я добре пригадую. Але, думаю, минуло близько, сказав би, трьох-чотирьох років. Мабуть, чотири роки, коли я по-справжньому захотів: о, я допоможу. Я казатиму людям, де, на мою думку, вони помиляються. Але потім піду й виправлю це. Так. Jonathan: А потім, після того як ви це виправите. Так. А з погляду IT-індустрії, тобто, очевидно, Exercism. Це було вже пізніше у вашій подорожі в IT? DJ: Так, я точно не використовував його, щоб вивчити нову мову програмування. Це починалося як спосіб чимось себе зайняти. Знаєте, так само, як люди вважають прибирання дуже заспокійливим. Я був дуже зайнятий на роботі, тож вирішив зробити ще більше. Бо, знаєте, у вас і так уже стільки всього до роботи. Тож я шукав вправи, проходив Codewars, займався HackerRank, а потім знайшов Exercism, і що мені в ньому сподобалося, це нові вправи, яких більше ніде не було. Там не було «зроби це в код-гольфі», тобто зроби якомога коротше, і не було «зроби це якомога швидше», а просто спробуй виконати вправу так, як тобі подобається. Класно. Ще й з тією перевагою, що можна було робити це багатьма мовами. Тож для мене це було... я ходив до університету й вивчав інформатику, але робив це лише тому, що не знав, чим хочу займатися. Хотів робити мільйон різних речей, а в моїх батьків був магазин іграшок. І з економікою ставало все гірше. Тож я зрозумів, що мені треба робити щось. Jonathan: А який це приблизно був рік, коли ви... Коли була криза? 2008? 2009? Тоді. Так, гаразд. DJ: Коли була криза? Американська криза? 2008, 2009. Тоді. Так, саме так. Мені зараз 31. Я вступив до університету, коли мені було 17. Тож приблизно тоді. І я вже працював в ICT-компанії. «Ви пробували вимкнути й увімкнути його знову?» Ні. Ні. Jonathan: Ні, ні. Так, так, вони зламалися, просто ввімкніть його. DJ: Так, тож для всіх, хто працює на підприємствах, найпоширеніша проблема з комп'ютерами людей в офісах — це те, що вони не ввімкнені в розетку. Тож, знаєте, я працював в ICT-компанії, в IT-компанії, і там трохи програмували, але я вирішив: якщо я збираюся вчитися і мені треба буде себе утримувати, бо в батьків був магазин іграшок, який погано працював через кризу у світі, то краще робити щось, що я вже вмію. Тож я вирішив вступити на інформатику. Jonathan: І це підводить нас до приблизно сьогодення. Так. Це було тоді в Голландії? Так, так. Це було в Делфті, Делфтський технологічний університет. Гаразд. DJ: Так, так, це було в Делфті, Делфтський технологічний університет. Мені було 17, і коли я почав, інформатика мені дуже сподобалася. Я займався нею близько семи місяців. І потім я не кинув, але я захворів на рак. Тож я залишив університет. А коли повернувся, університет ставився до мене дуже складно. Навчальна програма змінилася. Вони не хотіли приймати мене на деякі курси другого й третього року, бо казали, що я забагато пив. А я сказав: насправді я вмирав, але дякую вам дуже. Тож я вирішив натомість працювати. Я робив лише ті проєкти, які справді хотів робити. І це було моє знайомство з такими мовами, як Java. Було трохи C, Haskell, Prolog, багато різних предметів для різних курсів. Але на роботі я використовував C#. Jonathan: Вона... DJ: І я знав Ruby з молодших років, коли намагався бути розробником ігор, бо саме цією мовою це й роблять. Насправді ні, але тоді так було. Jonathan: А як у вас узагалі з'явився інтерес до IT ще в дуже молодому віці? Очевидно, ви пройшли шлях від батьків у магазині іграшок і далі до рецесії й усього такого. Але, мабуть, ще до цього був якийсь момент «о, IT — це цікаво»? DJ: Так, коли мені було 12... насправді це почалося, коли я був зовсім малим. Коли я був зовсім малим, Windows 95 ще не існувало. Це був MS-DOS. І моя мама вела бухгалтерію для друкарні, яка була в моїх батьків. У них була друкарня ще до того, як з'явився магазин іграшок. І вона вела бухгалтерію в Xact, дуже поширеній бухгалтерській програмі. І вона на MS-DOS. І вона виглядає так, як те, що роблять хакери, правда? Це як зелений екран, екран з «Матриці». А трохи згодом він став білим, білого кольору. І він, він мав дуже цікавий вигляд. І мені подобалося бавитися в ньому, повністю руйнуючи її роботу. І вона це ненавиділа. А мій батько був серед тих людей, хто в молодості мав один з небагатьох CD-приводів для запису в місті. Тож коли він був молодий, він був одним із перших. Jonathan: Екран з «Матриці» й усе те, що сиплеться каскадом. DJ: людей із такою штукою, і він копіював людям дані та записував їх. Тож йому подобалося возитися з комп'ютерами. Удома в нього було кілька іграшок, але на цьому все. У мене не було ігрових комп'ютерів. Я не виріс із телевізором. Я був у скаутах, коли займався змагальним вітрильним спортом. Але коли мені було 12, я таки отримав комп'ютер. І він був повільний. Це був один із тих комп'ютерів. І ті, хто трохи старший, знають, про що я. У нього була кнопка turbo. Здається, я пам'ятаю, як ви про це говорили. І якщо її натиснути, комп'ютер буквально починав дзижчати легше для ока. І він працював швидше. Jonathan: І ваші рахунки за електрику значно зростали. Тож я грав у Rollercoaster Tycoon. О так. Багато. До чого ви там дійшли? DJ: Так! Значно. І тож я грав у Rollercoaster Tycoon. О так. Багато? Комп'ютер був настільки повільним, що є один рівень, і, здається, він належить до Takkun 2 в одному з доповнень, і, здається, називається Arid Heights. Це перший рівень, який можна пройти без грошей. І в мене пішло щось близько чотирьох місяців, щоб його завершити. Це неймовірно. Зараз на своєму комп'ютері я, мабуть, пройшов би його за годину. Але він був настільки повільним. І це було чудово. Це було неймовірно. І мені це дуже подобається. Jonathan: Це неймовірно. Одна з найкращих ігор, які є. DJ: Так, так. І це таки викликало в мене бажання зайнятися розробкою ігор. Не тому, що мені подобається програмувати, а просто тому, що мені подобається грати в гру. Тож між 12 роками і 18 я трохи бавився з RPG Maker, який... здається, японський, але це програма, яку переклали для міжнародної і здебільшого американської аудиторії, і з її допомогою можна було створювати RPG. І вона дуже схожа на «вкажи й клікни», і вся система подій має інтерфейс, але мова програмування під нею була Ruby. І вся мова сценаріїв була RGSS. Це Ruby Game Scripting System, чи щось таке. І тож можна було рухати будь-які вбудовані екрани, які вони дають, як-от меню, змінюючи координати в цих сценаріях, бо вони відкриті. Тож це було перше, що я зробив. Я порухав екрани туди-сюди й відчув себе дуже спроможним. Ну, ви профі. Тобто я бачив це. Так, я бачив це. Тобто я не знав жодного програмування. Це просто, ви бачили числа й розуміли, що це координати на екрані, і ви змінювали їх, щоб змінити екрани на своєму екрані, і це було чудово. Jonathan: Ну, ви профі. Тобто, сеньйор. Так, сеньйор. Тож зв'язок між тим, що відбувалося на екрані, і тим, що вам треба було зробити, був досить прямий. Це було майже миттєво. Ви могли майже миттєво це побачити. DJ: Ви могли майже миттєво це побачити, так? І це підводить до того, чому деякі люди вважають, що інтерпретовані мови краще підходять для навчання програмістів-початківців, так? Саме тому, що є миттєвий зворотний зв'язок. І після цього я працював над складнішими системами. Тож хтось зробив графіку, щоб на екрані анімувалося листя. І я написав маленький сценарій, який змушував це листя насправді анімуватися й потім літати по екрану. І хоча мені було 14, люди знали мене за моїм інтернет-псевдонімом, який я вважав дуже вишуканим. Це було «me» і знак торгової марки, що було дуже дратівливо, коли люди намагалися звертатися до мене, бо вони говорили про мене, і це було чудово. І з дорослішанням я виявив, що програмування просто цікаво робити, але це не було «о, я займатимуся цим усе життя». Я хотів бути хірургом, хотів бути астронавтом, хотів займатися розробкою ліків. Але ні, обставини, випадок. Тож на момент, коли я насправді працював у тій ICT-компанії перед університетом, коли мені було 17, у мене були якісь знання з програмування, але не було бажання стати програмістом. Не було «о, Кремнієва долина — це найкрутіше, що я бачив». Я просто... Jonathan: ...літало по екрану. Це було просто частиною того, ким ви були або ким ви є. Це було те, як я заробляв частину своїх грошей. Так. DJ: Це те, як я заробляв частину своїх грошей. Так, і це була робота. Аж поки я насправді не почав університет і не пройшов курси, я не зрозумів, що я в цьому дуже добрий. На роздратування частини моїх одногрупників, яким дуже не подобалося, що я міг прийти запізно і все одно отримати вищі оцінки, ніж вони. Jonathan: Як ви думаєте, те, що ви були компетентні на той момент в університеті, частково було тому, що у вас був тривалий період, коли весь цей матеріал уже був у голові й, так би мовити, вкорінений? Ви вважаєте це чинником, елементом цього, чи це просто була природна схильність? Схильність, і ви просто знали, що відбувається. Було... DJ: ...що відбувається. Було дослідження. Я не пригадаю назви статті й навіть не пригадаю імені дослідника. Але вони досліджували, чи... чи кожна людина у світі могла б стати програмістом. Пам'ятаєте, кілька років тому був великий рух за те, що всі мають програмувати. І вони виявили, що є, по суті, дві групи людей: ті, хто зрозуміє, і ті, хто не зрозуміє. І це нормально. І вони вважали важливим дослідити це... насправді це не було метою. Але це був висновок. Вони вважали важливим озвучити цей висновок, бо це означає, що ти не дурний, якщо не розумієш. Це просто означає, що є частина вміння розуміти логічні конструкції. Тож це не має нічого спільного зі знаннями. Тож як часто ви це бачили? Або скільки ви знаєте про мову? Це суто питання, чи можете ви створити ментальну модель, щоб усе склалося. І вони виявили, що є люди, які можуть, і люди, які не можуть. І в обох групах буде різний рівень компетентності залежно від того, скільки часу ви в це вклали. І я думаю, так само з багатьма речами. Мені дуже подобається готувати, але я став кращим у цьому лише тому, що приділяю цьому багато часу. Так. Правильно. Тож ви пробуєте. Тож я думаю, що тут є певний хист, бо я знаю людей, дуже близьких друзів, які пробували готувати. Так. І це все, що я хочу про це сказати. Бо ви знаєте, хто ви, якщо слухаєте це. І це не їхня провина. Є частина, яка, на мою думку, приходить природно. І є частина, яка набувається. І я думаю, з програмуванням так само. Чи вважаю я, що допомогло те, що я вже бавився з програмуванням? Так. На 100%. Звісно. Це дуже схоже на людину, яка намагається навчитися грати на інструменті, але вже вміє читати ноти. Це допоможе. І це може не дати вам усіх благ світу, але так, це мені допомогло. Але багато в чому це було ще й тому, що я вже заробляв цим гроші. Тож я робив... Jonathan: І це все, що я хочу про це сказати. 100% 100% 100%. Тож поки ви були в університеті, ви заробляли собі на прожиток, будуючи речі, і водночас навчалися? Це було так, ніби у вас одночасно відбувалося це подвійне життя. DJ: Так, було. Тож я фактично навчався, навчання плюс робота разом становили близько 60 годин на тиждень. І ще до того ж були гулянки. Jonathan: Тож ви якось перетворили тиждень на 270 годин. Так, якось. Так, так, так. DJ: якось. Так, якось. Так, так. Тож я дуже добре вмів спати мало. У мене також не буває похмілля, і досі немає. Я просто втомлююся, і все. Тож для мене це було чудово. Голландською ми кажемо «studeren is leren combineren», що означає, що навчання — це мистецтво вміти поєднувати різні речі. І я, особливо для мене, це було дуже правдою. Jonathan: Тож потім ви зробили цікаве зауваження про всю цю історію з раком. Тож ви в університеті, і тут це вас наздоганяє. Так. Нізвідки, щось таке, що ви просто... DJ: Так, це був шок одного дня. Це було шокуюче, але водночас я відчував себе дуже спокійно. Діагноз раку для багатьох людей — це дуже довгий, це дуже довгий процес. Це не так: о, ви йдете до лікаря, і вони кажуть, що у вас рак. Так ніколи не буває. Ви йдете до лікарні, проходите всі ці обстеження, і завжди є тривога з боку лікарів, і коли ви вже раз це пережили, ви знаєте, яких виразів шукати, але вони не кажуть вам, що у вас рак, поки не знатимуть, що він у вас є. І це дуже довгий процес. Для деяких людей це триває тижні, для більшості людей це триває місяці, але для деяких людей це триває роки, перш ніж вони дізнаються. І це також жахлива частина цього, бо якщо вони не шукають цього, саме це вас і вбиває, бо вже запізно. І тож для мене я був у млині, як тут кажуть, чотири місяці й місяці, і потім вони нарешті сказали мені: так, у вас лімфома, те й те, і так далі. Ми не знаємо. У нас є для вас діагноз, але немає прогнозу. Тож ми знаємо, що у вас є, ми не знаємо, скільки ви проживете. Ми знаємо, що це погано, ми не знаємо, наскільки погано. Ось і все. Jonathan: Тож вам розповідають усе і нічого водночас. І тож я сказав: гаразд, а що тепер? Так. DJ: І тож я сказав: гаразд, а що тепер? Так. І люди, які повідомили мені новину, були не дуже задоволені моєю реакцією, бо думали, що я не сприйняв це серйозно. Але я сказав: ви кажете мені, що не знаєте, що робити, то що далі? І я думаю, єдине, що для мене справді змінилося, окрім, звісно, того, що я випав із гри майже на рік, це те, що я перестав казати «ні» на багато речей. Тож якщо до раку я працював, навчався й гуляв, то після цього я просто почав робити більше. І ви робили більше. Так. Jonathan: І ви робили більше. Так. Більшість людей сказали б: гаразд, пригальмуй, зупинися. DJ: Я перестав заощаджувати гроші. Я почав їх витрачати, бо який сенс? Я помру, а потім хтось скаже: о, він міг би зробити стільки чудових речей на всі ті заощаджені гроші. Зараз, коли я старший, можливо, це було не наймудріше рішення, але на той момент саме це підказала мені моя префронтальна кора, і це був пізній підлітковий вік, тож уперед. Тож я багато подорожував, багато працював, навчався на тому, що мені подобалося, тобто інформатики, але лише на тих курсах, які мені дозволяли брати й які я хотів брати. І потім один з моїх асистентів-викладачів з першого року переїхав до Стенфорда, що в Каліфорнії. Це один із великих університетів, один із найкращих університетів, і він сказав: хочеш зробити для мене літній проєкт? Бо я працюю в цій компанії, це стартап. І я сказав: звісно, цілком упевнений, що ніколи в житті не торкався програмування під Android. У мене був телефон на Android, це був проєкт для Android. Я вивчав Java в університеті, і все, на цьому край. І я сказав: звісно, звісно, давай, я зроблю. Що я отримаю? Він сказав: ну, ми заплатимо тобі 3000 доларів, ти маєш закінчити до кінця літа. На той момент я жив разом з однією людиною в RNM, і вона зрадила мене на мій день народження, тож я подзвонив своїй найкращій подрузі, яка з Техасу, і вона сказала: тобі ж щойно виповнився 21, чому б тобі не приїхати? Що тобі втрачати? Саме так. Приїжджай сюди. Тож я так і зробив. Я прилетів, і коли я був у Техасі, той асистент-викладач сказав: гей, схоже, ти в Техасі. Jonathan: Що тобі втрачати? Саме так. Приїжджай. Ось що мені потрібно. DJ: ми можемо переправити тебе сюди літаком. Тож чому б тобі не провести відпустку, а потім змінити зворотний квиток і приїхати попрацювати з нами якийсь час. І я так і зробив. І ось так почалася моя історія в Кремнієвій долині. І ось так я, хоча вже й заробляв професійно, але радше як засіб для досягнення мети, ось так мене затягнуло до Каліфорнії й до роботи. У мене вже була власна компанія, бо я... Jonathan: У 21 ви заснували власну компанію в Голландії? Я заснував власну компанію з податкових міркувань. Гаразд. DJ: Я заснував компанію з податкових міркувань. Тож я працював в ICT-компанії, але програмування я хотів робити не як працівник, бо як працівник ти не заробляєш багато. І ще було чимало податкових пільг, які я міг отримати. Тож я заснував компанію і сказав своєму керівникові в ICT: слухайте, я хочу робити роботу з програмування через цю компанію. І він сказав: гаразд, згоден. Я ще й підвищу тобі оплату, бо тоді ти не працівник. Я такий: чудово. Тож це в мене вже було. І тож я міг легально мати американського клієнта, бо в мене вже була... Або ви укладали субпідряд і потім... Саме так, я укладав субпідряд із самим собою. Це чудово. Це чудово. І я фактично робив це чотири роки, літав туди й назад. Jonathan: О, ви укладали субпідряд. І потім саме так. Тож ви базувалися в Голландії? Так. І потім літали туди, робили трохи роботи, поверталися? Так, я також працював тут. DJ: Ви поверталися, так, ми також працювали тут. Тож я працював віддалено. Але я їздив туди на зустрічі й, знаєте, вибудовував там робоче життя й досвід, і це цілком замінило те, що я хотів отримати від університету. Тож я перестав ходити. Тобто це закінчилося близько п'яти років тому. І тоді я почав наймати людей тут. Тож я розростив компанію, це вже був не лише я. Я сказав одному своєму другові з університету: слухай, хочеш попрацювати зі мною над цим проєктом? І той проєкт насправді був одним із клієнтів із США. І він сказав: звісно, зробимо. Одну з моїх інших найкращих подруг насправді найняла американська компанія, тож у мене все ще була причина літати туди, щоб її відвідати, і це чудово. Тож я відвідував клієнтів, знаходив нових клієнтів, а тоді летів додому, і ми робили роботу. І вони платили нам американські зарплати. Неймовірно. І для тих, хто не знає, вартість життя тут набагато нижча. Тож... Хіба ні? Тобто, і це... Jonathan: здається, Каліфорнія, чи ви були приблизно в тому районі? тож DJ: Де ви були, ви були приблизно в тому районі? Так, це просто смішно. Якщо ви... Я знаю, я знаю, що я розпещений у Нідерландах доступом до фруктів та овочів, ми багато вирощуємо тут і багато імпортуємо з Європи. Але якщо ви хочете отримати... Пів кіла, тобто 500 грамів полуниці на ринку, ви заплатите, якщо це в сезон, від одного до двох євро. А в найдорожчих супермаркетах, крім еко-, ви заплатите близько 2,50 у сезон. Поза сезоном це зросте до чотирьох чи п'яти євро. Але скажімо, заради аргументу, це два євро. Стільки ж полуниці в Molly Stone's у Пало-Альто коштуватиме вам близько 11 доларів. Серйозно? Так. Тож це справді... І я думаю, що це добрий спосіб формувати свої ціни. Моя оренда за одну кімнату й ванну кімнату становила 3000 доларів на місяць. Це смішно. Це нестабільно. Це також причина, чому їм треба платити людям стільки. Jonathan: справді. DJ: І тож так, коли ви повертаєтеся сюди й отримуєте ту саму оплату, якийсь час це було чудово. Так, це було неймовірно. І потім я переріс компанію. Але ніколи не було справжнього усвідомлення: о, так, я хочу займатися програмуванням або хочу бути програмістом. Це було просто: я в цьому добрий, я можу цим заробляти. А потім воно почало мені подобатися. Jonathan: І ось тепер ви в цій IT-сфері, в цьому IT-просторі. Одне з того, про що я хотів вас запитати й що хотів би, щоб ви розширили, це вся ця концепція доступності. І зараз я підходжу до цього трохи навмання, в сенсі того, що це означає. Я знаю, що це вам близьке, у цьому сенсі, але розкажіть про це трохи докладніше. DJ: Так, тож зараз я переважно створюю комп'ютерні програми, які можна споживати або з мобільного телефона, тобто уявіть застосунки, або вебсайти чи вебзастосунки, які зазвичай споживають через браузер на десктопі, ноутбуці чи будь-якому іншому пристрої з браузером. Доступність — це про те, щоб зробити те, що ви створюєте, інклюзивним, тобто доступним для інших. По суті, це не має нічого спільного з програмуванням. Ми говоримо про доступність, коли говоримо: ну, чи є вхід або туалет, зручний для людини на інвалідному візку? Зробити простори доступнішими означає зробити їх інклюзивнішими, щоб більше людей могли ними користуватися. Я думаю, що в мене було багато... «багато» не дуже кількісне, у мене був поганий досвід, негативний досвід із расизмом і невіглаством по всьому світу, зокрема й у цій країні. Jonathan: Я думаю. DJ: більшість цього, я глибоко переконаний, походить від невігластва. Але це сягає навіть мого годинника, мого розумного годинника, який пік мені до шкіри, бо його не проєктували для більшої кількості пігменту. Тож офіційний запит до підтримки, коли я сказав їм, що в мене з'явилася пляма й він або не визначав мій пульс, або пік мене, був: спробуйте носити його із внутрішнього боку, де менше пігменту. Це була офіційна відповідь. Ви можете мене бачити, інші люди ні, але я кольору карамелі Dolce de Leche. Тож, знаєте, я не дуже темного відтінку, я не дуже світлого, це якраз десь посередині. Але в мене були проблеми з дозаторами мила, які не видають мило. Jonathan: Це була офіційна відповідь. Це була офіційна відповідь. DJ: або з дверима, які не відчиняються. Гаразд, справді? Так. І, знаєте, це мене дратувало, але все це незручності. У мене немає людей поруч, які мають порушення зору тією мірою, що їм потрібні допоміжні засоби. У мене немає людей, які глухі або слабочуючі, але я можу уявити, як це для них, якщо те, якими вони є, Jonathan: Гаразд. DJ: негативно впливає на них, коли вони намагаються жити, бо це саме так, правда? Тож коли я в це заглибився, що буквально означає, що однієї ночі я відкрив Google і почав читати сторінки Mozilla про доступність, у них там досить багато інформації, я виявив, що багато з того, що ми можемо робити як веброзробники, переважно веброзробники, але й розробники застосунків, щоб зробити речі інклюзивнішими, зовсім не складне. І під «не складне» я маю на увазі, що я кілька тижнів тому провів доповідь, де показав різницю, а насправді дав людям почути різницю між приблизно 15 хвилинами роботи над чимось абсолютно недоступним і чимось не жахливим. І тож цей відмовка компаній, коли вони кажуть: о, знаєте, зробити речі доступними коштує багато грошей і забирає багато часу. Це просто відмовка. Імовірно, це невігластво, що є найпозитивнішим способом на це дивитися, але це також б****. Jonathan: Це відмовка. DJ: Це справді так. Тож коли я виявив, що це легко зробити, я почав за це агітувати. Jonathan: Тож наведіть мені приклад чогось такого в застосунку чи веббраузері, просто як приклад. DJ: О, ось найпростіший приклад. Люди припускають, що у вас є мишка. Тобто це означає стани наведення, яких у вас немає на мобільному телефоні. Це найпоширеніша річ, про яку люди насправді знають, бо вони користуються вебсайтом на телефоні й хочуть побачити підказку, а не можуть її побачити, якщо не натиснуть довго на річ, бо саме це імітує наведення на мобільному телефоні. Тепер уявіть, що у вас немає сенсорного пристрою й немає мишки, але ви користуєтеся клавіатурою. Якщо ви використовуєте стандартні веб-елементи, тобто HTML, так, як його задумано використовувати, або якщо ви використовуєте правильні примітиви для свого застосунку на Android чи iOS, або коли ви використовуєте такі бібліотеки, як React Native, це не буде проблемою. І це важлива частина. Розумніші за мене люди безкінечно думали про це. Є документи, документи й документи про те, як використання стандартів може зробити речі кращими для всіх. Але якщо ви не можете користуватися клавіатурою для навігації вебсайтом, це означає, що є частина світу, яка не може користуватися вашим вебсайтом, і це сумно, бо ви хочете створювати речі, щоб люди ними користувалися. Тож це не має нічого спільного з тим, щоб робити більше роботи. Це цілком про те, що ви хочете, щоб ваша робота була доступною, або принаймні мали б хотіти. Здається, ви кажете... Jonathan: Тож, здається, ви кажете, що треба бути розумнішими в тому, як підходити до чогось, а не обов'язково... DJ: Я думаю, це частково освіта. І під цим я маю на увазі, що є багато людей, які не знають, що це проблема, бо ніхто їм не сказав, що це проблема. І мені здається дуже легким те, що люди на це скаржаться. Кажуть: о, вам слід, вам слід, вам слід зробити все доступним. Але якщо ви не знаєте, бо це досить широкий термін. Як-от якщо ви кажете «зроби це». Jonathan: Бо це досить широкий термін. Як-от якщо ви кажете «зроби це доступним», то це як: ну, що ви маєте на увазі? У цьому контексті це дуже широко. Надзвичайно широко. DJ: У цьому контексті це дуже широко. Це надзвичайно широко. Це неймовірно широко. Ще гірше те, що деякі способи зробити щось доступним взаємовиключні зі створенням доступності для інших людей. Тож якщо у вас порушення зору, тобто поганий зір або ви незрячі, ви, найімовірніше, користуєтеся або брайлівським дисплеєм, який перекладає те, що бачить на сторінці, у шрифт Брайля, і це чудово. Це неймовірно. Тож як це, він створює ніби... Це тактильний. Гаразд, тож він тактильний. Так, це справді круто. Тож це тактильний екран, до якого можна доторкнутися, і він показує вміст у... У шрифті Брайля, чи як... Так, так, ні, буквально шрифтом Брайля, ось і все. Або вони користуються скрінрідером, який читає екран уголос, або користуються і тим, і тим. Є багато людей, які користуються обома. Ці люди... Jonathan: Тож як це, він створює ніби... гаразд? Це справді круто, у шрифті Брайля, так, так, ні, буквально шрифтом Брайля DJ: не зможуть користуватися продуктом, правда? Але якщо ви попрацюєте, щоб дати їм змогу ним користуватися, ви можете почати робити такі речі, як озвучування значків. Тож те, що ми бачимо як значок, наприклад значок шестерні, який ми вважаємо налаштуваннями, ви даєте йому позначку. Ви кажете: це налаштування, і це чудово, бо тепер вони можуть бачити через слух або через дотик те, що ми бачимо очима. Однак, і ось тут з'являється те, що треба знати, це те, що деякі люди користуються голосовими командами для навігації сторінкою. Jonathan: як значок шестерні. Тож як Siri, це був би приклад? «Hey Siri, перейди до налаштувань». DJ: Так, як Siri. «Hey Siri, перейди до налаштувань». Так, саме так. І якщо видима текстова позначка на сторінці не збігається з тією додатковою доступною позначкою, яку ви додали, тобто вона не починається з того самого тексту, а сучасніші інструменти зараз роблять інклюзію, то вона не зможе натиснути цю кнопку. Jonathan: Тож чи досвід навігації для людини, яка має труднощі із зором, у цьому контексті стає просто справжньою морокою? Так, тож у цих випадках... DJ: Так, тож у цих випадках люди, які користуються... і дуже важливо розуміти, що люди користуються асистивними технологіями інакше, ніж ми очікуємо, правда? Тож якщо хтось користується скрінрідером, це не означає, що він незрячий. Один із моїх працівників користується ним, коли втомлюється, бо так він зберігає зосередженість. Так само деякі люди користуються голосовими командами, можливо, не тому, що в них немає рук, а тому, що вони доглядають дитину, або вони в дорозі, або є стільки причин, чому люди користуються цими інструментами інакше, ніж їхнє початкове призначення, правда? Але незнання того, як працюють ці інструменти, дуже ускладнює розробку для них. І тож я знаходжу, я знаходжу багато речей. Одне з них: мені цікаво, що в університеті було приблизно нуль хвилин, присвячених розмові на цю тему. І це стосується більшості людей. Більшість людей, з якими я говорив, не вивчали цього в школі. Jonathan: Тобто це перший раз, коли я, тобто, якщо чесно, я, мабуть, мав розмову про це. Так, про цю тему. Тобто вона десь витає. Але так, але щодо конкретних прикладів, про які я ніколи по-справжньому не замислювався. Так. Це, знаєте, моя дружина вагітна або була вагітна, або тепер має немовля. Так. І ви не можете нічого робити руками. Саме так. Тож говоріть. DJ: Саме так. Тож гучний зв'язок — це чудово. І це те, що ми називаємо ситуативним порушенням. Тож у вас є різні категорії порушень, правда? Є постійні порушення. Тож якщо ви відрізали руку, у вас немає руки. Але якщо ви розтягнули руку або зламали кисть, це тимчасово. А потім є ситуативні порушення, тобто, ну, у вас руки зайняті. І всі вони хотіли б, щоб речі були доступнішими. І це стосується не лише програмування, а будь-чого, будь-чого у світі. Але з програмуванням це те, на що ми можемо впливати. Тож друга річ, тобто перша річ — нас цього не вчать, правда? Але друга річ — великі компанії, які мають ресурси витрачати на це, вони жахливі. Загалом вони жахливі. Так, є чудові команди. Є чудові адвокати доступності. Ви знаєте, хто ви. Є безумовно великі компанії, які за останні роки зробили багато покращень. Але загалом це не те, що люди роблять за замовчуванням. Угу. Тоді як, знаєте, переконатися, що сайт завантажується, — це те, що вони роблять. Так. І це те, про що люди дбають. Jonathan: Але я думаю, це цікаво, бо наразі, я думаю, є негатив щодо створення чогось для доступності. Я б сказав, що загальне сприйняття таке, що це додаткова річ, яку треба зробити. Але насправді, якщо перевернути це й сказати: ну, ви робите його настільки доступнішим, то це цілком змінює динаміку. І мені подобається те, що ви сказали про це, бо відчувається, що коли ви говорите, я відчуваю в цьому надію, а саме: гей, насправді ви можете вирізнити свій продукт із натовпу, бо ви насправді робите його доступнішим. DJ: Робите його доступнішим. Я думаю, що... Чи я трохи... Чи це трохи сентиментально або трохи по-дурному? Я думаю, позитивне те, що ви можете це зробити. Так. Це не те, що... Вам не треба бути ракетним ученим. Це чудово. Негативне те, що ми взагалі про це говоримо, що це виняток. І це сумно. Це справді сумно. Але я сподіваюся й борюся за те, щоб більше людей дізналися й потім перейнялися. Так. І питання, яке мені ставлять найчастіше: гаразд, DJ, ви мене переконали, але як мені переконати моїх колег і як мені переконати свого боса? Jonathan: Так. DJ: Як компанія й як роботодавець ми дещо змінили. Тож перше, що ми змінили, це те, що ми не беремо плату за доступність. Це не рахунок, бо не повинно бути рахунком. Jonathan: Тож ви, виходить, закладаєте це у свій обсяг робіт, тобто ви сказали б: гаразд, ось ми розробимо ваш застосунок звичайно. А потім: гаразд, ви хочете додаткову доступність. Ось так. DJ: Так, це цікаво. Ми так не робимо. Ви не додаєте доступність так само, як не повинні додавати анімацію. Ви не додаєте дизайн постфактум, бо тоді стає дуже важко щось проєктувати, правда? Тож коли ми зараз створюємо щось нове, воно доступне. Це не опція. Jonathan: опція. Тобто це просто те, що є специфікацією. Так. Це не, це не рядок. Там немає, ні. DJ: Це не пункт витрат. Це не пункт у проєктах. Ми іноді вписуємо це, коли люди просять. Вони кажуть: зробіть, будь ласка, це доступним. Тоді ми це там зазначаємо. Jonathan: Бачите, у мене навіть було те припущення, що це як додаткова частина. У вас ні. DJ: припущення, що це як додаткова частина. У вас ні. Так. Кожна кнопка, яку ви додаєте на сторінку, має бути кнопкою. І кожне посилання, яке ви додаєте на сторінку, має бути посиланням. І для тих, хто знає, про що я, це здоровий глузд. Але для багатьох людей це не те, що вони роблять. Jonathan: І як це тоді вписується в бік найкращих практик? Бо ви могли б робити речі дешево, у сенсі не робити кожну річ посиланням. Так. Правда? DJ: Так, так, так, це дуже цікаве зауваження. Тож це пов'язується з тим, як мені переконати свого боса. Наразі, як програмісти, ми в такому дефіциті. Так багато пропозицій роботи. Зараз для більшості людей, які вже працювали в царині програмування, не буде дуже важко знайти нову роботу. Це із застереженням, що я знаю лише поточний стан справ на Заході. Я цілком можу уявити, що в інших частинах світу це складно, але зараз на Заході ні. Якщо вашого боса не вдається переконати вашими словами, що йому варто про це дбати, вам слід піти. Jonathan: Угу. DJ: Бо якщо ви перетворите це на бійню за витрати, ви програєте, бо все, що вони побачать, це те, що це забирає більше часу. Тепер, якщо ви користуєтеся найкращими практиками, правда? Тож якщо ви користуєтеся вебом, якщо ви користуєтеся вебстандартами, і якщо ви про це знаєте, і якщо ви вкладаєте час, щоб дізнатися про ці речі, бути доступним для... мало- й середньоінтерактивних застосунків не забирає більше часу. Jonathan: Хм. Це тому, що ви просто робите це як частину... DJ: Так, це тому, що ви користуєтеся речами, які придумали розумніші за мене люди, і вони доступні за замовчуванням, правда? Тож подумайте про поля введення. Коли ви вводите, вам треба ввести своє ім'я в поле введення. Є HTML-елемент, який називається елементом input. Якщо ви користуєтеся елементом input за замовчуванням, він дозволить вам користуватися клавіатурою, а також голосовими командами, щоб його заповнити. Якщо ви користуєтеся... Jonathan: Так. DJ: іншим елементом, скажімо div, і намагаєтеся зробити так, щоб він поводився як елемент input, ви, ймовірно, не врахуєте всі речі, про які вже подумали інші. І це суть, правда? Тож якщо ви не намагаєтеся зробити щось особливе і не вважаєте, що ви розумніші за тих людей, ви, ймовірно, використаєте стандарт. А якщо ви використовуєте стандарт, ви вже на півдорозі. А для всього іншого... Jonathan: Бо для мене це найпереконливіший аргумент. Це один із найпереконливіших аргументів: просто робіть так, як речі були задумані бути використаними, правда? DJ: Так, і ви насправді полегшите новим людям, які приходять у компанію, розуміння вашого коду. Ви полегшите людям, які лише починають, бо можете вказати їм на всю цю документацію, яка вже існує. Це не... Ви не винаходите колесо заново тут. Ви не винаходите колесо заново, і це суть. І оскільки я тепер, після років самостійного вивчення цього, бо я вирішив дбати, знаю, що багато речей насправді не складно робити. Jonathan: ви DJ: І тож якщо ви їх робите, і якщо ви робите їх частиною своєї звичної роботи, вони насправді стають легшими для всіх. Що робить усе інклюзивнішим для всіх, що також робить це поширенішим, що знову робить це легшим, бо... А потім веселішим, а потім... Так, саме так. Чи один із винахідників Всесвітньої павутини... Jonathan: ммм, так, саме так. DJ: Я не знаю цитати напам'ять, але вона є в доповіді. Вам варто дати посилання на неї, якщо ви це викладете онлайн. Так, я обов'язково додам це в нотатки до шоу. Але він сказав, що це був веб для того, що його мали споживати будь-хто й кожен. Jonathan: Так, я обов'язково додам це в нотатки до шоу. DJ: Тож уся основа взаємозв'язності Всесвітньої павутини була в тому, щоб більше людей споживало більше інформації. Це університети почали ділитися подробицями своїх досліджень. І звісно, були уряди, які подумали: о, можливо, ми можемо знайти для цього військове застосування, так само як GPS починався. Але по суті це був науковий проєкт, і вони не очікували, що він стане таким великим. Але коли вони виявили, що, з'єднуючи комп'ютери між собою й обмінюючись даними, можна насправді робити більше роботи швидше, і в тебе є доступ до цієї великої бібліотеки даних, і не треба записувати це в книжки, які застарівають. Jonathan: Так. Доступність була основоположною опорою інтернету, можна стверджувати, так, саме так DJ: опорою інтернету, можна стверджувати. Так, саме так. Він розквітнув. І нам треба зберегти це таким. Нам треба створювати продукти, які є інклюзивними. І це стосується не лише вебзастосунків, не мобільних застосунків, а всього. Тож любі Google, коли ви проєктуєте систему позначок для своїх Google Photos і починаєте позначати темношкірих людей як мавп, бо не додаєте мавп у свій додатковий набір даних, це просто непрофесійно. Окрім соціальних аспектів, правда? Тож окрім ейджизму, ейблізму й расизму, це просто непрофесійно, якщо не думати про те... Jonathan: Так. DJ: як зробити свої продукти інклюзивними. І це моя позиція. І я знаю, що це, люди кажуть: о, ви дуже про це дбаєте. Jonathan: Ммм. DJ: Але це кумедно. Я особисто з цього не маю вигоди. Я особисто з цього не маю вигоди, правда? Я здорової тілобудови майже в усіх сенсах. Так, я трохи дивакуватий, мене впустили в дитинстві, це теж є, але крім цього, мені самому ці речі не потрібні, і не тому я вважаю, що люди мають про це дбати. А тому, що я справді хочу, щоб інші люди могли бачити, чути, користуватися тим, що я створив. Це не означає, що я не роблю помилок, я пишу багато коду, який абсолютно недоступний або не інклюзивний, але коли я про це дізнаюся, я намагаюся зробити його кращим. І це не так: о так, це те, що ми могли б зробити. Ні, коли хтось каже мені це, це те, що я відчуваю, що мушу зробити. Так, інакше вони не зможуть цим користуватися. Jonathan: І це так, це наче й питань нема. Це так! DJ: Це так. Це справді без варіантів. Jonathan: Але це добре, бо означає, що ви приносите щось свіже, ну, навіть не свіже, це просто наче ви повертаєте на передній план те, на чому, наприклад, була побудована Всесвітня павутина, і це наче основна цінність, і я думаю, що це важливо. Не хочеться це забувати. Бо IT насправді досить недоступна для багатьох людей. І знання про неї, це досі невелика група людей, які схильні розуміти. DJ: не забувайте. Ну, подумайте про те, що більшість мов програмування — англійською, припускаючи, що всі говорять англійською. Саме так. Правда? Як багато мов програмування вимагають спеціального обладнання. Наприклад... Інтернет-з'єднання. Так. І високошвидкісного інтернет-з'єднання, яке потрібне дедалі більше. І це також... це також речі, про які я кажу людям. Знаєте, вони пишуть щось, що можна зробити лише якщо у вас Mac або якщо у вас Linux. Я такий: є багато людей на Windows. Jonathan: Нам слід писати... у ті давні дні, якщо у вас був долар, п'ятдесят шість футів, мотор, уявіть собі... Я пам'ятаю DJ: Який мотор, уявіть собі. Ну, тож я пам'ятаю ті часи. Так. Коли батьки хочуть подзвонити, а ви в інтернеті. Jonathan: коли ви- DJ: Саме так, і вони не можуть. І тож я не знаю, чи це щось із нинішнім поколінням. Я не знаю, чи це проблема того, що багато грошей на Заході. Ми загалом маємо доступ до високошвидкісного інтернету, що робить дуже легким забути, що не весь світ його має. Але це також речі, про які не дуже важко подумати, правда? Так. Jonathan: Саме так, і не може. Так, але, я маю на увазі, це цікава розмова, бо Exercism намагається створити можливість для якомога більшої кількості людей у світі вивчати код. Що означає, що більшість населення світу, де він зростає, це ринки, що розвиваються. Так, Індія, Південна Америка, Африка, і інтернет-з'єднання набагато ненадійніше на цей момент у тих, у тих частинах світу. Тож так, чи ми створюємо програми, до яких люди не мають доступу, бо інтернет не може впоратися? Але, знаєте, це теж завжди варто враховувати. Так. Є багато різних речей, про які треба думати. DJ: Так, безперечно. Але до цього, звісно, є багато людей на ринках, що розвиваються, з чудовим інтернет-з'єднанням. І є багато людей, наприклад, там, де я найбільше подорожував, у Каліфорнії, які не мають інтернет-з'єднання, бо там просто немає покриття, що дуже цікаво. Але це завжди онлайн, і ця вимога високої швидкості, і ця вимога швидкого пристрою, ця вимога дорогого обладнання. Це... Jonathan: З'єднання. DJ: Вони не всі довільні, але є багато легких речей, які ми можемо робити: від бюджетів. Подумайте про бюджети за розміром, правда? Скільки ви збираєтеся передавати по дроту? До доступу до офлайн-режимів, до переконання, що ваш код працює з асистивними технологіями, які не важко почати. Тож це не, насправді дуже легко почати робити краще. І це одна з причин, чому, якщо подумати, це один зі способів, чому я залишився з Exercism, бо було так багато різних думок, але всі хотіли того самого, що мені здається дуже цікавим, правда? Тож є ця дуже велика група мейнтейнерів і контриб'юторів, а також наставників, які всі хочуть того самого. Кожна людина тією чи іншою мірою сказала: я допоможу іншим людям опанувати нову мову. І мені насправді не дуже важливо, наскільки вони добрі, але я допоможу їм стати кращими. Jonathan: правда. DJ: І я думаю, саме це змусило мене захотіти залишитися. Класно. Ось чому я, мабуть, досі тут. А ще Джеремі подобається, коли я скаржуся. Тож і це також. Jonathan: І це також. Це класно. Це справді цікаво щодо всієї теми доступності. У мене є ще дві маленькі речі, про які я хотів вас запитати, перш ніж нам доведеться йти. Перше — нам дуже хочеться заглибитися в цю концепцію ідеї або пагорба, за який ви готові померти в IT-індустрії. І причина, чому ми хотіли про це поговорити й хотіли подати це в позитивному ключі, це те, що в IT-індустрії багато думок. І нам просто хочеться мати розмову навколо цих речей і мати добру розмову навколо цих різних речей. Тож який той пагорб в IT-індустрії, за який ви готові померти? І подаючи це в позитивному ключі: ось за що я справді ручався б. І ви, мабуть, уже трохи торкалися цього раніше в нашій розмові щойно, але чи є щось, про що ви сказали б: ось це те, що я вважаю ключовим, за що я боровся б? DJ: Так, давайте. Є з чого вибирати, і, очевидно, зробити програмне забезпечення світу інклюзивним було б найлегшим, за що вхопитися. Але, як не дивно, я не думаю, що це те, що мене найбільше хвилює. Особливо за останні кілька років є багато, багато гучних людей, які поводяться не дуже приємно. Це стосується таких речей, як гейткіпінг. Тобто: о, якщо ти не вчився в університеті, ти не знаєш, про що говориш, правда? Або розмови про те, що бекенд складніший за фронтенд. Ось тут це знову пов'язується з Exercism. Але те, на що я сподіваюся, що ми побачимо, це те, що ці розмови безглузді. Бо для фронтендера бекенд важкий, якщо ти не знаєш, що робиш. Jonathan: Це як намагатися бути муляром, якщо ти ніколи цього не робив. Так, але ви знаєте, наскільки важкий бекенд... DJ: Але ви знаєте, наскільки важкий фронтенд для бекендерів, які ніколи цього не робили? Коли я піднімаю цю тему доступності, вони кажуть: о, я цим не займаюся, бо я роблю бекенд. Люди, які пишуть програмне забезпечення для вбудованих систем, чипів, ракет, вони блискучі. У них набагато більше обмежень, ніж ми можемо уявити. А ще є ігрові програмісти, і вони блискучі в тому, що роблять, намагаючись з'ясувати, як зробити так, щоб ваш GPU вміщав усі ті текстури всіх тих нових і блискучих ігор. Це такий інакший підхід до речей. Але саме це й робить це цікавим. Що робить програмування й розмови про програмування цікавими, це те, чим воно відрізняється і чого ви не розумієте. І ось це нам слід робити замість того, щоб казати: о, ти такий і такий, негативний прикметник, прислівник, іменник, байдуже. Так. Цікавтеся цим, бо можете з цього навчитися. Тепер, безумовно, є компанії, і безумовно є окремі люди, і є групи, які цим займаються. Є перетини між стількома галузями, про які люди не здогадуються. HTTP2 — це по суті виконання TCP, мережевого протоколу, через UDP, щось дуже поширене в онлайн-RPG, яким треба було передавати набагато більше даних без постійного з'єднання. React, один із фреймворків, де можна створювати реактивні застосунки і для вебу, і для мобільних телефонів, використовуючи так звану техніку подвійного рендерингу, яка походить з ігор. Але й навпаки, всі ті асистивні покращення, які ми тепер маємо на наших вебсайтах, також упроваджуються в ігровому світі. Правда? Особливо Microsoft багато працювала з деякими новішими іграми, де додає більше опцій, як-от субтитри, як-от озвучування меню, а також такі речі, як криві складності. Тож ми знаємо, що програмісти мають різні способи, як вони набувають знань, як вони навчаються й з якою швидкістю. І так само з користуванням продуктом, чи це інтерфейс, як-от купівля квитка в автоматі, чи гра, це не дуже важливо. І саме перетин між усіма цими різними галузями й усіма цими різними ролями приведе нас до місця, де все краще. Буквально все краще. Бо ви таки бачите, що великі речі за останні роки, які блискучі, це перетини. Правда? Між усіма цими галузями. Jonathan: ви DJ: Люди будуть займатися гейткіпінгом, але ви стримуєте себе, коли це робите. І тож, на мою думку, за який пагорб я безумовно помер би, це той, де я кажу: якщо ви цього не робите, ви допомагаєте собі, правда? Тож це не лише про інклюзивність, а й про відкритість до інших мов, до інших галузей, до інших ролей, а не про те, щоб казати «моє важче, моє складніше, моє краще, моє байдуже». Це також веде до багатьох інновацій, бо хтось будує новий фреймворк, коли намагається додати одну маленьку річ до стандарту. Це дає нам більше знань, якщо думати про це позитивно. Jonathan: Гаразд, тож останнє питання на сьогодні. Так. Яку рекомендацію ви дали б спільноті в будь-чому? Це може бути їжа, вправи чи що завгодно. Якби була одна рекомендація, яку ви дали б нашій спільноті на цей тиждень, якою б вона була? DJ: Так. одна рекомендація. Це цікаво. Моя одна рекомендація була б... Коли приїжджаєте до Нідерландів, розумійте, що Нідерланди більші за Амстердам. Якщо ви вже живете в Нідерландах і живете в Амстердамі, розумійте, що є світ за кільцем. Ви знаєте, хто ви. А якщо ви з провінції, не зліться, коли люди називають вас провінціалом. Бо ви ним і є. Jonathan: Ось так. Це добра рекомендація від DJ на сьогодні. DJ, дуже дякую за ваш час. Ми зараз вирушаємо на вечерю, але сподіваюся, вам сподобалося, усі, хто слухає. DJ, дуже дякую, що заскочили на цей імпровізований запис цього тижня. Дуже раді вас бачити. Приємно було добре поговорити. Тож ми додамо всі нотатки з різними посиланнями, доповідями й речами, які DJ згадував, у нотатки до шоу. Але DJ, дякую. Нема за що. Дуже раді, що ви з нами, і ми цінуємо все, що ви робите для Exercism і ким ви є. Тож дуже дякую. Гаразд.
Слухаймо, навчаймося й надихаймося від учасників нашої спільноти.