بازگشت به انجمن

برنامه‌نویسی را با تعریف داستان یک برنامه یاد بگیرید

Rebecca Mark در Unison Computing کار می‌کند، جایی که مأموریت او این است که یادگیری زبان برنامه‌نویسی Unison را تا حد ممکن سرگرم‌کننده و در دسترس کند.

تماشا در YouTube
مدت 39دقیقه

Jonathan: Rebecca، به پادکست Exercism خوش آمدید. بسیار عالی است که شما اینجا هستید. برای من افتخار بزرگی است که می‌توانم با شما گفت‌وگو کنم. چه، ساعت ۷:۳۰ صبح در طرف شماست و الان ساعت ۴:۳۰ بعدازظهر در طرف من است. خوش آمدید. دقیقاً کجای دنیا هستید؟

Rebecca: من در سیاتل، واشینگتن هستم، پس خیلی زود از آن طرف با شما تماس می‌گیرم.

Jonathan: چه خوب. و حدس می‌زنم قهوه ریخته شده و شما پرکرده‌ی دوباره را آماده دارید و گرم است و برای روز آماده است.

Rebecca: اوه بله، همین کنارم. یک Chemex اضافه دارم و روزم خوب سوخت‌گیری می‌شود.

Jonathan: باشه. عالی. پس Rebecca، خوش آمدید. من کمی درباره‌ی شما از طریق همکاری‌تان با Exercism، به‌طور خاص با خودِ Unison Track می‌دانم، اما قبل از اینکه کمی در آن عمیق شویم، دوست دارم کمی درباره‌ی خودتان و اینکه چطور به سیاتل رسیدید بدانم. کمی از آن مربوط به سیاتل است. گفتم سیاتل. درست می‌گویم. در گفتن، بله، گفتم. بله. یک لحظه فکر کردم حافظه‌ام مثل ماهی است و فراموش کرده‌ام کجا زندگی می‌کنید، اما سیاتل است. دوست دارم کمی درباره‌ی اینکه چطور به آنجا رسیدید بدانم. کمی درباره‌ی خودتان، کمی از داستان‌تان و بعد اینکه چطور به دنیای فناوری وارد شدید و چه چیزی باعث شد آن مسیر را در زندگی‌تان انتخاب کنید.

Rebecca: بله، پس خانواده‌ی من در واقع شش نسل پیش مستقیماً به سیاتل مهاجرت کردند. پس مدت واقعاً طولانی‌ای است. خانواده‌ی مهاجر اینجا در سیاتل. و من اینجا را دوست دارم. مدرسه را همین اطراف رفتم و این در واقع بخش نسبتاً جدایی‌ناپذیری از اینکه چطور وارد دنیای فناوری شدم است، چون سیاتل یک شهر فناوری واقعاً بزرگ است. اما من در دانشگاه برنامه‌نویسی نخواندم. من انگلیسی با تمرکز بر شعر خواندم، و بنابراین ممکن است به نظر برسد... بله. ممکن است به نظر برسد که تطابق عجیبی است، اما فکر می‌کنم از برخی جهات مرتبط است. من اینجا در دانشگاه واشینگتن درس خواندم. در اولین حرفه‌ام در پورتلند در آموزش عالی کار می‌کردم. پس با دانشجویان کار می‌کردم، تلاش می‌کردم شکاف پیشرفت را برای افراد کاهش دهم و مردم را در کالج نگه دارم. آن شغل من به‌عنوان... مربی زندگی دانشجویان بود. و آن شگفت‌انگیز بود. اما با کالج‌های آنلاین زیادی کار کردم و دیدم که دانشجویانم چطور واقعاً با پلتفرم‌های فناوری دست‌وپنجه نرم می‌کردند، و اینکه فناوری چطور به آن‌ها امکان می‌داد تجربه‌های بهتری داشته باشند و زندگی‌شان را متحول کنند و چرخه‌های بین‌نسلی فقر یا سرکوب را کاهش دهند. و می‌خواستم به‌صورت عملی درگیر آن باشم. و، شاید خودخواهانه، آموزش به دلایل زیادی واقعاً سخت است. واقعاً دلپذیر است، اما واقعاً چالش‌برانگیز هم هست و در فناوری این حس را دارید که هر هفته پیشرفت می‌کنید. و آن. جنبه‌ی حل مسئله را برای آنچه برای حرفه‌ام می‌خواستم شعله‌ور کرد. پس مسیرم را عوض کردم و به مدرسه‌ای به نام ADA Developers Academy درخواست دادم، که دوباره در سیاتل قرار دارد. پس همان چیزی بود که مرا به‌نوعی به نقطه‌ی اول برگرداند و در نهایت به آنجا برگشتم و برنامه‌ی یک‌ساله را آنجا گذراندم.

Jonathan: خوب صبر کنید. پس شما در سیاتل بزرگ شدید و بعد برای کار و شروع حرفه‌تان از آنجا رفتید. از سیاتل به کجا رفتید؟ چه

Rebecca: به پورتلند رفتم. یعنی فقط کمی جنوب سیاتل. بله.

Jonathan: متوجه شدم. باشه، عالیه. و بعد، پس حالا شما زبان‌ها، شعر، ادبیات انگلیسی خواندید. من هم همین کار را کردم اما در دبیرستان عاشق انگلیسی و این جور چیزها بودم، پس گفتم، هورا. یک دانشجوی ادبیات انگلیسی دیگر. از آن آتش برایم بگویید. فرایند رفتن از این‌که همه‌ی این مشکلات را در برابرتان می‌بینید که با فناوری و همه‌ی آن چیزها حل می‌شوند، تصمیم می‌گیرید که جهش کنید. آن فرایند چطور بود، چطور تصمیم گرفتید که، باشه، باید بروم و مسیر شغلی را بشکنم و به چیزی کاملاً متفاوت بروم. آن چه شکلی بود؟

Rebecca: کمی... کمی شانس بود، چون حس می‌کردم، وای، دانشجویانم را می‌بینم که یا واقعاً خوب پیش می‌روند یا واقعاً با این موضوع دست‌وپنجه نرم می‌کنند، و می‌خواهم درگیر باشم. مطمئن نیستم چه چیزی غیر از کاری که الان انجام می‌دهم، و می‌دانم که بخشی از آنچه در گردش کار روزانه‌ام می‌خواهم را تغذیه نمی‌کند. و بنابراین فقط نیمی از سر بی‌حوصلگی، شروع کردم به یادگیری HTML و CSS برای ناهار. و فقط تمرین می‌کردم که وب‌سایت‌های کوچک یا فرم‌های وب کوچک بسازم. و آن موقع از مواد آموزشی کاملاً رایگان استفاده کردم. و فقط خودخوانی بود و اینکه، این کل ماجرای اینترنت چیست

Jonathan: بله. بله.

Rebecca: که هنوز سوالی است که از خودم می‌پرسم. اما بله، فقط... نمی‌دانم، من عاشق برنامه‌نویسی شدم. حس می‌کردم نزدیک‌ترین چیز به جادو است، از برخی جهات، مثل اینکه لاک‌پشت کوچک را روی صفحه حرکت دهید یا یک مربع ظاهر کنید. بله، و فقط فکر کردم، باشه، این را دوست دارم و مأموریت این را هم دوست دارم و چطور این دو را در گفت‌وگو بیاورم و فقط از پرسیدن مکرر همین سوال برای خودم شغل ساختم.

Jonathan: عالیه. و بعد آن فرایند... برای کدنویسی و رفتن از یک خوب، یادگیری اینکه چطور مفهوم‌سازی کنید و آنچه روی کامپیوتر می‌گذرد را قالب‌بندی کنید، اما یک مدل ذهنی برای آن داشته باشید. یکی از چیزهایی که وقتی با افراد زیادی صحبت می‌کنم جالب است، و در واقع می‌گویم در تجربه‌ی خودم از توسعه هم درست است، چون من به‌آرامی تکه‌تکه به آن فضا نزدیک می‌شوم. داشتن یک مدل ذهنی از آنچه می‌گذرد و توانایی تولید آن. در ذهن شما بخش بزرگی از یادگیری کدنویسی است. پس چطور این کار را کردید؟ چه بود، چطور فهمیدید که چطور یاد گرفتید، اگر این حرف معنی دارد. شما به css و html نگاه می‌کنید و می‌گویید، باشه، عالیه. چطور شروع کردید به مرتب‌کردن آن اطلاعات در مغزتان؟ اگر این حرف معنی دارد.

Rebecca: بله، نه، سوال عالی‌ای است. چطور آن را رسمی کردم؟ فکر می‌کنم یکی از چیزهایی که از تحصیلات ادبیات در من فرو کرده بودند این بود که با دقت بخوانید. و بین خطوط را بخوانید و به فرم چیزها توجه کنید. و فکر می‌کنم یک برنامه هم فرم دارد. من در زبان‌های نوع‌دار کار کردم، و بنابراین خیلی خاص، راه‌هایی وجود دارد که می‌توانید چیز واقعاً غیرقابل‌کامپایل بنویسید. من

Jonathan: بله، دقیقاً. بله.

Rebecca: وقتی برنامه‌نویسی می‌کنم دوست دارم فکر کنم، باشه، ساختار هدف چیست، روایت چیست؟ و می‌دانم که ممکن است غیرمعمول باشد، نوعی روش واقعاً غیرمعمول برای تصور اینکه کامپیوتر چه کار می‌کند یا a و b را کنار هم می‌گذارد. اما بله، من همیشه فقط فکر کرده‌ام، باشه، چه می‌شود اگر کامپیوتر را به‌عنوان شخصیت اصلی‌ام تصور کنم، در نقاط A، B و C چه کار می‌کند؟ و چطور به هدفی که می‌خواهم برسد؟ و ممکن است داستانش به‌جذابی «Finnegans Wake» نباشد، اما نظرها درباره‌اش متفاوت است. اما الگویی است که من داشته‌ام.

Jonathan: این جذاب است. آنچه الان می‌گویید را می‌توانم کاملاً روی یک برنامه یا کد بگذارم. مثل اینکه صحنه‌هایتان را دارید، شخصیت‌هایتان را دارید، که می‌توانید بگویید مثل متغیرها هستند، یا بعد پیرنگ را دارید، که تا حدی سرگرم‌کننده است. می‌توانستیم به یک خرگوش‌چاله‌ی بزرگ برویم و شاید به شکلی از دانشجویان ادبیات انگلیسی بربخورید که واقعاً توسعه‌دهنده می‌شوند. اما فکر می‌کنم دلیل پرسیدن این سوال این است که، بازسیم‌کشی و خیلی از افرادی که کدنویسی یاد می‌گیرند، در واقع باید از یک حرفه‌ی جدید یا از یک حرفه‌ی قدیمی بیایند، ببخشید. و واقعاً یاد بگیرند که جای‌شان را عوض کنند و راه‌هایی برای درگیر شدن ذهنی دوباره پیدا کنند. و بنابراین با Bobby Towers صحبت می‌کردم، یکی از دیگر مشارکت‌کنندگان ما. شما، ممکن است او را بشناسید، اما. او از یک پیشینه‌ی موسیقی می‌آید، مثل پیشینه‌ی بسیار موسیقایی، و مثلاً کیبورد یک‌دستی خودش را ساخته تا بتواند با یک دست تایپ کند چون با بازوی دیگرش تصادف کرده بود. و مطمئنم که او از اینکه این را به اشتراک بگذارم ناراحت نمی‌شود، اما گفت‌وگو با او درباره‌ی اینکه چطور موسیقی و الگوها و چیزهایی که بسیار معمول موسیقی هستند را می‌فهمد و اینکه چطور به توسعه ترجمه می‌شوند، واقعاً جالب بود. و فکر می‌کنم چیزی که در این گفت‌وگوها هیجان‌انگیز است این است که می‌فهمم هر کس روش منحصربه‌فرد خودش را برای. برداشتن اطلاعاتی که در مستندات هست، اطلاعات بسیار عمل‌گرایانه و اطلاعات علمی و آوردن طعم خودش دارد. پس این واقعاً جالب است. پس شما شروع کردید به یادگیری کدنویسی css، html، شروع کردید به قالب‌بندی چیزها، شروع کردید به ساختن یک روایت با، در ذهن‌تان می‌توانید بگویید، بعد چطور آن دانش را عمیق‌تر کردید و چه اتفاقی افتاد وقتی که از نظر ذهنی به یک سد برخوردید، جایی که واقعاً سخت بود که عبور کنید و جنگل را از درختان ببینید. چطور آن موانع را پیدا کردید و چطور از آن‌ها عبور کردید؟

Rebecca: بله. بله. سوال عالی‌ای است. فکر می‌کنم همیشه با موانع روبه‌رو می‌شدم. یعنی قطعاً مدام به دیوار می‌خورم. و چیزی که واقعاً به من کمک کرده، فکر می‌کنم در آن لحظات تکیه بر شبکه‌ای از افراد است. واقعاً جامعه و دوستی و مربی‌گری بوده‌اند که به من کمک کرده‌اند. وقتی با چالش‌های سخت یا حتی فقط چیزهای جدید روبه‌رو شده‌ام. مثلاً وقتی کارآموزی‌ام را بلافاصله بعد از مدرسه‌ی برنامه‌نویسی‌ام انجام دادم، یک دوست واقعاً خوب داشتم که. با من آن را می‌گذراند. و او آنجا بود که عادی‌سازی کند، مثلاً اگر احساس می‌کردم، اوه، این را نمی‌دانم و شاید باید بدانم، می‌توانستم بروم با دوستم صحبت کنم و بگویم، این را می‌دانی؟ و او می‌گفت، نه. از کجا باید می‌دانستیم؟ توانایی

Jonathan: مثل، اوه بله، من هم. انجام دادم

Rebecca: بله. فکر می‌کنم داشتن افرادی دور و برم کمک کرد جایی که در مسیرم هستم عادی شود و مردم. واقعاً با وقت و حمایت‌شان سخاوتمند بوده‌اند. و نگرش من همیشه این است که آن را جبران کنم. چون بله، این جامعه بوده که واقعاً در زمان‌های سخت مرا سرپا نگه داشته است.

Jonathan: این واقعاً عالیه. و بعد شما یک سال مثل بوت‌کمپ گذراندید. می‌توانید بگویید، می‌توانید آن را بوت‌کمپ بنامید یا بیشتر شبیه یک مدرسه‌ی خاص بود؟ نه اینکه تفاوت زیادی داشته باشد، اما

Rebecca: بله، فکر می‌کنم ممکن است به‌عنوان بوت‌کمپ طبقه‌بندی شود. برنامه‌ی ADA، فکر می‌کنم، از برخی جهات منحصربه‌فرد است چون این‌طور نیست که برای رفتن به آن پول نمی‌دهید، بلکه مدل شهریه ندارد. پس به‌عنوان دانشجو درخواست می‌دهید و فرایندهای درخواست نسبتاً سختی وجود دارد. و بعد اگر انتخاب شوید، شرکت‌هایی هستند که می‌خواهند از این مسیر کارآموز بگیرند چون ارزش این برنامه را می‌بینند. که در واقع کل مدرسه را اسپانسر می‌کردند و همچنین کمک‌هزینه‌ها و سایر منابع غیرانتفاعی. به‌عنوان یک مدل واقعاً باورنکردنی است چون به‌عنوان دانشجو، یک سال بدون درآمد گذراندن در حین یادگیری به‌قدر کافی سخت است. بنابراین اینکه مجبور نبودم شهریه‌ی اضافی بدهم واقعاً برای آن کمک‌کننده بود.

Jonathan: باشه، پس شما اساساً. قبل از آن اسپانسر شدید، پس یک شرکت گفت، بله، ما تو را اسپانسر می‌کنیم و بعد در پایان برای آن‌ها کار می‌کنی؟ تقریباً این‌طور بود یا اینکه، شما آزمون را قبول شدید و بعد در پایان فرصتی به شما داده شد که در آن درگیر شوید، آیا این

Rebecca: بله، بیشتر مورد دوم است. پس آن موقع کاری که شرکت‌ها می‌کردند این بود که تعدادی از افراد را اسپانسر می‌کردند. و بعد مدرسه می‌گفت، باشه، پس می‌توانیم آن تعداد را بپذیریم و بعد در نیمه‌ی سال جمعش می‌کنیم. این نوعی جابه‌جایی دارید که همه با شرکت‌های مختلف مصاحبه می‌کنند و حس می‌کنند چه چیزی می‌تواند تطابق خوبی باشد. و بعد یک الگوریتم اجرا می‌کنند، الگوریتم تطابق بهینه. و بعد با یک شرکت کار می‌کنید. بله، همین کار را می‌کنند.

Jonathan: در واقع همین کار را کرد، پس این‌طور بود،

Rebecca: بله. تقریباً مثل الگوریتم تطابق برای رزیدنسی‌های پزشکی است.

Jonathan: باشه. متوجه شدم. جالب است. و باشه، پس آن سال چه خواندید؟ آیا JavaScripts سنتی بود؟ الان برای اینکه JavaScript را یک زبان برنامه‌نویسی سنتی بنامم کلی نفرت می‌گیرم. اما چه بود، آیا آن نوع، برنامه‌ی درسی چه شکلی بود و بله.

Rebecca: بله، پس آن موقع برنامه‌ی درسی مبتنی بر Ruby بود و HTML، CSS یاد می‌گرفتید، و بعد برای توسعه‌ی برنامه‌های وب از Ruby، Rails، Sinatra برای جور چیزهای فریم‌ورک وب استفاده می‌کردید. و بعد ما از یک. برای توسعه‌ی فرانت‌اند بیشتر استفاده کردیم. چون آن هم یک مؤلفه بود. و کلی درباره‌ی یکپارچه‌سازی‌های API به ما آموزش می‌دادند، چطور بخش‌های مختلف یک برنامه را به هم بدوزیم. و گردش کار واقعاً مشارکتی بود، پس تلاش می‌کردند تا حد امکان شبیه‌سازی کنند که کار کردن در یک تیم با هم چه شکلی است. پس آن هم واقعاً عالیه. پس آموزش واقعاً عملی و کاربردی و نرم‌افزار بود.

Jonathan: باشه. وای. و، باشه، پس این. من دارم ادامه می‌دهم. دوست دارم فقط داستان اینکه افراد چطور به جایی که رسیدند را بشنوم. پس بعد برای Unison کار می‌کنید، که الان یک زبان است. چطور پیش آمد؟ به دنبال همه‌ی این‌ها، و شاید بتوانید کمی درباره‌ی Unison توضیح دهید. برای همه‌ی کسانی که آن بیرون هستند، فقط برای اینکه درکی از آنچه به نظر می‌رسد داشته باشند. و ما همه‌چیز را در هر صورت در یادداشت‌های برنامه هم می‌گذاریم تا مردم بتوانند بروند و نگاهی بیندازند. اما بله، توضیح دهید، بفرمایید.

Rebecca: بله. Unison Computing شرکتی است که برای آن کار می‌کنم و ما در حال نوشتن یک زبان برنامه‌نویسی جدید به نام Unison هستیم. و نوع تفاوت اصلی این زبان برنامه‌نویسی این است که پایگاه کد شما یک کیسه‌ی تغییرپذیر از فایل‌های متنی نیست. همه‌ی توابع شما به یک AST هش می‌شوند و آدرس‌دهی محتوایی دارند. و این یک. چیز فنی است. مزیتش برای شما به‌عنوان یک برنامه‌نویس، به‌عنوان یک برنامه‌نویس شاغل، چیزهایی مثل توزیع محاسبات به‌صورت برنامه‌نویسی‌شده واقعاً ساده می‌شود. کلاسی کامل از مسائل حول سریال‌سازی و دیسریال‌سازی داده که به‌نوعی از بین می‌رود اگر کد شما بتواند به‌صورت برنامه‌نویسی‌شده آدرس‌دهی و بازیابی شود. پس ما واقعاً علاقه‌مند به بهبود آن‌ها هستیم. گردش کار برنامه‌نویسان با زبان برنامه‌نویسی ما و توانمندکردن مردم برای نوشتن سیستم‌های توزیع‌شده‌ی کامل فقط با یک زبان برنامه‌نویسی، بدون اینکه مجبور باشند برخی هزینه‌های عملیاتی و فکری یک سیستم تولیدی کاملاً محقق‌شده را در نظر بگیرند. بله.

Jonathan: آن مثل بک‌اند و فرانت‌اند می‌شود؟ و لطفاً اگر اشتباه می‌گویم تصحیح کنید، اما آیا این یعنی می‌توانید یک برنامه‌ی وب کامل را با یک زبان در همه‌جا بنویسید، فرانت‌اند، بک‌اند، همه‌ی چیزهای دیگر؟

Rebecca: ما واقعاً یک بک‌اند هستیم.

Jonathan: باشه.

Rebecca: بله، ما واقعاً یک زبان بک‌اند هستیم. مداخله‌ی واقعی آنجا این است که مجموعه‌ای کامل از پیچیدگی‌های عملیاتی وجود دارد، مثلاً مدیریت یک کلاستر Kubernetes یا مدیریت یک کلاستر zookeeper یا حتی فقط ناوگانی از میکروسرویس‌ها که Unison می‌تواند به‌صورت برنامه‌نویسی‌شده توصیف کند و بعد برنامه‌ای را علیه آن اجرا کند بدون اینکه شما مجبور باشید همه‌ی آن کار را انجام دهید.

Jonathan: و کاری که روزمره برای Unison انجام می‌دهید چیست؟ مشارکت شما در آنجا چیست و مزایا و چیزهایی که واقعاً لذت می‌برید چیست و چیزهایی که شاید فکر می‌کنید اوه، ای کاش بهتر یا متفاوت بود؟ مثلاً روز چطور است؟ چطور است

Rebecca: بله.

Jonathan: امروز؟ نمی‌دانم.

Rebecca: امروز، امیدوارم یک استقرار وب‌سایت داشته باشم که واقعاً می‌خواهم تمامش کنم. پس در حال بهبود بخشی از مستندات‌مان خواهم بود، مثل مستندات زبان‌مان. و هدف بزرگ این هفته این بوده که من. اکوسیستم توزیع‌شده‌ی ما، که بخشی از آن ممکن است در Exercism ظاهر شود. پس ترک ما را ببینید. پس نقش من

Jonathan: تبلیغ.

Rebecca: بله.

Jonathan: بله.

Rebecca: نقش من کمک به افراد برای یادگیری Unison و احساس اینکه می‌توانند وارد زبان شوند و مهارت کاری کسب کنند و احساس خوش‌آمدگویی داشته باشند. اطلاعاتی که برای تحقق هر هدفی که دارند لازم است را دریافت کنند. پس بله، و هر، آن نوع کیسه‌ی فعالیت‌ها چیزی است که در طول هفته از آن درمی‌آید چون ممکن است کسی نیاز به عیب‌یابی داشته باشد، یا فرد دیگری بگوید، این لینک در وب‌سایت اشتباه است. پس متغیر است. فکر می‌کنم سخت‌ترین چیز این است که، کار کردن در بستر پاندمی و دورکاری، ساختن جامعه واقعاً سخت است. بسیاری از کنفرانس‌ها یا رویدادهای فناوری که ممکن است در این زمان برگزار می‌شدند واقعاً به‌طور قابل‌فهمی به حاشیه رفته‌اند. فکر می‌کنم چیزی که دلم برایش تنگ می‌شود هیجان حول این است که اوه، این هفته می‌خواهم در Leon فرانسه ارائه بدهم، یا چیزی شبیه آن.

Jonathan: سبک زندگی صنعت فناوری را تنظیم کن. این هم شد. به یک توقف زمینی برس

Rebecca: بله. دلم برای ملاقات با افراد جدید تنگ شده، پس فکر می‌کنم، اما فکر می‌کنم امیدوارم در آینده بهتر شود.

Jonathan: پس در این برهه‌ی زمانی دورکاری می‌کنید، پس تیم‌تان همه‌جا پخش است؟ همه‌جای ایالات. همه‌جای دنیا. تیم‌تان در حال حاضر کجاست؟

Rebecca: بله، ما افراد زیادی در ساحل شرقی داریم، پس حدوداً منطقه‌ی بوستون، رود آیلند. اما واقعاً ما یک شرکت کاملاً توزیع‌شده هستیم، به‌طور مناسب، و پس بله، من در ساحل غربی هستم. برخی افراد در مرکز. بخشی از آمریکا هستند و بله، ما در این مرحله دفتری نداریم. کاملاً در مناطق کوچک خودمان هستیم.

Jonathan: باشه، پس چطور در حال حاضر فرصت دارید که بیرون بروید و افراد دیگر را در فضای فناوری ملاقات کنید؟ یا همان‌طور که گفتید، همه‌چیز متوقف شده و کمی خوب است که در دفتر خانه بیدار شوید؟ در را ببندید، بیرون بروید، از راهرو به خانه برگردید. می‌دانید منظورم چیست؟ آیا، هستید، چطور این را به‌عنوان یک کل می‌بینید؟ برخی چالش‌های شما چیست، مثلاً از نظر متصل ماندن به کار یا چطور با وضعیت کنونی کنار می‌آیید؟ و بله. آینده برای شما در آن و برای Unison به‌عنوان یک تیم چه شکلی است؟ آیا بلندمدت دورکاری است یا هدف این است که به چیزی تا حدی بیشتر بروید؟ حضوری.

Rebecca: من فکر می‌کنم هدف این است که دورکار بمانیم. برای خیلی از افراد کار می‌کند. کسانی که وظایفی خارج از کار دارند یا، و اساساً به دلایلی واقعاً آن را دوست دارم. یک چیز این است که سال گذشته یک کنفرانس آنلاین داشتیم. و امیدوارم ادامه یابد، همزمان که جامعه را رشد می‌دهیم، شاید حتی برای سال آینده یک مؤلفه‌ی حضوری داشته باشیم. و چیز دیگری که در واقع در ماه پیش رو انجام می‌دهیم این است که یک دوره‌ی حضوری شرکتی خواهیم داشت. پس این بزرگ را اجاره کرده‌ایم، بله، این عمارت بزرگ را در مثلاً بوستون اجاره کرده‌ایم و همه ما به‌نوعی آنجا هجوم می‌آوریم. و این اتاق‌های باحال را دارد در یک زمین تنیس و ما فقط کار خواهیم کرد. با هم و فعالیت‌های برنامه‌ریزی بیشتر یا از آن نوع فعالیت‌های چشم‌انداز را انجام می‌دهیم که احتمالاً بهتر است حضوری انجام شوند. ما مثل اینکه گروه را کمی بیشتر کنار هم می‌آوریم. حالا که آن به گزینه‌ی بیشتری تبدیل شده است.

Jonathan: بله، فکر می‌کنم آن‌ها، ما یک دورهمی مشابه در سپتامبر اوت با Exercism ابتدای اوت داشتیم و فهمیدیم که واقعاً برای ارتباط تیمی خوب بود و به‌ویژه برای حرکت دادن سوزن روی. برخی از آن پروژه‌های بزرگ که یا باید تمام می‌شدند یا باید شروع می‌شدند. پس مطمئنم که فوق‌العاده سرگرم‌کننده خواهد بود. حالا Rebecca، شما همچنین مسئولیت زیادی برای ترک Unison در Exercism و ساختن همه‌ی آن داشته‌اید. کمی درباره‌ی آن تجربه برایمان بگویید و اینکه چطور با Exercism آشنا شدید و امیدتان برای آن ترک در آینده چیست.

Rebecca: بله. بله، نه، آن تجربه‌ی واقعاً فوق‌العاده‌ای بوده است. Exercism در ابتدا توسط همکارانم به من معرفی شد، St. که طرفدار بزرگ پلتفرم است و قبلاً از آن استفاده کرده است. و در Unison، من منابع لازم برای ساختن یک پلتفرم کامل مدیریت محتوای آموزشی را نداشتم. ما گروه نسبتاً کوچکی هستیم و اهداف دیگری هم داریم و بنابراین گفتم، چطور می‌توانم

Jonathan: سال‌ها بعد، Rebecca هنوز مثل اینکه

Rebecca: بله. من هنوز دارم

Jonathan: آن را

Rebecca: پلتفرم را می‌سازم. بله. پس می‌دانستیم که باید با سازمان دیگری هم شریک شویم. زبان Unison را بیرون ببریم تا مردم امتحان کنند و، امیدوارانه اگر یک مؤلفه‌ی مرورگر بود، واقعاً عالی می‌شد چون مردم می‌توانستند به‌صورت واقعاً سبک با زبان درگیر شوند. و بنابراین وقتی دیدیم Exercism چه ارائه می‌دهد، گفتیم، باشه این جامعه‌ی عالی‌ای است. در حال رشد است، رایگان است. این واقعاً عالیه. کاربران ما آن را دوست خواهند داشت. پس بله فقط تصمیم گرفتیم، باشه، این‌طور خواهد بود که مردم می‌توانند تمرین کنند. خود فرایند ساختن ترک کمی جالب است چون Unison یک زبان مبتنی بر فایل نیست، درست است؟ مثل اینکه پایگاه کد شما هش می‌شود و در یک پایگاه کد ذخیره می‌شود و بیشتر زبان‌های دیگر با فایل‌ها روی یک سیستم فایل کار می‌کنند. پس چالش‌های فنی جالبی آنجا وجود داشت.

Jonathan: فقط کمی روی آن توضیح دهید. مثلاً چه؟ دوست دارم، فقط. به‌عنوان یک فرد غیرفنی صحبت می‌کنم، مطمئنم Jeremy در این لحظه به خاطر پرسیدن یک سوال خیلی فنی به من می‌خندد، اما فقط کمی در آن و برخی چالش‌ها کاوش کنید و مطمئنم مردم اگر گوش دهند می‌توانند کمی از آنچه می‌گویید را بگیرند.

Rebecca: بله. پس در Unison شما در این چیزهایی به نام فایل‌های اسکرچ کار می‌کنید و فایل‌های اسکرچ یا هر چیزی با پسوند نقطه U، و آن‌ها واقعاً دورانداختنی هستند. فایل‌های دورانداختنی. برنامه‌ی کوچک‌تان را می‌نویسید، ممکن است آن را در یک تجربه‌ی شبیه REPL یا شبیه نوت‌بوک اجرا کنید، اما بعد تابع را از فایل حذف می‌کنید چون آن را در خود پایگاه کد Unison ذخیره کرده‌اید. و بنابراین پایگاه کد Unison منبع حقیقت است، نه سیستم فایل. و جایی که این با یکپارچه‌سازی با Exercism جالب می‌شود البته این است که Exercism به فایل نگاه می‌کند، یک فایل به آن داده می‌شود و مجموعه‌ای تست روی آن اجرا می‌کند، و بعد می‌گوید، باشه، دانشجو تست را قبول شده یا اینجا برخی مسائل است. و در نهایت خوب پیش رفت، چون هر بار که تست را اجرا می‌کنید، اساساً یک کانتینر Docker جدید به شما داده می‌شود. برخی چیزهای فنی در بک‌اند اتفاق می‌افتد که واقعاً هوشمندانه است.

Jonathan: جادوگری جادویی.

Rebecca: بله، یک جادوگری جادویی وجود دارد. Eric برای کاری که پلتفرم انجام می‌دهد کلی آفرین می‌گیرد. بله، در نهایت خوب پیش رفت. اما مدل بنیادی Unison به‌عنوان یک زبان این است که یک پایگاه کد ماندگار در فایل نیست. پس اگر دانشجویان بخواهند کارشان را ذخیره کنند، اجرا به اجرا،

Jonathan: چه کار می‌کنید

Rebecca: بله.

Jonathan: شما، کجا

Rebecca: کجا

Jonathan: پس آن، پس آیا این یعنی یک دانشجو باید شروع کند، از نظر فنی باید هر بار از ابتدای، مثلاً از ابتدای برنامه‌ی درسی شروع کند. تقریباً هر بار. چون ذهن من به آنجا رفت که، اوه، ذخیره‌سازی نیست. اما بعد شاید این فقط روش احمقانه‌ای است که مغزم پردازش می‌کند. اما من گفتم، اوه، وای، باید دوباره شروع کنم. در

Rebecca: پس، چیز خوش‌شانس این است که رابط وب آخرین اجرا را ذخیره می‌کند. پس در حالی که ما لزوماً سیستم فایل یا وضعیت فایل را ذخیره نمی‌کنیم، خود پلتفرم Exercism. کار دانشجو را ذخیره می‌کند. پس این واقعاً عالیه. آن واقعاً فوق‌العاده است، و بعد اگر دانشجو از خط فرمان استفاده کند، به مجموعه‌ی کامل تجربه‌ی Unison دسترسی دارد، درست است؟ چون در آن صورت آن‌ها در واقع مدیر پایگاه کد UN را دانلود می‌کنند و مستقیماً با آن کار می‌کنند. بله، انعطاف زیادی بین رابط مبتنی بر وب و کار روی خط فرمان وجود دارد.

Jonathan: باشه. این واقعاً جالب است. خیلی عالیه چون هر بار با یک نگه‌دارنده یا مشارکت‌کننده‌ی متفاوت در پلتفرم X صحبت می‌کنم، فقط ظرافت هر زبان و جزئیات ریز و چیزهایی مثل آن، واقعاً ذهنم را منفجر می‌کند که چند راه مختلف برای انجام کارها در کل وجود دارد. باشه. پس حالا شما در Unison هستید. فکر می‌کنم الان فرصت خوبی است که آن سوالی را بپرسم که امیدوارم از قبل به‌قدر کافی برایتان آماده کرده باشم، حول کل این مفهوم تپه‌ای که در فضای فناوری روی آن می‌میرید. نهایتاً، چه یک چیزی است که می‌گویید؟ این مال من است. دیدگاه من است و فکر می‌کنم کاملاً ضروری است، و از آن کوتاه نمی‌آیم. می‌جنگم، اگر لزوماً از کلمه‌ی جنگیدن در Exam استفاده نکنیم. بیشتر این است که با تمام وجود از چه چیزی حمایت می‌کنید و می‌گویید، این چیزی است که واقعاً می‌خواهم پای آن بایستم. چه، چه فکری؟ یا می‌تواند مثل این باشد، توابع‌تان را قبل از CSS بگذارید. نمی‌دانم. فقط دارم چیزی از خودم درمی‌آورم، اما نمی‌دانم چه می‌تواند باشد.

Rebecca: بله. تپه‌ی من که روی آن می‌میرم این است که فکر می‌کنم، ها، فکر می‌کنم فناوری خیلی طولانی است که شخصیت‌های سمی را به قیمت، چون از نظر فنی درخشان هستند، پذیرفته است. و فکر می‌کنم که. باید معکوس شود. من خیلی ترجیح می‌دهم

Jonathan: آن. دوستش دارم. بله.

Rebecca: خیلی ترجیح می‌دهم با ۵۰ فرد واقعاً شایسته و سخت‌کوش کار کنم تا با یک نابغه‌ی پررو. من، من نمی‌فهمم، هرگز واقعاً نفهمیده‌ام. پذیرش رفتار واقعاً سمی. فقط چون کسی فوق‌العاده باهوش است که همیشه

Jonathan: حس می‌کنم که در کل فناوری به‌آرامی در حال تغییر است. و فکر می‌کنم دلیلش، و اگر اشتباه می‌گویم بگویید، چون من فرهنگ ex هستم. دوستش دارم. کاملاً دوستش دارم و می‌دانم درباره‌ی چه صحبت می‌کنید. اما به این معنا که، هرچه افراد بیشتری از پیشینه‌ها و فرهنگ‌ها و تجربه‌های مختلف یاد بگیرند، هرچه فناوری بیشتر به یک چیز تبدیل شود، فکر می‌کنم بیشتر آن وارونگی را خواهید دید، فکر می‌کنم اتفاق بیفتد. و فکر می‌کنم این مرا فوق‌العاده هیجان‌زده می‌کند. و فکر می‌کنم فقط فکر کردن به فضای فناوری به‌عنوان یک بیرونی، در این برهه‌ی زمانی واقعاً به یک معنا انتقال ثروت است چون گروه نسبتاً کوچکی از افراد دانش دارند. چون آن دانش، مثل حتی فهمیدن خط فرمان یا اینکه چه خبر است با bash اسکریپت‌هایتان و همه‌ی آن جور چیزها، من هیچ سرنخی از آنچه زیر کاپوت می‌گذرد ندارم، اما دانش باعث می‌شود پول و انرژی و مالی زیادی به آن فضا سرازیر شود چون آن‌ها مهارت و دانش را دارند و برای انجام آن، فکر می‌کنم، امیدوارم در این درست باشم، در طول زمان، در چند سال آینده همزمان که مردم یاد می‌گیرند و می‌توانند عقب برانند و مقابله کنند و با روش‌های مختلف فهمیدن چیزها بیایند، آن تغییر را خواهیم دید. من مثبتم و امیدوارم، اما فکر می‌کنم در آن با شما موافقم. فکر می‌کنم واقعاً جالب بوده است. نهایتاً، آنچه تجربه کرده‌ام این است که می‌توانید نابغه را داشته باشید، اما در واقع مقدار انرژی لازم برای مدیریت آن در سطح عاطفی و به‌علاوه پیامدهایش با افراد دیگر، به‌علاوه استرسی که دیگران باید با مشتریان، مثلاً، یا با تیم تحمل کنند، در واقع خودش را متعادل می‌کند و من تجربه‌ی کاملاً مثبتی ندیده‌ام. کسی باید هزینه بدهد. در سیستم، کسی دارد برای آن هزینه می‌دهد. پس من کاملاً با شما موافقم و فکر می‌کنم این چیزی است که می‌توانید آن را به راه‌حل‌های فناوری برای چیزها هم اعمال کنید. این یک راه برای انجام آن است. مثل، نه، در واقع ۲۰ راه وجود دارد و همه‌شان بده‌بستان دارند. و در واقع بلوغ این است که بگویید چه بده‌بستانی حاضرید بپذیرید؟ به‌جای اینکه بگویید، نه، این‌طور باید انجام شود. چون همیشه این‌طور انجام شده. به‌هرحال، ارزش یک پنی برای من. اما بله،

Rebecca: بله.

Jonathan: فکر می‌کنم موافقم. باشه، عالیه. پس فکر می‌کنم هر دو در مورد آن کل تپه در یک صفحه هستیم. دارم می‌فهمم که در این برهه‌ی زمانی کلی تپه هست که دارم خودم را برایشان ثبت‌نام می‌کنم.

Rebecca: بله، هر بار

Jonathan: هر کسی که با او صحبت می‌کنم، می‌گویم، بله، دقیقاً. می‌گویم، وای. من، در این لحظه، روی هفت تپه در این مرحله می‌میرم. حداقل. اما نه، واقعاً آن را دوست دارم. Rebecca، برای شما در چند سال آینده چه؟ چه چیزی را امیدوارید یاد بگیرید یا امیدوارید در زندگی‌تان ببینید؟ در کل فناوری؟ نوعی رؤیای شما چیست؟ دیدگاه‌تان درباره‌ی آن چیست؟

Rebecca: فکر می‌کنم دوست دارم ببینم جامعه‌ی Unison به روشی واقعاً پایدار رشد می‌کند. واقعاً از افراد با پیشینه‌های مختلف استقبال می‌کند. این با تمام وجود، این دلیلی بود که به Unison پیوستم، فرصت هدایت یک جامعه به جلو. اما در بلندمدت، دوست دارم دوباره با افرادی در همان ابتدای مسیر فناوری‌شان درگیر شوم. افرادی که ۱۰ سال پیش مثل من بودند که فقط بودند. این چیست، چطور اینترنت را کار می‌اندازیم؟ کنجکاو هستند که لزوماً پیشینه ندارند و روش‌های متفاوتی برای فکر کردن به فناوری دارند. و دوست دارم برنامه‌نویسی برای شاعران انجام دهم، داشته باشم

Jonathan: آن فوق‌العاده می‌شد. ترانه‌سرایان و شاعران. کمی کد. بله.

Rebecca: بله، پس امیدوارم بتوانم با افرادی در ابتدای مسیرشان در فناوری درگیر شوم. فکر می‌کنم آن واقعاً عالی می‌شود.

Jonathan: پس اگر الان ۱۰ نفر وارد اتاقی شوند که همگی کاملاً هیچ ایده‌ای درباره‌ی کدنویسی و توسعه و دنیای درون آن نداشتند، سه توصیه‌ی اصلی شما برای شروع آن‌ها چه می‌بود؟ و چاره‌ای نداشتند. باید یاد می‌گرفتند. این‌طور بود، عالیه، شما اینجا هستید. راه خروجی نیست. باید فقط ادامه دهید. نوع شما چه می‌شد، از کجا شروعشان می‌کردید و چطور پیش می‌رفتید؟

Rebecca: به آن‌ها می‌گفتم که. باید دور اتاق را نگاه کنند و موفقیت همه را مال خودشان ببینند. و بعد احتمالاً به آن‌ها می‌گفتم که، احتمالاً به آن‌ها می‌گفتم که در یادگیری نحوه‌ی تست یک سیستم و بررسی کارشان سرمایه‌گذاری کنند. به آن‌ها می‌گفتم، اوه خدای من. احتمالاً درباره‌ی استفاده از دیباگر برای کارهای عملی به آن‌ها می‌گفتم. اما فکر می‌کنم نکته‌ی اول واقعاً چیزی است که به آن‌ها می‌گفتم: موفقیت دیگران را مال خودتان ببینید. چون در

Jonathan: فکر می‌کنید دوستت دارم؟ بله. نه، چون من، آن نکته‌ی واقعاً جالبی است. پس ما به‌تازگی این گروه‌ها را اجرا کردیم. نمی‌دانم می‌دانید که ما دو تجربه‌ی یادگیری ۳۰ روزه در مسیر Alexa و در مسیر Go اجرا کردیم. پس انجام دادیم و ۳۰۰، نه بیشتر از سه، ۷۰۰ نفر برای مسیر Go ثبت‌نام کردند. و حدود صد نفر در مسیر Alexa داشتیم. و واقعاً جالب بود چون ما واقعاً می‌خواستیم آزمایش‌هایی درباره‌ی اینکه مردم چطور با هم یاد می‌گیرند انجام دهیم. چون فهمیدیم یادگیری با هم یکی از کلیدی‌ترین جنبه‌ها از نظر شتاب‌دادن به یادگیری افراد به‌سوی یا، و رسیدن به هدف است. پس اینکه گفتید، واقعاً آن را دوست دارم و فکر می‌کنم باید در مقطعی بیشتر با شما درباره‌ی اینکه هر کس را به‌تنهایی موفق کنیم صحبت کنم، چون فکر می‌کنم، اگر صادق باشم، آن ابزار بسیار قدرتمندی از نظر یادگیری است. ما اغلب به‌عنوان افراد منزوی عمل می‌کنیم. و در واقع یکی از چیزهایی که واقعاً حس می‌کنیم این است که شتاب از جامعه می‌آید، از گرفتن دیدگاه فرد دیگر. و در واقع فکر می‌کنم باید آن جمله را بقاپم و شاید به‌طور کلی از شما بخواهم تا دیگران را موفق کنیم،

Rebecca: لطفاً

Jonathan: به‌عنوان اولویت. شاید بتوانیم کاری حول آن انجام دهیم. اما آن واقعاً عالیه. واقعاً آن را دوست دارم. متشکرم. متشکرم که آن را به اشتراک گذاشتید، Rebecca، متشکرم برای وقت‌تان. فکر می‌کنم واقعاً عالیه که فقط گپ زدیم و وقت خوبی درباره‌ی کدنویسی و فناوری و همه‌ی آن جور چیزها داشتیم. پس متشکرم که زود بیدار شدید، قهوه دم کردید و برای من وقت گذاشتید. این صبح یا در صبح شما و بله. قدردانی می‌کنم. و برای همه‌ی شنوندگان، زبان Unison را ببینید. یادداشت‌های برنامه را آماده می‌کنم و در متن تبلیغ و توضیحات این پادکست می‌گذارم. اما حضور شما عالی بود. خیلی متشکرم و ضبط را متوقف می‌کنم و بعد کمی پس از این گپ می‌زنیم. پس با من بمانید، Rebecca، اما بقیه، بعداً می‌بینمتان. بله.

داستان‌های بیشتر از انجمن ما

گوش دهید، یاد بگیرید و از اعضای انجمن ما الهام بگیرید.