وقتی خبر یا اطلاعاتی دریافت میکنید که زندگی را زیر و رو میکند، چه اتفاقی میافتد؟ چگونه پاسخ میدهید؟ چگونه آن را پردازش میکنید؟ با دیجی همراه شوید تا بشنوید او چگونه دیدگاهش را پس از شنیدن تشخیص سرطان از نو چید.
Jonathan: خب، DJ، خوب، به پادکست این هفتهی Exercism خوش آمدید. واقعاً خوشحالم که اینجایید. داریم در هارلم مینشینیم، هارلم، همانطور که میگویند، فکر کنم. اگر اشتباه میکنم، میتوانید تصحیح کنید. قرار است بتوانید این را درست تلفظ کنید. خب، یک بار دیگر تلاش میکنم.
DJ: خب، کدام از آن سه تا... خب، هارلم. هیچ Gای در آن نیست. خب، هارلم، هارلم.
Jonathan: هاگلاسلاگخور و لالهکار. مشکل این است که همان Gِ حلقومی است که با آن درگیرم.
DJ: اما در هارلم هیچ Gای نیست، یک H است.
Jonathan: بله، ولی آن R. خب، در این مورد منظورم همین بود. ولی واقعاً خوشحالم که امروز در برنامهی ما هستید. چند سالی است که با Exercism درگیرید، احتمالاً. یعنی، چند سال، چند سال است که درگیر بودهاید؟
DJ: راستش اولین بارم را دقیقاً به خاطر نمیآورم... اولین بار که با خودم گفتم، اوه، میخواهم آزاردهنده باشم و گلایه کنم. من از نسخهی اول با Exercism بودهام. یادم میآید، فکر کنم حدود کریسمس بود، و دنبال چند تمرین برای انجام دادن میگشتم. پیدایش کردم، ثبتنام کردم، و بعد استفاده نکردم. بعد نسخهی دوم آمد، که آن را خیلی به یاد دارم. ولی فکر کنم حدوداً، باید بگویم، سه، چهار سال باشد. احتمالاً چهار سال، وقتی که واقعاً گفتم، اوه، کمک میکنم. به مردم میگویم کجا فکر میکنم اشتباه میکنند. ولی بعد میروم درستش میکنم. بله.
Jonathan: و بعد از اینکه درستش میکنید. بله. و بعد از دید فنی، خب، مسلماً Exercism. آن هم بعدتر در مسیر شما به دنیای فناوری بود؟
DJ: بله، قطعاً از آن برای یادگیری یک زبان برنامهنویسی جدید استفاده نکردم. اینطور بود که با پر کردن وقت شروع شد، کارِ پُر کردن وقت. میدانید، همانطور که بعضیها تمیزکاری را خیلی آرامشبخش میدانند. من سر کار خیلی مشغول بودم، پس تصمیم گرفتم بیشتر انجام دهم. چون، میدانید، همین حالا هم کلی کار برای انجام دادن دارید. پس دنبال تمرین میگشتم، Codewars را انجام دادم، کارهای HackerRank را انجام دادم، و بعد Exercism را پیدا کردم، و چیزی که در Exercism دوست داشتم این بود که تمرینهای تازهای داشت که جای دیگری پیدا نمیکردید. هیچکس نمیگفت این را کد گلف کن، یعنی تا جای ممکن کوتاهش کن، و هیچکس نمیگفت این را تا جای ممکن سریع کن، فقط این بود که ببین میتوانی تمرین را به شکلی که خودت دوست داری کامل کنی. عالی. با این مزیت اضافه که میتوانستی در چندین زبان انجامش دهی. برای من اینطور بود که به دانشگاه رفتم و علوم کامپیوتر خواندم، ولی فقط به این دلیل این کار را کردم که نمیدانستم چه میخواهم بکنم. میخواستم یک میلیون کار انجام دهم، و پدر و مادرم یک مغازهی اسباببازیفروشی داشتند. و اوضاع اقتصاد داشت بد میشد. پس فهمیدم باید کاری بکنم.
Jonathan: پس تقریباً چه سالی بود که شما... بحران کِی بود؟ ۲۰۰۸؟ ۲۰۰۹؟ پس همان موقع. بله، خب.
DJ: بحران کِی بود؟ بحران آمریکا؟ ۲۰۰۸، ۲۰۰۹. پس همان موقع. بله، دقیقاً. الان ۳۱ سالم است. دانشگاه را وقتی ۱۷ ساله بودم شروع کردم. پس حدود همان زمان. و از قبل برای یک شرکت ICT کار میکردم. یک بار خاموشش کردهاید و دوباره روشنش کردهاید؟ نه. نه.
Jonathan: نه، نه. بله، بله، خراب شدهاند، فقط روشنش کنید.
DJ: بله، پس برای هر کسی که در محیط سازمانی کار میکند، شایعترین مشکل کامپیوترهای مردم در دفترها این است که به برق وصل نیستند. پس، میدانید، من برای یک شرکت ICT، یک شرکت IT کار میکردم، و آنها کمی برنامهنویسی میکردند، ولی تصمیم گرفتم، خب، اگر میخواهم درس بخوانم و باید خودم را تأمین کنم، چون پدر و مادرم یک مغازهی اسباببازیفروشی داشتند که به خاطر بحران جهانی خوب نمیچرخید، بهتر است کاری بکنم که از قبل بلدم. پس تصمیم گرفتم برای علوم کامپیوتر ثبتنام کنم.
Jonathan: و این ما را به حدوداً همین حالا میرساند. بله. آن موقع در هلند بود؟ بله، بله. در دانشگاه فناوری دلفت بود. خب.
DJ: بله، بله، در دانشگاه فناوری دلفت بود. آن موقع ۱۷ ساله بودم و وقتی علوم کامپیوتر را شروع کردم واقعاً دوستش داشتم. و حدود هفت ماه ادامه دادم. و بعد ترک نکردم، ولی سرطان گرفتم. پس دانشگاه را متوقف کردم. و وقتی برگشتم، دانشگاه با من خیلی سختگیر بود. برنامهی درسی عوض شده بود. نمیخواستند مرا در بعضی از درسهای سال دوم و سوم قبول کنند، چون میگفتند، تو زیادی مشروب خوردهای. و من گفتم، راستش من داشتم میمردم، ولی خیلی ممنون. پس تصمیم گرفتم بهجایش کار کنم. بنابراین فقط پروژههایی را انجام دادم که واقعاً میخواستم انجام دهم. و آن شروع آشنایی من با زبانهایی مثل Java بود. کمی C، Haskell، Prolog، کلی درس مختلف برای درسهای مختلف. ولی سر کار از C Sharp استفاده میکردم.
Jonathan: او...
DJ: و Ruby را از جوانی میشناختم، از وقتی که میخواستم بازیساز شوم، چون آن زبانِ این کار است. نیست، ولی آن موقع بود.
Jonathan: پس چطور از همان سن کم اول به فناوری علاقهمند شدید؟ واضح است که از دیدن پدر و مادرتان در یک مغازهی اسباببازیفروشی و بعد رکود و همهی اینها گذشتید، ولی احتمالاً قبل از آن هم یک لحظهی «فناوری جالب است» وجود داشت؟
DJ: بله، وقتی ۱۲ ساله بودم... فکر کنم واقعاً از خیلی کوچکی شروع شد. وقتی خیلی کوچک بودم، هنوز Windows 95 نبود. MS-DOS بود. و مادرم دفترهای حساب شرکت چاپی را که پدر و مادرم داشتند انجام میداد. قبل از مغازهی اسباببازیفروشی، یک شرکت چاپ داشتند. و او دفترها را در Xact انجام میداد، که یک برنامهی حسابداری خیلی رایج است. و در MS-DOS است. و ظاهرش شبیه همان چیزی است که میبینید هکرها انجام میدهند، درست است؟ مثل صفحهی سبز، صفحهی فیلم Matrix. و بعد کمی بعدتر، سفید شد، رنگ سفید. و خیلی جالب به نظر میرسید. و دوست داشتم در آن ور بروم و کاملاً کارش را خراب کنم. و او از این کار متنفر بود. و پدرم در واقع یکی از آن آدمها بود که وقتی جوانتر بود، یکی از تنها دستگاههای رایت CD در شهر را داشت. پس وقتی بزرگ شد، یکی از اولینها بود.
Jonathan: صفحهی Matrix و آن ریزش آبشاری.
DJ: آدمهایی که یکی از آن دستگاهها را داشتند، و او برای مردم داده کپی میکرد و رایتش میکرد. پس کامپیوتر را دوست داشت. چند تا اسباببازی در خانه داشت، ولی همین. من کامپیوتر گیمینگ نداشتم. با تلویزیون بزرگ نشدم. وقتی قایقرانی مسابقهای انجام میدادم، پیشاهنگ بودم. ولی وقتی ۱۲ ساله شدم، یک کامپیوتر گرفتم. و کند بود. یکی از همان کامپیوترها بود. و آنهایی که کمی بزرگترند، میدانند در مورد چه حرف میزنم. یک دکمهی توربو داشت. فکر کنم یادم میآید که شما در موردش حرف زدید. و اگر فشارش میدادید، کامپیوتر واقعاً ززززززز میکرد و صدایش شبیه پنکه میشد. و سریعتر میشد.
Jonathan: و قبض برقتان بهطور چشمگیری بالا میرفت. و بعد RollerCoaster Tycoon بازی کردم. اوه بله. خیلی. در آن یکی تا کجا رسیدید؟
DJ: بله! بهطور چشمگیری. و بعد RollerCoaster Tycoon بازی کردم. اوه بله. خیلی؟ خب کامپیوتر آنقدر کند بود که یک مرحله هست، فکر کنم در یکی از بستههای الحاقی RollerCoaster Tycoon 2 است، و فکر کنم اسمش Arid Heights است. اولین مرحلهای است که میتوانید بدون پول انجامش دهید. و حدود چهار ماه طول کشید تا کاملش کنم. شگفتانگیز است. الان روی کامپیوتر خودم احتمالاً در یک ساعت انجامش میدهم. ولی آنقدر کند بود. و عالی بود. شگفتانگیز بود. و من عاشق این هستم.
Jonathan: شگفتانگیز است. یکی از بهترین بازیهای موجود.
DJ: بله، بله. و واقعاً باعث شد بخواهم وارد بازیسازی شوم. نه به این دلیل که برنامهنویسی را دوست دارم، فقط بازی کردن را دوست دارم. پس بین ۱۲ سالگی و ۱۸ سالگی، با RPG Maker ور رفتم، که... فکر کنم ژاپنی است، ولی برنامهای است که برای مخاطب بینالمللی و عمدتاً آمریکایی ترجمه شده، و میتوانستید با آن RPG بسازید. و خیلی شبیه اشاره و کلیک است، و کل سیستم رویدادها رابط کاربری دارد، ولی زبان برنامهنویسی زیربناییاش Ruby بود. و کل زبان اسکریپتنویسیاش RGSS بود. یعنی همان Ruby Game Scripting System یا چیزی شبیه این. و میتوانستید هر صفحهی از پیشساختهای که به شما میدهند، مثل یک منو، را با تغییر مختصات در آن اسکریپتها جابهجا کنید، چون در دسترس هستند. پس اولین کاری که کردم همین بود. صفحهها را جابهجا کردم و خیلی احساس موفقیت کردم.
Jonathan: خب، شما حرفهای هستید. یعنی، من دیدهام. بله، دیدهام. یعنی، من هیچ برنامهنویسی نمیدانستم. این فقط این است که، شما عددها را میدیدید و میفهمیدید که آن مختصات روی صفحه هستند و آنها را عوض میکردید تا صفحههای روی نمایشگرتان را تغییر دهید، و عالی بود.
DJ: تقریباً بلافاصله میتوانستید ببینیدش، درست است؟ و همین به این برمیگردد که چرا بعضیها فکر میکنند زبانهای مفسری برای آموزش برنامهنویسان تازهکار بهترند، درست است؟ دقیقاً به خاطر همین بازخورد فوری. و بعد از آن، روی سیستمهای پیچیدهتری کار کردم. یک نفر گرافیکی ساخت تا برگها روی صفحه انیمیشن داشته باشند. و من یک اسکریپت کوچک نوشتم که آن برگ را واقعاً به حرکت درمیآورد و بعد روی صفحه شناور میکرد. و با اینکه حدود ۱۴ ساله بودم، مردم مرا با اسم مستعار اینترنتیام میشناختند، که فکر میکردم خیلی شیواست. اسمم بود بهعلاوهی یک علامت تجاری، که وقتی مردم میخواستند مرا صدا بزنند خیلی آزاردهنده بود، چون داشتند راجع به من حرف میزدند، که عالی بود. و هرچه بزرگتر شدم، فهمیدم برنامهنویسی فقط سرگرمکننده است، ولی اینطور نبود که، اوه، میخواهم تا آخر عمر همین کار را بکنم. میخواستم جراح شوم و میخواستم فضانورد شوم و میخواستم در طراحی دارو باشم. ولی نه، شرایط و تصادف. پس تا وقتی که واقعاً قبل از دانشگاه، در ۱۷ سالگی، برای آن شرکت ICT کار کردم، کمی دانش برنامهنویسی داشتم، ولی هیچ میلی به برنامهنویس شدن نبود. هیچ «اوه، سیلیکونولی باحالترین چیزی است که تا حالا دیدهام» نبود. من فقط...
Jonathan: ...روی صفحه شناور بود. فقط بخشی از چیزی بود که بودید یا هستید. اینطوری بود که بخشی از پولم را درمیآوردم. بله.
DJ: اینطوری بود که بخشی از پولم را درمیآوردم. بله، و یک شغل بود. تا وقتی که واقعاً دانشگاه را شروع کردم و درسها را گذراندم نبود که فهمیدم در آن خیلی خوبم. به آزار بعضی از همکلاسیهایم که واقعاً خوششان نمیآمد بتوانم خیلی دیر وارد شوم و باز هم نمرههای بالاتری از آنها بگیرم.
Jonathan: فکر میکنید خوب بودن در آن مقطع در دانشگاه تا حدی به این خاطر بود که مدت طولانی آن محتوا را در ذهن داشتید و بهاصطلاح در ذهنتان نهادینه شده بود؟ فکر میکنید این یک عامل بود، یک عنصر از آن؟ یا فقط یک استعداد طبیعی داشتید؟ استعداد، و فقط میدانستید چه خبر است. یک
DJ: چه خبر است. تحقیقی انجام شده. اسم مقاله را به خاطر نمیآورم و حتی اسم محقق را هم به خاطر نمیآورم. ولی تحقیقی کردند درباره اینکه آیا... هر کسی در دنیا میتواند برنامهنویس شود. یادتان باشد، چند سال پیش یک فشار بزرگ بود که همه باید برنامهنویسی یاد بگیرند. و فهمیدند که اساساً دو گروه از مردم وجود دارند، کسانی که میفهمند و کسانی که نمیفهمند. و این اشکالی ندارد. و مهم دانستند که تحقیق کنند، یا در واقع، هدفشان این نبود. ولی نتیجهاش این شد. مهم دانستند که این نتیجه را اعلام کنند، چون یعنی اگر نمیگیرید احمق نیستید. فقط یعنی بخشی از آن مستلزم توانایی درک سازههای منطقی است. پس این هیچ ربطی به دانش ندارد. پس چند وقت یک بار دیدهاید؟ یا چقدر زبان را میشناسید؟ فقط این است که، میتوانید مدل ذهنی بسازید تا جا بیفتد؟ و فهمیدند که کسانی هستند که میتوانند و کسانی که نمیتوانند. و در هر دو گروه، بسته به اینکه وقت گذاشته باشید، درجات مختلفی از مهارت خواهید داشت. و فکر میکنم با خیلی چیزها همینطور است. من آشپزی را خیلی دوست دارم، ولی فقط به این دلیل بهتر شدم که وقت زیادی صرفش کردم. بله. درست است. پس امتحان میکنید. پس فکر میکنم کمی مهارت در آن هست، چون میدانید، آدمهایی، دوستان خیلی عزیزی، که تلاش کردهاند آشپزی کنند. بله. و همینقدر دربارهاش میخواهم بگویم. چون اگر دارید این را میشنوید، خودتان میدانید کی هستید. و تقصیر خودشان نیست. بخشی هست که فکر میکنم طبیعی میآید. و بخشی هست که اکتسابی است. و فکر میکنم در برنامهنویسی هم همینطور است. آیا فکر میکنم اینکه از قبل با برنامهنویسی ور رفته بودم کمک کرد؟ بله. ۱۰۰٪. البته. خیلی شبیه کسی است که میخواهد یک ساز یاد بگیرد، ولی خواندن نت را بلد است. کمک میکند. و شاید همهی سود دنیا را به شما ندهد، ولی بله، به من کمک کرد. ولی خیلی از آن هم به این خاطر بود که از قبل با آن پول درمیآوردم. پس داشتم...
Jonathan: و همینقدر دربارهاش میخواهم بگویم. ۱۰۰٪ ۱۰۰٪ ۱۰۰٪. پس وقتی در دانشگاه بودید، علاوه بر درس خواندن، با ساختن چیزها خرج خودتان را درمیآوردید؟ مثل اینکه همزمان دو کار موازی داشتید.
DJ: بله، همینطور بود. پس اساساً درس میخواندم، درس بهعلاوهی کار، با هم حدود ۶۰ ساعت در هفته بود. و بعد آن هم بیرون رفتن.
Jonathan: پس هفته را جوری به ۲۷۰ ساعت تبدیل کردید. بله، جوری. بله، بله، بله.
DJ: جوری. بله، جوری. بله، بله. پس در کمخوابی خیلی خوب بودم. من خماری هم نمیگیرم، هنوز هم نمیگیرم. فقط خسته میشوم و تمام. پس برای من عالی بود. در هلندی میگوییم، studeren is leren combineren، یعنی درس خواندن هنرِ دانستنِ ترکیب کردن چیزهای مختلف است. و من همینطورم، مخصوصاً برای من خیلی صادق بود.
Jonathan: پس بعد یک نکتهی جالب دربارهی کل ماجرای سرطان گفتید. پس در دانشگاه هستید و بعد آن به سراغتان میآید. بله. بیدرنگ، چیزی که...
DJ: بله، آن یک روز شوک بود. شوکآور بود، ولی همچنین خیلی خونسرد بودم. تشخیص سرطان برای بسیاری از مردم یک فرایند خیلی طولانی است. اینطور نیست که اوه، پیش دکتر میروید و میگویند سرطان دارید. این هرگز اتفاق نمیافتد. به بیمارستان میروید و همهی آن آزمایشها را میدهید و همیشه نگرانی از طرف دکترها هست، و تا وقتی یک بار تجربهاش کرده باشید میدانید دنبال چه حالتهایی باشید، ولی تا وقتی مطمئن نشوند که دارید، به شما نمیگویند سرطان دارید. و این یک فرایند خیلی طولانی است. برای بعضیها هفتهها طول میکشد، برای بیشتر مردم ماهها طول میکشد، ولی برای بعضیها سالها طول میکشد تا بفهمند. و بخش وحشتناکش هم این است که اگر دنبالش نروند، همین شما را میکشد چون خیلی دیر شده. و برای من، چهار ماه در آن چرخه بودم، همانطور که اینجا میگوییم، و بعد بالاخره به من گفتند و گفتند بله، لنفوم داری، این و آن و یادیادیادا. نمیدانیم. تشخیص داریم، ولی پیشآگهی نه. پس میدانیم چه دارید، نمیدانیم چند وقت زنده میمانید. میدانیم بد است، نمیدانیم چقدر بد. همین.
Jonathan: پس همزمان همه چیز و هیچ چیز به من میگویید. و من گفتم، خب، حالا چه؟ بله.
DJ: و من گفتم، خب، حالا چه؟ بله. و کسانی که خبر را به من دادند از پاسخم خیلی راضی نبودند، چون فکر کردند جدیاش نمیگیرم. ولی گفتم، شما دارید به من میگویید که نمیدانید چه باید بکنید، پس قدم بعدی چیست؟ و فکر میکنم تنها چیزی که واقعاً برایم عوض شد، جدا از اینکه البته تقریباً یک سال از دور خارج شدم، این بود که دست از نه گفتن به خیلی چیزها برداشتم. پس در حالی که قبل از سرطان کار میکردم و درس میخواندم و بیرون میرفتم، بعد از آن فقط شروع کردم به بیشتر انجام دادن. و شما بیشتر انجام دادید. بله.
Jonathan: و شما بیشتر انجام دادید. بله. بیشتر مردم میگویند، خب، آهستهتر، بس کن.
DJ: من دست از پول پسانداز کردن برداشتم. شروع کردم به خرج کردنش، چون چه فایدهای دارد؟ میمُردم و بعد یک نفر میگفت، اوه، او میتوانست با همهی آن پولی که پسانداز کرد کارهای عالی زیادی بکند. الان که بزرگتر شدهام، شاید آن عاقلانهترین تصمیم نبود، ولی در آن لحظه قشر پیشپیشانی مغزم به من گفت این کار را بکن، و اواخر بلوغ بود، و بیا انجامش بده. پس خیلی سفر کردم، خیلی کار کردم، هرچه دوست داشتم خواندم، که علوم کامپیوتر بود، ولی فقط درسهایی که اجازه داشتم و میخواستم بردارم. و بعد یکی از دستیاران آموزشیام از سال اول به Stanford رفت، که در کالیفرنیا است. یکی از دانشگاههای بزرگ، یکی از دانشگاههای عالی، و گفت، میخواهی برایم یک پروژهی تابستانی انجام دهی؟ چون من برای این شرکت کار میکنم، یک استارتاپ است. و گفتم، حتماً، کاملاً مطمئن که در عمرم به برنامهنویسی اندروید دست نزده بودم. یک گوشی اندرویدی داشتم، یک پروژهی اندرویدی بود. در دانشگاه Java خوانده بودم و همین، همین بود. و گفتم، حتماً، حتماً، بدهش به من، انجامش میدهم. چه چیزی گیرم میآید؟ گفت، خب، ۳٬۰۰۰ دلار بهت میدهیم، باید تا آخر تابستان تمامش کنی. آن موقع با یک نفر در RNM زندگی میکردم و در روز تولدم به من خیانت کرد، و من به بهترین دوستم زنگ زدم، که اهل تگزاس است، و او گفت، همین الان ۲۱ ساله شدی، چرا نمیآیی؟ چه چیزی برای از دست دادن داری؟ دقیقاً. بیا اینجا. و من رفتم. پرواز کردم و وقتی در تگزاس بودم، آن دستیار آموزشی گفت، هی، معلوم است که در تگزاسی.
Jonathan: چه چیزی برای از دست دادن داری؟ دقیقاً. بیا اینجا. همین را لازم داشتم.
DJ: میتوانیم پروازت بدهیم اینجا. پس چرا تعطیلاتت را انجام نمیدهی و بعد بلیت برگشتت را عوض نمیکنی و بعد بیایی و مدتی با ما کار کنی. و همین کار را کردم. و اینطوری داستان سیلیکونولی من شروع شد. و اینطوری من، با اینکه از قبل حرفهای پول درمیآوردم، ولی بیشتر بهعنوان وسیلهای برای رسیدن به هدف، به کالیفرنیا و آن کار کشیده شدم. از قبل شرکت خودم را داشتم چون من... ۲۱
Jonathan: در ۲۱ سالگی شرکت خودت را در هلند راه انداختی؟ شرکت خودم را به دلایل مالیاتی راه انداختم. خب.
DJ: شرکتم را به دلایل مالیاتی راه انداختم. پس در شرکت ICT کار میکردم، ولی کار برنامهنویسی را میخواستم نه بهعنوان کارمند انجام دهم، چون بهعنوان کارمند پول زیادی درنمیآوری. و هنوز تخفیف مالیاتی زیادی بود که میتوانستم بگیرم. پس یک شرکت راه انداختم و به رئیس ICTام گفتم، هی، گوش کن، میخواهم کار برنامهنویسی را بهعنوان این شرکت انجام دهم. و گفت، خوبه، موافقم. حقوقت را هم بالا میبرم چون دیگر کارمند نیستی. گفتم، عالیه. پس از قبل آن را داشتم. و بنابراین میتوانستم بهطور قانونی یک مشتری آمریکایی داشته باشم چون از قبل... یا خودت را پیمانکار فرعی کردی و بعد... دقیقاً، خودم را پیمانکار فرعی کردم. عالیه. عالیه. و اساساً چهار سال همین کار را کردم، رفت و برگشت پرواز میکردم.
Jonathan: اوه، پیمانکار فرعی شدی. و بعد دقیقاً من. پس پایهات در هلند بود؟ بله. و بعد پرواز میکردی، کمی کار میکردی، برمیگشتی؟ بله، اینجا هم کار میکردم.
DJ: برمیگشتی... بله، اینجا هم کار میکردم. پس از راه دور کار میکردم. ولی برای جلسهها به آنجا میرفتم و میدانی، یک زندگی کاری و تجربهی آنجا میساختم و کاملاً جای هرچه را که میخواستم از دانشگاه بگیرم پر کرد. پس دیگر نرفتم. یعنی، این حدود پنج سال پیش تمام شد. و آن موقع بود که شروع کردم به استخدام آدمها در اینجا. پس شرکت را بزرگ کردم، دیگر فقط من نبودم. به یکی از دوستانم از دانشگاه گفتم، هی، میخواهی با من روی این پروژه کار کنی؟ و آن پروژه در واقع یکی از مشتریان آمریکا بود. و گفت، حتماً، بیا انجامش دهیم. یکی از دیگر از بهترین دوستانم، او در واقع توسط یک شرکت آمریکایی استخدام شد، پس هنوز دلیلی داشتم که برای دیدنش به آنجا پرواز کنم، که عالیه. پس به دیدن مشتریها میرفتم، مشتریهای جدید پیدا میکردم، و برمیگشتم خانه و بعد کار را انجام میدادیم. و آنها حقوق آمریکایی به ما میدادند. شگفتانگیز. و برای کسانی که نمیدانند، هزینهی زندگی در اینجا خیلی کمتر است. پس... اینطور است؟ یعنی، و این...
Jonathan: حدس میزنم کالیفرنیا یا آن حدود بودی؟ پس
DJ: کجا بود که حدود آن منطقه بودی؟ بله، خیلی مسخره است. اگر شما... میدانم، میدانم که در هلند لوس شدهام، با دسترسی به میوه و سبزیجات و ما اینجا خیلی میکاریم و خیلی از اروپا وارد میکنیم. ولی اگر بخواهید... نیم کیلو، یعنی ۵۰۰ گرم توتفرنگی در بازار، اگر در فصل باشد، بین یک تا دو یورو میپردازید. و در گرانترین سوپرمارکتها، بهجز آنهای ارگانیک، در فصل حدود ۲۵۰ میپردازید. خارج از فصل، تا چهار یا پنج یورو بالا میرود. ولی بگذارید بگوییم، برای بحث، دو یورو است. همان مقدار توتفرنگی در Molly Stone's در پالو آلتو حدود ۱۱ دلار برایتان آب میخورد. جدی میگویی؟ بله. پس واقعاً... و فکر میکنم این روش خوبی برای قیمتگذاری است. اجارهی من برای یک اتاق و یک حمام ۳٬۰۰۰ دلار در ماه بود. مسخره است. پایدار نیست. همین هم دلیلش است که باید اینقدر به مردم پول بدهند.
Jonathan: واقعاً.
DJ: و بله، وقتی به اینجا برگردی و همان حقوق را بگیری، مدتی عالی بود. بله، شگفتانگیز بود. و بعد از شرکتم بیرون آمدم. ولی هیچوقت واقعاً این درک نبود که، اوه، بله، میخواهم برنامهنویسی کنم یا میخواهم برنامهنویس شوم. یا فقط این بود که در آن خوبم، میتوانم با آن پول دربیاورم. و بعد کمکم دوستش داشتم.
Jonathan: و پس الان در این صحنهی فناوری هستید، این فضای فناوری. یکی از چیزهایی که میخواستم از شما بپرسم و دوست دارم بیشتر توضیح دهید، همین مفهوم «دسترسپذیری» بود. و الان کمی نابینا واردش میشوم، از نظر اینکه یعنی چه. میدانم که این موضوع به دل شما نزدیک است، ولی کمی بیشتر توضیح دهید.
DJ: بله، پس در حال حاضر بیشتر برنامههای کامپیوتری میسازم که یا از طریق گوشی موبایل مصرف میشوند، پس به اپها فکر کنید، یا وبسایتها یا برنامههای وبی که معمولاً با مرورگر روی دسکتاپ یا لپتاپ یا هر دستگاه دیگری که مرورگر دارد مصرفشان میکنید. «دسترسپذیری» دربارهی فراگیر کردن چیزی است که میسازید، یعنی در دسترس دیگران. اساساً هیچ ربطی به برنامهنویسی ندارد. از دسترسپذیری حرف میزنیم وقتی حرف میزنیم از اینکه، خب، آیا ورودی یا دستشویی مناسب ویلچر وجود دارد؟ در دسترستر کردن فضاها یعنی فراگیرتر کردنشان تا افراد بیشتری بتوانند از آن استفاده کنند. فکر میکنم من خیلی... «خیلی زیاد» خیلی کمّی نیست، من تجربهی بد، تجربهی منفی با نژادپرستی و نادانی در سراسر دنیا داشتهام، از جمله در همین کشور.
Jonathan: فکر میکنم.
DJ: بیشترش، شدیداً باور دارم که از نادانی میآید. ولی کار تا جایی میرسد که ساعت من، ساعت هوشمندم، در پوستم میسوزد چون برای رنگدانهی بیشتر طراحیاش نکردهاند. پس درخواست رسمی پشتیبانی وقتی گفتم یک لکه پیدا کردهام و نه ضربان قلبم را تشخیص میدهد و نه میسوزاند این بود که سعی کنم آن را در سمتی که رنگدانهی کمتری دارد ببندم. همان پاسخ رسمی بود. شما مرا میبینید، دیگران نه، ولی رنگم مثل کارامل Dolce de Leche است. پس میدانید که نه خیلی تیره هستم، نه خیلی روشن، درست همان وسط. ولی با پمپهای صابون مشکل داشتهام که صابون نمیدهند.
Jonathan: همان پاسخ رسمی بود. همان پاسخ رسمی بود.
DJ: یا درها باز نمیشوند. خب، جدی؟ بله. و، و میدانید، آن چیزها مرا اذیت میکرد، ولی همهاش ناراحتی است. من اطرافم کسی را ندارم که اختلال بیناییای داشته باشد که به ابزارهای کمکی نیاز داشته باشد. کسی را ندارم که ناشنوا یا کمشنوا باشد، ولی میتوانم تصور کنم برای آنها چه شکلی است اگر حالشان...
Jonathan: خب.
DJ: وقتی میخواهند زندگی کنند منفی تأثیر بگذارد، چون همین است دیگر، درست است؟ پس وقتی در اینباره تحقیق کردم، که معنای حرفیاش یعنی، یک شب Google را باز کردم، و شروع کردم به خواندن صفحههای Mozilla دربارهی دسترسپذیری، آنها واقعاً اطلاعات زیادی آنجا دارند، فهمیدم که خیلی از کارهایی که ما بهعنوان توسعهدهندهی وب، عمدتاً تحت وب، ولی اپ هم میتوانیم بکنیم تا چیزها را فراگیرتر کنیم، پیچیده نیست. و منظورم از پیچیده نبودن این است که چند هفته پیش یک ارائه دادم که در آن تفاوت، یا در واقع گذاشتم مردم تفاوت را بشنوند، بین حدود ۱۵ دقیقه کار، بین چیزی که کاملاً غیرقابلدسترس است و چیزی که افتضاح نیست. و پس این بهانهی شرکتها که میگویند، اوه، میدانید، دسترسپذیر کردن چیزها پول زیادی و وقت زیادی میبرد، فقط یک بهانه است. احتمالاً نادانی است، که خوشبینانهترین طور دیدنش است، ولی همچنین ب**** است.
Jonathan: یک بهانه است.
DJ: واقعاً هست. و پس وقتی فهمیدم انجام دادنش ساده است، شروع کردم به طرفداری از آن.
Jonathan: پس یک مثال بزنید از چیزی در یک اپ یا مرورگر وب که، مثلاً فقط بهعنوان یک مثال.
DJ: اوه، این سادهترین مثال است. مردم فرض میکنند شما ماوس دارید. یعنی حالتهای hover، که روی گوشی موبایلتان ندارید. این رایجترین چیزی است که مردم واقعاً میدانند، چون وبسایت را روی گوشیشان استفاده میکنند و میخواهند یک tooltip ببینند و نمیتوانند مگر اینکه چیزی را طولانی نگه دارند، چون همان است که hover را روی گوشی موبایل شبیهسازی میکند. حالا تصور کنید دستگاه لمسی ندارید و ماوس هم ندارید، ولی از صفحهکلید استفاده میکنید. اگر از عناصر استاندارد وب، یعنی HTML، همانطور که قرار بود استفاده شود استفاده کنید، یا اگر از اجزای پایهی درست برای اپ اندروید یا iOS استفاده کنید، یا وقتی از کتابخانههایی مثل React Native استفاده میکنید، این مشکل پیش نمیآید. و این بخش مهم است. آدمهای باهوشتری از من بیپایان به این فکر کردهاند. سند و سند و سند وجود دارد دربارهی اینکه استفاده از استانداردها چطور میتواند همه چیز را برای همه بهتر کند. ولی اگر نتوانید با صفحهکلید در یک وبسایت حرکت کنید، یعنی بخشی از دنیا نمیتواند از وبسایت شما استفاده کند، که غمانگیز است چون میخواهید چیزی بسازید تا مردم استفاده کنند. پس این هیچ ربطی به بیشتر کار کردن ندارد. همهاش مربوط به این است که میخواهید کارتان بیرون باشد، یا حداقل باید بخواهید. حدس میزنم منظورت همین است.
Jonathan: و پس حدس میزنم دارید میگویید با چیزی هوشمندانهتر برخورد کنید، بهجای اینکه لزوماً...
DJ: فکر میکنم بخشیاش آموزش است. و منظورم این است، خیلی از مردم نمیدانند این یک مشکل است چون هیچکس به آنها نگفته این یک مشکل است. و به نظر من خیلی راحت است که مردم از آن گلایه کنند. میگویند، اوه، باید، باید، باید همه چیز را دسترسپذیر کنی. ولی اگر ندانی، چون اصطلاح خیلی گستردهای است. مثل اینکه بگویی آن را...
Jonathan: چون اصطلاح خیلی گستردهای است. مثل اینکه بگویی دسترسپذیرش کن، میگوید، خب، منظورت چیست؟ در آن بافت خیلی گسترده است. فوقالعاده گسترده.
DJ: در آن بافت خیلی گسترده است. فوقالعاده گسترده است. بهطور باورنکردنی گسترده است. حتی بدتر اینکه بعضی روشهای دسترسپذیر کردن چیزی با دسترسپذیر کردنش برای دیگران در تناقض است. پس اگر اختلال بینایی دارید، یعنی بینایی ضعیفی دارید یا نابینا هستید، به احتمال زیاد یا از یک صفحهی بریل استفاده میکنید، که هرچه روی صفحه میبیند را به بریل ترجمه میکند، که عالیه. شگفتانگیز است. پس چطور، آیا چیزی مثل... لمسی است. خب، پس لمسی است. بله، واقعاً باحال است. پس یک صفحهی لمسی است که میتوانید لمسش کنید و محتوا را نشان میدهد به... به بریل یا مثل... بله، بله، نه، واقعاً به بریل، همین. یا از یک صفحهخوان استفاده میکنند، که صفحه را با صدای بلند میخواند، یا از هر دو استفاده میکنند. آدمهای زیادی هستند که از هر دو استفاده میکنند. این افراد...
Jonathan: پس چطور، آیا چیزی مثل... خب؟ واقعاً باحال است، به... به بریل، بله بله نه، واقعاً به بریل
DJ: نمیتوانند از محصول استفاده کنند، درست است؟ ولی اگر کار را انجام دهید تا برایشان ممکن شود، ممکن است کارهایی مثل اعلام آیکنها را شروع کنید. پس چیزی که ما بهعنوان آیکن میبینیم، مثل آیکن چرخدنده، که فکر میکنیم تنظیمات است، به آن یک برچسب میدهید. میگویید، این تنظیمات است، که عالیه، چون الان میتوانند با شنیدن یا با حس کردن چیزی را ببینند که ما با چشم میبینیم. با این حال، و اینجا جایی است که باید این را بدانید، بعضی افراد از فرمانهای صوتی برای مرور صفحه استفاده میکنند.
Jonathan: مثل آیکن چرخدنده. پس مثلاً Siri نمونهای است؟ هی Siri، برو به تنظیمات.
DJ: بله، مثل Siri. هی 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: بله، و در واقع کار را برای آدمهای جدیدی که به شرکت میآیند آسانتر میکنید تا code شما را بفهمند. کار را برای کسانی که تازه شروع کردهاند آسانتر میکنید، چون میتوانید به همهی این مستنداتی که از قبل آن بیرون وجود دارد ارجاعشان دهید. این... چرخ را از نو اختراع نمیکنید. چرخ را از نو اختراع نمیکنید، و نکته همین است. و چون من الان، بعد از سالها خودم مطالعهی این، چون تصمیم گرفتم اهمیت دهم، میدانم که خیلی چیزها در واقع انجام دادنشان سخت نیست.
Jonathan: تو
DJ: و پس اگر انجامشان دهید، و اگر بخشی از کار روزمرهتان کنید، در واقع برای همه آسانتر میشوند. که همه چیز را برای همه فراگیرتر میکند، که همچنین این را رایجتر میکند، که باز هم آسانترش میکند چون... و بعد سرگرمکنندهتر، و بعد... بله، دقیقاً. یکی از مخترعان World Wide Web...
Jonathan: ممم، بله، دقیقاً.
DJ: نقلقولش را از حفظ نمیدانم، ولی در آن ارائه هست. اگر این را آنلاین گذاشتید باید لینکش کنید. بله، قطعاً در یادداشتهای برنامه میگذارم. ولی او گفت که وب برای این بود، قرار بود هر کسی و همهکس مصرفش کنند.
Jonathan: بله، قطعاً در یادداشتهای برنامه میگذارم.
DJ: پس کل مبنای بههمپیوستگی World Wide Web برای این بود که افراد بیشتری اطلاعات بیشتری مصرف کنند. دانشگاهها بودند که شروع کردند به به اشتراک گذاشتن جزئیات تحقیقاتشان. و درست است، دولتهایی بودند که فکر کردند، اوه، شاید بتوانیم کاربرد نظامی برایش داشته باشیم، همانطور که GPS شروع شد. ولی در اصل، یک پروژهی علمی بود و انتظار نداشتند اینقدر بزرگ شود. ولی وقتی فهمیدند که با وصل کردن کامپیوترها به هم و به اشتراک گذاشتن دادهها، میتوانید در واقع کار بیشتری را سریعتر انجام دهید و به این کتابخانهی بزرگ داده دسترسی داشته باشید و لازم نیست آن را در کتابهایی بنویسید که قدیمی میشوند.
Jonathan: بله. میشود استدلال کرد که دسترسپذیری ستون بنیانگذار اینترنت بود، بله دقیقاً
DJ: ستون اینترنت، میشود استدلال کرد. بله، دقیقاً. شکوفا شد. و باید همینطور نگهش داریم. باید محصولاتی بسازیم که فراگیر باشند. و این فقط برای برنامههای وب نیست، برای برنامههای موبایل هم نیست، برای همه چیز است. پس Google عزیز، وقتی برای Google Photos سیستمی برای برچسب زدن طراحی میکنید و شروع میکنید به برچسب زدن به سیاهپوستان بهعنوان میمون چون در مجموعهدادهی اضافیتان میمون نگذاشتهاید، این فقط غیرحرفهای است. جدا از جنبههای اجتماعی، درست است؟ پس جدا از تبعیض سنی، تبعیض علیه افراد دارای معلولیت، و نژادپرستی، فقط غیرحرفهای است اگر به این فکر نکنید که...
Jonathan: بله.
DJ: چطور محصولاتتان را فراگیر کنید. و این موضع من است. و میدانم که، مردم میگویند، اوه، تو خیلی به این اهمیت میدهی.
Jonathan: ممم.
DJ: ولی این چیز بامزهای است. من شخصاً از این سودی نمیبرم. من شخصاً از این سودی نمیبرم، درست است؟ من به تقریباً هر معنایی توانا هستم. درست است، کمی عجیبم، بچگی مرا انداختند زمین، آن هم هست، ولی غیر از این، خودم به این چیزها نیاز ندارم، و دلیل اینکه فکر میکنم مردم باید اهمیت دهند این نیست. دلیلش این است که میخواهم دیگران بتوانند هرچه ساختهام را ببینند، بشنوند، استفاده کنند. این یعنی اشتباه نمیکنم، کلی code مینویسم که کاملاً غیرقابلدسترس یا غیرفراگیر است، ولی وقتی بفهمم، تلاش میکنم بهترش کنم. و این از آن جنس نیست که، اوه بله، این چیزی است که میتوانستیم انجام دهیم. نه، وقتی کسی این را به من میگوید، چیزی است که احساس میکنم باید انجام دهم. بله، وگرنه نمیتوانند از آن استفاده کنند.
Jonathan: و همین بله، مثل یک کار بدیهی است. هست!
DJ: هست. واقعاً کار بدیهی است.
Jonathan: ولی خوب است چون یعنی چیزی تازه میآورید، خب نه حتی تازه، فقط مثل اینکه چیزی را به جلو برمیگردانید که مثلاً World Wide Web رویش بنا شده بود و مثل یک ارزش اصلی است و فکر میکنم این مهم است. نمیخواهید فراموشش کنید. چون فناوری در واقع برای خیلی از مردم کاملاً غیرقابلدسترس است. و دانشش، هنوز گروه کوچکی از مردم هستند که معمولاً میفهمند.
DJ: فراموش نکنید. خب، فکر کنید که اکثریت زبانهای برنامهنویسی به انگلیسی هستند، با فرض اینکه همه انگلیسی حرف میزنند. دقیقاً. درست است؟ چطور خیلی از زبانهای برنامهنویسی به سختافزار خاصی نیاز دارند. مثلاً... اتصال به اینترنت. بله. و اتصال اینترنت پرسرعت، که بیشتر و بیشتر لازم میشود. و این هم... اینها هم چیزهایی است که به مردم میگویم. میدانید، چیزی مینویسند که فقط اگر Mac داشته باشید یا Linux میتوانید انجامش دهید. من میگویم، خیلی از مردم روی Windows هستند.
Jonathan: آن روزها اگر یک مودم ۵۶ کیلوبیتی داشتید... تصورش را بکن، من یادم میآید
DJ: چه مودمی، تصورش را بکن. خب، پس من آن روزها را یادم میآید. بله. وقتی پدر و مادرت میخواستند زنگ بزنند و تو آنلاین بودی.
Jonathan: وقتی که...
DJ: دقیقاً، و نمیتوانستند. و پس نمیدانم این چیزی مربوط به نسل فعلی است یا نه. نمیدانم این مشکل این است که خیلی از پول در غرب است یا نه. ما بهطور کلی به اینترنت پرسرعت دسترسی داریم، که خیلی راحت فراموش میکنیم که تمام دنیا آن را ندارد. ولی اینها هم چیزهایی است که فکر کردن به آنها خیلی سخت نیست، درست است؟ بله.
Jonathan: دقیقاً، و نمیتوانند. بله، ولی یعنی، گفتوگوی جالبی است چون Exercism تلاش میکند فرصتی برای بیشترین تعداد ممکن از مردم دنیا فراهم کند تا برنامهنویسی یاد بگیرند، که یعنی بیشتر جمعیت دنیا جایی که رشد میکند در بازارهای نوظهور است. بله، هند، آمریکای جنوبی، آفریقا، و اتصال اینترنت در این لحظه در آن نقاط دنیا خیلی نامطمئنتر است. پس بله، آیا ما برنامههایی میسازیم که مردم نمیتوانند به آنها دسترسی داشته باشند چون اینترنت از عهدهاش برنمیآید، ولی میدانید، آن هم همیشه یک ملاحظه است. بله. چیزهای مختلف زیادی برای فکر کردن هست.
DJ: بله، قطعاً. ولی در مورد آن نکته، البته افراد زیادی در بازارهای نوظهور با اتصال اینترنت عالی وجود دارند. و افراد زیادی هم، مثلاً، جایی که من بیشترین سفر را در کالیفرنیا کردم، اتصال اینترنت ندارند چون فقط پوشش نیست، که خیلی جالب است. ولی همیشه آنلاین بودن و این نیاز به سرعت بالا و این نیاز به دستگاه سریع، این نیاز به ماشین گران. اینها...
Jonathan: وصل شو.
DJ: همهشان دلبخواه نیستند، ولی کارهای آسان زیادی هست که میتوانیم انجام دهیم، از داشتن بودجه. به بودجه از نظر اندازه فکر کنید، درست است؟ چقدر میخواهید از سیم عبور دهید؟ تا داشتن دسترسی به حالتهای آفلاین، تا مطمئن شدن از اینکه code شما با فناوری کمکی کار میکند، که شروع کردنشان سخت نیست. پس اینطور نیست، در واقع شروع بهتر کردنش خیلی آسان است. و این یکی از دلایلی است که، اگر فکر کنید، یکی از دلایلی است که من با Exercism ماندم، چون نظرهای خیلی متفاوتی وجود داشت، ولی همه یک چیز را میخواستند، که برایم خیلی جالب است، درست است؟ پس یک گروه خیلی بزرگ از نگهدارندگان و مشارکتکنندگان، و همچنین منتورها هستند که همه یک چیز را میخواهند. هر کس به شکلی گفته، من به دیگران کمک میکنم یک زبان جدید یاد بگیرند. و واقعاً برایم مهم نیست چقدر خوباند، ولی کمکشان میکنم بهتر شوند.
Jonathan: درست.
DJ: و فکر میکنم همین باعث شد بخواهم بمانم. عالی. همین دلیل است که احتمالاً هنوز اینجا هستم. همچنین، Jeremy وقتی گلایه میکنم خوشش میآید. پس این هم هست.
Jonathan: این هم هست. عالی است. دربارهی کل موضوع دسترسپذیری واقعاً جالب بود. دو چیز کوچک دیگر بود که میخواستم قبل از اینکه برویم از شما بپرسم. چیز اول این بود که ما خیلی مشتاقیم به این مفهوم بپردازیم، به این ایده یا تپهای که در فضای فناوری حاضرید برایش بمیرید. و دلیل اینکه میخواستیم دربارهی این حرف بزنیم و از منظری مثبت قاببندیاش کنیم این است که در صنعت فناوری قدیمی نظرهای زیادی وجود دارد. و ما فقط مشتاقیم گفتوگو حول آن چیزها داشته باشیم و گفتوگوی خوبی حول آن موارد مختلف. پس آن تپه در صنعت فناوری که حاضرید برایش بمیرید چیست؟ و به شکلی مثبت قاببندیاش کنید، یعنی این چیزی است که واقعاً پایش میایستم. و احتمالاً در گفتوگوی الانمان کمی به آن اشاره کردید، ولی چیزی هست که بگویید، این چیزی است که فکر میکنم کلیدی است، و برایش میجنگم؟
DJ: بله، بگو. خیلی زیاد هست که از میانشان انتخاب کنی و واضح است که فراگیر کردن نرمافزار دنیا سادهترین چیزی است که به دست میآید. ولی فکر نمیکنم چیزی باشد که بیشترین اهمیت را برایم دارد، خندهدار است. بهویژه در چند سال گذشته، افراد زیادی هستند که... پرسروصدا که رفتارهایی انجام میدهند که خیلی خوشایند تلقی نمیشود. مربوط میشود به چیزهایی مثل دروازهبانی. پس اوه، اگر در دانشگاه درس نخوانده باشی، نمیدانی در مورد چه حرف میزنی، درست است؟ یا بحثهایی که backend از frontend پیچیدهتر است. حالا اینجا، این باز هم به Exercism گره میخورد. ولی چیزی که امیدوارم ببینیم این است که آن بحثها بیفایدهاند. چون برای کسی که frontend کار میکند، backend سخت است اگر ندانی چه میکنی.
Jonathan: مثل اینکه بخواهی آجرچین باشی اگر هرگز انجامش نداده باشی. بله، ولی میدانی backend چقدر سخت...
DJ: ولی میدانی frontend برای کسانی که backend کار میکنند و هرگز انجامش ندادهاند چقدر سخت است؟ وقتی این موضوع دسترسپذیری را مطرح میکنم، میگویند، اوه، من با آن کار نمیکنم چون backend کار میکنم. کسانی که برای سیستمهای جاسازی، تراشهها، راکتها نرمافزار مینویسند، درخشاناند. محدودیتهای خیلی بیشتری از آنچه تصور کنیم دارند. و بعد برنامهنویسهای بازی هستند، و در کارشان درخشاناند، که تلاش میکنند بفهمند چطور میتوانی GPUات را وادار کنی همهی آن بافتها از همهی آن بازیهای جدید و درخشان را در خود نگه دارد. روش بسیار متفاوتی برای برخورد با چیزهاست. ولی همین است که جالبش میکند. چیزی که برنامهنویسی و حرف زدن دربارهی برنامهنویسی را جالب میکند این است که چقدر متفاوت است و چقدر آن را نمیفهمی. و باید همین کار را بکنیم بهجای اینکه بگوییم، اوه، تو اینی و تو آنی، صفت منفی، قید، اسم، هرچه. بله. به آن علاقهمند باشید چون ممکن است از آن یاد بگیرید. حالا، قطعاً شرکتهایی هستند و قطعاً افرادی هستند و گروههایی هستند که این کار را میکنند. بین خیلی از رشتهها همپوشانیهایی وجود دارد که مردم نمیفهمند. HTTP2 اساساً TCP، یک پروتکل شبکهای، را روی UDP انجام میدهد، چیزی که در RPGهای آنلاین خیلی رایج بود، که باید میتوانستند دادههای خیلی بیشتری بدون یک اتصال پایدار منتقل کنند. React، یکی از frameworkهایی که با آن میتوانی برنامههای واکنشی هم برای وب و هم برای موبایل بسازی، با استفاده از چیزی به نام تکنیک double render، که از بازیها میآید. ولی همچنین برعکسش، همهی بهبودهای کمکی که الان روی وبسایتهایمان داریم، در دنیای بازی هم معرفی میشوند. درست است؟ بهویژه Microsoft روی بعضی از بازیهای جدیدتر کار زیادی کرده، که گزینههای بیشتری اضافه میکنند، مثل زیرنویس، مثل صداگذاری برای منوها، و همچنین چیزهایی مثل منحنیهای سختی. پس میدانیم که برنامهنویسها روشهای متفاوتی برای کسب دانش و یادگیری و سرعت یادگیریشان دارند. و با استفاده از یک محصول هم همینطور است، چه یک رابط باشد، مثل خرید بلیت از یک دستگاه، یا بازی کردن یک بازی، فرق زیادی ندارد. و در واقع همین همپوشانی بین همهی این رشتههای مختلف و همهی این نقشهای مختلف است که ما را به جایی میرساند که همه چیز بهتر است. واقعاً همه چیز بهتر است. چون میبینید که چیزهای بزرگی که در سالهای گذشته درخشان بودند، همپوشانیاند. درست است؟ بین همهی این رشتهها.
Jonathan: تو
DJ: مردم دروازهبانی میکنند، ولی وقتی این کار را میکنید، خودتان را عقب نگه میدارید. و پس، چیزی که فکر میکنم، آن تپهای که قطعاً برایش میمیرم، تپی است که در آن میگویم، اگر این کار را نکنید، به خودتان کمک میکنید، درست است؟ پس فقط فراگیر بودن نیست، بلکه باز بودن به زبانهای دیگر، به رشتههای دیگر، به نقشهای دیگر است، بهجای اینکه بگوییم مال من سختتر است، مال من پیچیدهتر است، مال من بهتر است، مال من هرچه. همین هم به نوآوری زیادی میانجامد چون کسی یک framework جدید میسازد وقتی میکوشد یک چیز کوچک به استاندارد اضافه کند. اگر مثبت نگاهش کنید، دانش بیشتری به ما میدهد.
Jonathan: خب، پس آخرین سؤال امروز برای شما. بله. چه توصیهای به جامعه میکنید، در هر چیزی؟ میتواند غذا باشد، ورزش یا هر چه. اگر یک توصیه بود که این هفته به جامعهی ما میکردید، چه بود؟
DJ: بله. یک توصیه. جالب است. تنها توصیهام این خواهد بود که... وقتی به هلند میآیید، بفهمید که هلند از آمستردام بزرگتر است. اگر از قبل در هلند زندگی میکنید و در آمستردام زندگی میکنید، بفهمید که بیرون از کمربندی هم جهانی وجود دارد. خودتان میدانید کی هستید. و اگر اهل شهرستان هستید، وقتی به شما میگویند شهرستانی، ناراحت نشوید. چون هستید.
Jonathan: همین. این توصیهی خوب DJ امروز بود. DJ، خیلی ممنون از وقتی که گذاشتید. الان داریم برای شام میرویم، ولی امیدوارم لذت برده باشید، همهی شنوندگان. DJ، خیلی ممنون که این هفته برای این ضبط سرزده آمدید. دیدن شما عالی است. گفتوگوی خوبی داشتیم. پس همهی یادداشتها را به لینکهای مختلف، ارائهها و چیزهایی که DJ اشاره کرد در یادداشتهای برنامه لینک میکنیم. ولی DJ، ممنون. خواهش میکنم. واقعاً عالی است که اینجا هستید، و از همهی کاری که برای Exercism میکنید و از آن کسی که هستید قدردانی میکنیم. پس خیلی ممنون. خب.
گوش دهید، یاد بگیرید و از اعضای انجمن ما الهام بگیرید.