آشفتگی (Chaos)

  • یوسف مهرداد

این روزها بخشی از زمانم درگیر پروژه‌ای هستم که حدود پانزده دانشجو در آن مشغول به برنامه‌نویسی هستند. قرار است که نقش راهنما (منتور) را داشته باشم ولی این نقش را نمی‌توانم درست انجام بدهم، زیرا:
پیش‌نیازهای زبان انگلیسی محاوره‌ای: در زبان فارسی اگر کسی عبارت “رفت تو دیوار” را در یک تیم نرم‌افزاری بگوید، ما می‌دانیم که سیستم از کار افتاده یا یک چیزی خراب شده است. 🙂 حالا اگر عبارت‌های این چنینی را در زبان انگلیسی بشنوید، بعید است که منظور گوینده را درست متوجه شوید. موضوع چالشی‌تر این است که اگر به انگلیسی بگویید “goes to wall”، احتمالا با چهره متعجب و پرسوال مخاطب رو به رو می‌شوید. 🙂

پیش‌نیازهای زبان انگلیسی نوشتاری: فرض کنید شما مشغول بازنگری کد ارسال شده به مخزن پروژه (pull request) هستید. فرض کنید موضوعی را با نوشتن کامنت به برنامه‌نویس توضیح داده‌اید. چند خط پایین‌تر دوباره به همان موضوع برمی‌خورید و می‌خواهید بگویید “همانی که بالا گفتم”. در فارسی فقط می‌نویسم ” ایضا” “. حالا وقتی می‌خواهید انگلیسی بنویسید چه عبارتی را می‌نویسید؟ 🙂 می‌نویسید ditto . ولی این کلمه، چیزی نیست که بتوانید با جستجو در گوگل پیدا کنید، بماند که باید سریع هم این کار را انجام بدهید.

فرهنگ و گذشته: اگر شما عبارت “من می‌دونم که ما موفق نمی‌شیم” رو بشنوید احتمالا یادتان می‌افتد که این جمله برمی‌گردد به گلام (Glum) نقش منفی در کارتون گالیور 🙂 . حالا اگر شما چنین عبارت‌هایی را به زبان انگلیسی بشنوید، متوجه نمی‌شوید که منظور گوینده چیست. اگر هم تکیه کلام گلام را به انگلیسی بگویید “I know we will not succeed” که دیگر هیچ!
حالا فرض کنید در جلسه‌ای بخواهید بگویید که محدوده پروژه را مدیریت کنید وگرنه در پایان سیستم شبیه “شتر گاو پلنگ” می‌شود. 🙂

تکنولوژی: از دنیای کاملا ویندوزی، ورود به دنیای کاملا لینوکسی هر چند بسیار جذاب است، ولی اگر بخواهید در پاسخگویی سرعت عمل داشته باشید، تبدیل به یک چالش جدی می‌شود

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

خلاصه، سرتان را درد نیاورم، وضعیت فعلی من “آشفتگی مطلق” است.

بس دراز است این حدیث خواجه گو تا چه شد احوال آن مرد نکو
خواجه اندر آتش و درد و حنین صد پراکنده همی‌گفت این چنین
گه تناقض گاه ناز و گه نیاز گاه سودای حقیقت گه مجاز
مرد غرقه گشته جانی می‌کند دست را در هر گیاهی می‌زند
تا کدامش دست گیرد در خطر دست و پایی می‌زند از بیم سر
دوست دارد یار این آشفتگی کوشش بیهوده به از خفتگی
آنک او شاهست او بی کار نیست ناله از وی طرفه کو بیمار نیست
بهر این فرمود رحمان ای پسر کل یوم هو فی شان ای پسر
اندرین ره می‌تراش و می‌خراش تا دم آخر دمی فارغ مباش
تا دم آخر دمی آخر بود که عنایت با تو صاحب‌سر بود
هر چه می‌کوشند اگر مرد و زنست گوش و چشم شاه جان بر روزنست

مولوی » مثنوی معنوی » دفتر اول

https://bibalan.com/?p=2920
یوسف مهرداد

یوسف مهرداد


کانال تلگرام

تغییر نام دانشکده

  • یوسف مهرداد

امروز ایمیلی از دانشکده دریافت کردم که نوشته بود قرار است نام دانشکده از “مهندسی برق و کامپیوتر” به “مهندسی برق و نرم افزار” تغییر پیدا کند.

The School is considering a proposal to change the name of the Department to “Electrical and Software Engineering” to recognize the strong growth of the Software Engineering programs.

برای گام نخست، حرکت مبارکی است؛ امیدوارم به زودی نام دانشکده به “مهندسی نرم افزار و برق” تغییر داده شود. 🙂 البته ایده‌آل این است که دانشکده “مهندسی نرم‌افزار” کلا مستقل گردد. امیدوارم تا پایان تحصیلم این اتفاق مهم روی دهد. 🙂 این‌ها برای شوخی و آمدن لبخند به لبان‌تان نوشتم. خیلی مهم نیست که اسم چه باشد، مهم رسم است! اما مهم‌ترین پیام این تغییر همان عبارت “strong growth” است که در متن ایمیل آمده است.

گزیده:
اگر شاعر می‌بودم احتمالا چنین شعری برای نرم‌افزار می‌گفتم؛ با اجازه استاد محمدرضا عبدالملکیان. جاهایی از شعر که تغییر یافته، پررنگ شده است.

من از دوردست ها آمده‌ام ،
از مزارع برنج،
از باغ‌های چایی،
و از سرزمینی که آسمانش تنها دو پیراهن دارد ;
روزها آبی می پوشد ٬
و شبها پیراهنی بلند
که تاب می خورد در رقص هزار و یک ستاره ی روشن . . .

باورم کن که نرم‌افزار در من طغیان یگانگی است ٬
و حماسه ی دوست داشتن،
من دیگر گونه دوست می دارم ٬
….

در چشم انداز هر کجای طبیعت
تو را می بینم !
در چشمه ، در رود
در دریا ، در گل
در درخت ، در جنگل
در دره ، در دشت
در کوه . . .

با اینهمه هنوز در تو حیرانم !
که تمامی عشقی در یک وجود ٬
و تمامی آرزویی در یک لباس . . .

https://bibalan.com/?p=2901
یوسف مهرداد

یوسف مهرداد


کانال تلگرام

آموخته‌های کلاس دکتر پوچارد

  • یوسف مهرداد

به عنوان بخشی از وظایف دانشگاه باید دست‌یار آموزشی یا TA یا Teacher Assistant باشیم. کار تی‌ای، حضور در آزمایشگاه‌ و تصحیح تمرین‌ها است. در آزمایشگاه یا به اصطلاح لب (Lab)، دانشجویان تمرین‌ها را انجام می‌دهند و شما به عنوان تی‌ای باید اشکالات آنها را رفع کنید و به سوالات آنها پاسخ بدهید. یک نوع پشتیبانی دانشجویان برای یادگیری و انجام تمرین‌هایی است که استاد به آنها محول کرده است.

طی دو ترم اخیر، تی‌ای دو درس مرتبط با پایتون بودم، یکی “مبانی برنامه‌نویسی برای مهندسان داده” و یکی هم “مهندسی دیجیتال دو” بود که آقای دکتر ایو پوچارد (Yves Pauchard) تدریس می‌کردند. دکتر پوچارد که به رسم اینجا، ایو صدایش می‌زنیم، سوییسی هستند ولی مدرک کارشناسی ارشد و دکترایش را از دانشگاه گرفته‌اند. الان هم مدرس (Instructor) هستند و به تازگی تدریس را شروع کرده‌اند. حضور در کلاس درس برای تی‌ای‌ها اجباری نیست، ولی من هم از سر علاقه و هم برای آشنایی با فضای کلاس‌ها، رورش تدریس و ارتباط استاد-دانشجو در اینجا تقریبا در همه‌ی جلسه‌های کلاس حضور پیدا کردم. همکاری با ایشان به ویژه در ترم دوم بسیار آموزنده بود، چه از نظر اخلاقی و چه از نظر حرفه‌ای. در این نوشته می‌خواهم به بخش کوتاهی از آن اشاره کنم.

 

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

در پایان آن چه باقی ماند، یک کتابچه ۷۸ صفحه‌ای است با نام “From Scripts to Applications with Python” نوشته‌ی ایو پوچارد بود.

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

https://bibalan.com/?p=2875
یوسف مهرداد

یوسف مهرداد


کانال تلگرام

رساله‌ی سه دقیقه‌ای: گوگل‌مپی برای توسعه‌دهندگان نرم‌افزار

  • یوسف مهرداد

مسابقه‌ای در بین دانشگاه‌ها هست به نام رساله‌ی سه دقیقه‌ای (Three Minutes Thesis). در این مسابقه به دانشجو یا محقق ۳ دقیقه وقت داده می‌شود تا موضوع تحقیق خودش را به افراد معرفی کند. افراد و داوران از حوزه‌ی تخصصی شما نیستند. در نتیجه باید موضوع تحقیق را با کلمات غیرتخصصی بیان کنید. یکی دیگر از قوانین مسابقه این است که ارائه دهنده فقط می‌تواند یک صفحه اسلاید بدون اجزای متحرک و چندرسانه‌ای داشته باشد.

در آخرین روز کلاس توسعه‌ی فردی، هر یک از دانشجویان باید موضوع رساله‌ یا تحقیقش را ارائه می‌داد و با بقیه مسابقه می‌داد. تصویر زیر اسلاید من است. البته موضوع دانش‌نامه‌ام هنوز نهایی نشده است ولی چارچوب کلی آن در همین زمینه‌ی زمینه فرایندهای توسعه‌ی نرم‌افزار خواهد بود.

ایده‌ی اصلی این اسلاید به صورت زیر است:
* نقش توسعه‌دهندگان نرم‌افزار، ایجاد زیرساخت دنیای آینده هستند.
* برای نمونه نقشه‌ی گوگل (گوگل‌مپ)، ابزاری است که به کاربران کمک می‌کند مناسب‌ترین مسیر رسیدن از نقطه‌ای به نقطه‌ای دیگر را با توجه به وسیله‌ی نقلیه‌ی مد نظر خود پیدا کنند.
* یک شرکت یا تیم نرم‌افزاری، مجموعه‌ای از اقلام را دریافت می‌کند (نقطه مبدا) و باید آنها را انجام و به مشتری تحویل بدهد (نقطه مقصد). این اقلام ممکن است بر اساس نوع (ویژگی، خطا، …) و وضعیت تیم یا شرکت در مسیر حرکت اقلام، مسیرهای متفاوتی را طی کنند، درست شبیه مسیرهای پیشنهادی گوگل‌مپ.
* حالا سوال این است که چه کسی گوگل‌مپی برای توسعه‌دهندگان نرم‌افزار تهیه خواهد کرد که در هر لحظه مناسب‌ترین مسیر را به آنها نشان دهد یا وضعیت مسیرهای پیش‌رو را پیش‌بینی کند؛ یا حتی بر اساس ترافیک و حجم آمدوشد، بار شبکه‌ی ارتباطی را توزیع کند.
* در این تحقیق ما می‌خواهیم بخشی از این گوگل‌مپ را برای توسعه‌دهندگان طراحی و پیاده‌سازی کنیم. این کار دنیای بهتری برای توسعه‌دهندگان نرم‌افزار و مشتریان آنها فراهم خواهد کرد.

پ.ن.: موضوع تحقیق من هنوز نهایی نشده است! ولی آرزویم این است که بخشی از این زیرساخت را طراحی و پیاده‌سازی کنم.

 

https://bibalan.com/?p=2630
یوسف مهرداد

یوسف مهرداد


کانال تلگرام

Respect works – make it a priority!

  • یوسف مهرداد

اینجا، درسی با نام توسعه‌ی فردی (Personal Development) برای دانشجویان تحصیلات تکمیلی اجباری است. در این درس، هر هفته یک موضوع با دعوت از افراد مختلف بررسی می‌شود. هر جلسه هم نکات جالبی دارد و بسیار آموزنده است.

هفته گذشته، موضوع درس، “محیط تحقیقاتی احترام آمیز” بود. ابتدا سه برگه به دانشجویان داده شد که باید به یک سری سوال در قالب یک جدول چهار ستونی، پاسخ می‌دادند. ستون اول، شماره سوال؛ ستون دوم، خود سوال؛ ستون سوم، پاسخ شما که عددی بین یک تا ده است که نشان می‌دهد شما چقدر از این موضوع ناراحت می‌شوید یا آن را توهین‌آمیز می‌دانید؛ ستون چهارم، پاسخ شما که بله/خیر است که نشان می‌دهد که این موضوع منجر به برخورد یا واکنش شما می‌شود یا خیر.

حالا بپردازیم به برخی از پرسش‌ها:
* یک سفیدپوست مدام از یک غیرسفیدپوست می‌پرسد “شما کجایی هستید؟”
* چند نفر در گروه تحقیقاتی شما، همیشه به جای زبان انگلیسی با زبان مادری‌شان با هم صحبت می‌کنند.
* گفتگوهای آزمایشگاه معمولا با ناسزا و کلمات زشت همراه است.
* یکی از همکاران، عکس شما در یک مهمانی خصوصی را در صفحه‌ی اجتماعی خود منتشر کرده است.
* یکی از همکاران مخالف پخش موسیقی در آزمایشگاه است.
* یک نفر از موضوع دانش‌نامه‌ی دیگری خوشش نمی‌آید و مدام آن را مسخره می‌کند.
* استاد شرکت جدیدی تاسیس کرده است و از دانشجویان به عنوان کارمندان بی‌دستمزد استفاده می‌کند (بیگاری می‌کشد)
* …

علاوه بر سوالات، دو سناریوی نمونه هم ذکر شده بود که شما باید نظرتان را راجع به آن ابراز می‌کردید. یکی از آنها این بود که استاد انتظار دارد که شما شبانه روز و حتی آخر هفته هم روی تحقیق کار کنید و …

جلسه‌ی خیلی جالبی بود؛ دو استاد مدعو هم از خاطرات خودشان تعریف می‌کردند و دانشجویان هم نمی‌توانستند جلوی خنده‌شان را بگیرند.

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

همیشه در دوره‌های چابک وقتی به بخش “ارزش‌ها” (values) می‌رسید، ارزش‌های اکس‌پی را بیان می‌کردم و از آنها می‌پرسیدم که در کتاب اول اکس‌پی، چهار ارزش و در کتاب دوم، به پنج ارزش اشاره شده است. به نظر شما کدام ارزش به چهار ارزش ابتدایی افزوده شده است و چرا؟

اگر به موضوع علاقه‌مند هستید، بد نیست نگاهی هم به این سخنرانی در تد بیندازید:

Why being respectful to your coworkers is good for business by Christine Porath

https://bibalan.com/?p=2597
یوسف مهرداد

یوسف مهرداد


کانال تلگرام

برای خروج از جستجو کلید ESC را بفشارید