سایت نارنجی -که دیگر در دسترس نیست- برای اکثر دوستداران دنیای IT و اخبار مرتبط با آن آشنا است. به طور خلاصه، موفقترین سایت نقد و بررسی گجتها، اخبار حوزههای مختلف منجمله فناوری، علوم، پزشکی و ... در ایران که متأسفانه فعالیت آن متوقف شد! همواره برای علاقمندان به دنیای فناوری به خصوص برنامهنویسی جالب است بدانند که سایتهای تراز اول از چه نیروهایی در تیمهای خود بهره میگیرند که ما هم در این مصاحبه -برای اولین بار در وب فارسی- پس از توقف فعالیت سایت محبوب نارنجی، با آقای مصطفی پورغریب -یکی از برنامهنویسان اصلی تیم نارنجی- مصاحبهای ترتیب دادیم که امیدواریم از خواندن آن لذت ببرید.
لطفاً خودتان را برای کاربران سکان آکادمی معرفی کنید؟
سال ۱۳۷۰ در شهر بابک از توابع شهر کرمان به دنیا آمدم. تقریباً دو الی سه ساعتی تا کرمان فاصله داره. راستش با اینکه دویست کیلومتری بیشتر تا کرمان فاصله نداشتیم، اما تا موقعی که دانشگاه رفتم، کرمان رو ندیده بودم! در حال حاضر هم به هزار و یک دلیل -که یکیش هم ازدواجه- ساکن شهر کرج هستم.
بفرمایید از چه زمانی وارد دنیای برنامهنویسی شدید؟
برادر بزرگم -که چهار سال از من بزرگتره- یک پک آموزشی برنامهنویسی گرفته بود که کدنویسی یاد بگیره که اگر اشتباه نکنم اون موقعها کیوبیسیک کار میکرد. اولین چیزی که در برنامهنویسی من رو به خودش جذب کرد، شکل آکولاد بود! اون نظم باز/بسته شدن آکولادها خیلی برام جالب بود. در واقع، اون نظمی که در ادیتور کدنویسی میدیدیم، من رو گرفت.
سوم دبیرستان درسی داشتیم به نام مبانی کامپیوتر که بهمون ویژوال بیسیک درس میدادند. خیلی چیز زیادی از برنامهنویسی به ما نمیگفتن، فقط در حد حلقهها، استرینگ، اپراتورها و … بود. سختترین کاری که باید میکردیم این بود که نرمافزاری بنویسیم که از ۱ تا ۱۰ بشماره بعد تهش بنویسه Fire. البته وقتی میرفتم خونه، کمی هم خلاقیت به خرج میدادم؛ مثلاً چند تا پنجره طراحی میکردم -مثل مراحل نصب یک نرمافزار در ویندوز- که دکمههای Next و Back داشت که آدم هی روشون کلیک میکرد و در نهایت همه چیز تموم میشد و هچ اتفاقی هم نمیافتاد!
در دانشگاه هم خودم واقعاً دوست داشتم که در رشتهٔ کامپیوتر ادامه تحصیل کنم اما اطرافیان بهم میگفتن که برق هم بزن و مجبورم کردن که انتخاب اولم برق باشه (رشتهٔ برق رو طوری زدم که قبول نشم و خدا رو شکر هم همین طور شد و در رشتهٔ سختافزار کامپیوتر در شهر کرمان قبول شدم.) همون موقعها و حتی قبل از دانشگاه هم علاقهٔ خاصی هم به الکترونیک و رباتیک داشتم (البته الان هم دارم و اگر این برنامهنویسی ... بزاره میرم دنبالش!)
مثلاً یک دستگاه لحیم داشتم که کاردستیهایی مثل آژیر پلیس درست میکردم، کیتهای افام، مورس و از این جور چیزها میگرفتم لحیم میکردم و وقتی کار میکرد، کلی حال میکردم. مثلاً یه کاری که به نظر خودم خیلی جالب بود این بود که جعبهٔ صابون برداشته بودم، دو تا آرمیچر هم داشتم و چهار تا در نوشابه هم پیدا کردم و یه ماشین درست کردم و اولین ماشین برقی خودم رو راه انداختم. به غیر این، یه قایق هم درست کردم که قشنگ رو آب میرفت. یه بار هم تصمیم گرفتم بخاری درست کنم اما چون سابقهام خراب شده بود، مادرم کبریت رو از جلوی دستم برداشته بود. بعد رفتم سراغ همسایه و ازش کبریت خواستم. جالبه، فکر کرد میخوام سیگار بکشم و همین برام داستان شد!
شاید یکی از اصلیترین دلایلی که باعث شد در دانشگاه رشتهٔ سختافزار رو انتخاب کنم، همین علاقهام به الکترونیک و رباتیک بود؛ چون میخواستم یه رشتهای رو بخونم که هم یه چیزهایی از برق داشته باشم و هم یه چیزایی از برنامهنویسی. از اینکه رشتهٔ سختافزار رو انتخاب کردم هم اصلاً پشیمون نیستم. راستش الان هم دوست دارم برم سراغ هوش مصنوعی و اگر یه موقعی فرصت کنم، هوش مصنوعی رو در حوزهٔ رباتیک دخیل کنم. به طور خلاصه، ربات رو به زندگی انسانها نزدیک کنم.
اون موقعها چون ربات ساختن هزینه داشت و دانشگاه هم هیچ چی اون رو تقبل نمیکرد، برای اینکه هزینههام رو در بیارم، پروژههای بچههای رشتههای مختلف -حتی ارشد- رو میگرفتم و با سیشارپ مینوشتم (دو ترم اول دانشگاه سیشارپ رو یاد گرفتم) تا اینکه ترم چهارم شد و همکاریم با نارنجی شروع شد و برنامهنویسی رو دیگه حرفهای شروع کردم.
زبان مورد علاقهٔ شما چیست و از چه سیستمعاملی برای کدنویسی استفاده میکنید؟
هر زبونی رو بسته به نیازم استفاده میکنم و هر کدوم جذابیتهای خاص خودش رو داره. راستش دنبال ویژوال بیسیک رفتم، بعدش سیشارپ رو بلد شدم، پیاچپی رو هم که برای وب بلد شدم. همون موقع خب نیاز بود که جاوااسکرپیت رو هم بلد بشم، یه زمانی هم دنبال پایتون رفتمو حالا هم که اپ اندرویدی مینویسم، مسلماً جاوا رو باید یاد میگرفتم.
اوایل مایکروسافت زامبی بودم؛ به عبارت دیگه، خورهٔ ویندوز بودم اما مدتی هست که با مکینتاش کد میزنم. راستش مکینتاش اصطلاحاً Reliable هست! یعنی که چیزهایی مثل کرش کردن، از بین رفتن دیتا، هارد بترکه، روشن کنی بالا نیاد اصلاً این طور نیست و از این چیزها نداره. یه چیز دیگه هم اینکه بخشی از محصولات اپل، کلاسش هم هست اما واقعیت اینکه این سیستمعامل واقعاً متفاوته و یه جزئیاتی بهش فکر شده و وقتی میبینی قبل از تو کسی به نیازهات فکر کرده، خیلی حال میده! اما راستش رو بگم اگه الان پول داشتم، شک نکنید میرفتم لپتاپ سرفیس بوک مایکروسافت رو میخریدم. سرفیس بوک واقعاً چیزیه که به نظرم از مکبوک ایر به مراتب فراتر هست. سبکه، قدرتمنده، زیباست، دو تا گرافیک داره و …
اولین IDE هم که کار کردم، ویژوال استودیو بوده (الان هم اندروید استودیو، اکلیپس و … دارن زور میزنن که مثل ویژوال استودیو بشن) و در حال حاضر هم برای کدنویسی اندروید از اندروید استودیو استفاده میکنم و برای کدنویسی وب هم از سابلایم استفاده میکنم.
خیلیها سؤال دارن که برای کدنویسی از اندروید استودیو استفاده کنن یا اکلیپس؟ گوگل الان داره تمام تلاشش رو میکنه که اندروید استودیو رو بین دولوپرها جا بیندازه که در این زمینه هم موفق عمل کرده. مثلاً وقتی تو اندروید استودیو کد میزنی، همون موقع میتونی خروجی رو توی نمونه گوشیهای مختلف ببینی که این خیلی خوبه. در کل، استفاده از اندروید استودیو خیلی خوبه.
کمی هم در مورد همکاری با سایت نارنجی بفرمایید؟
همونطور که میدونید، دفتر مرکزی نارنجی در کرمان بود و زمانی که من دانشگاه بودم، یکی از بچههای نارنجی هم در دانشگاه ما بود که نرمافزار میخوند و دیده بود که من برنامهنویسی بلدم و جزو تاپهای دانشگاه هم هستم و خودم هم اون موقع بهش گفته بودم که به وب علاقمندم و یه چند تا کتاب هم در مورد زبان پیاچپی فقط ورق زده بودم. در نهایت، من رو معرفی کرد به نارنجی.
یه روز ساعت شش عصر با آقای هنرمند جلسهٔ مصاحبه گذاشتن برام و یکسری سؤالهای اولیه ازم پرسیدن اما یه چیزی که براشون خیلی اهمیت داشت، بیشتر تأکیدشون روی اخلاقیات بود. دقیقاً خاطرم نیست اما اگر اشتباه نکنم، از فرداش همکاریمون به عنوان کارآموز شروع شد و سعی کردم در همون مدت خودم رو خوب نشون بدم.
راستش اونجا برام یک رودمپ ترسیم کردن که بایستی بر اساس اون پیش میرفتم و روز به روز چیزهای جدیدی یاد میگرفتم. کتابهای مختلف مرجعی بهم معرفی میکردن، مرتب تمرین میدادن و بعداً من رو چک میکردن. هر چند صفحهای هم که میخوندم رو میبایست به اطلاعشون میرسوندم. اون موقع که آموزشهام تموم شد، وارد اصل کار شدیم و من رو پرت کردن توی سیاماسی به نام دروپال!
چرا نارنجی از سیاماس دروپال استفاده میکرد؟
دروپال خیلی قدرتمنده. الان هم سرچ کنید، میبینید که نتایج گوگل هم همین رو نشون میده. راستش دروپال سیاماسی مثل جوملا و وردپرس نیست بلکه یک فریمورکه.
دلیل موفقیت نارنجی را در چه میدیدید؟
نارنجی تیم قدرتمندی داشت و یک تیم خوب هم مسلماً یک مدیر موفق داره. من فکر میکنم که این مدیریت آقای هنرمند بود که تونسته بود نارنجی رو به یک سایت نامبر وان در حوزهٔ آیتی مبدل کنه. ایشون هم کسانی که حضور فیزیکی داشتن رو خوب هَندل میکردن و هم کسانی که در شهرهای دیگه بودن و دورکاری میکردن رو خیلی خوب هندل میکرد. ما در محیط کارمون خیلی محیط دوستانهای داشتیم؛ روزی نبود که چیپس و ماست، تنقلات و … نخریم و دور هم نخوریم. میز پینگپونگ داشتیم و خلاصه شرایط کاری خوبی برامون فراهم بود.
آیا سایر سایتهای همردهٔ نارنجی/نردبان/نگهبان توانستهاند خلاء این سایتها را جبران کنند؟
اگر معیار موفقیت الکسا باشه، آره یکسری سایتهایی که مثلاً در حوزهٔ آیتی هستن تونستن به رتبهٔ زیر ۱۰۰ بیان و بازدیدکننده هم دارن. عمدهترینشون دیجیاتو هستش که چون پس از توقف فعالیت نارنجی، برخی بچههای نارنجی دور هم جمع شدن و این سایت رو زدن، خیلی زود هم مخاطب خاص خودشون رو پیدا کردن و تا حدودی تونستن ایدههای نارنجی رو پیادهسازی کنن! برای نگهبان ندیدم جایگزینی پیدا بشه ولی سایت نردبان چون بیشترین استقبال ازش به خاطر اندروید بود، بعداً دیدم که سکان آکادمی تاحدودی تونسته اون خلاء رو پر کنه.
چه شد که به برنامهنویسی برای اندروید علاقمند شدید؟
من خیلی دوست داشتم ببینم که موبایل چطوری کار میکنه. اون موقع که میخواستم موبایل رو شروع کنم، مکینتاش نداشتم برای همین نتونستم سراغ برنامهنویسی iOS برم، این شد که رفتم سراغ اندروید که هم ابزارش رو داشتم و هم جامعهٔ به مراتب بزرگتری داشت. اون موقعها یادم هست که روزی ۱۲ ساعت کد میزدم. منبع خاصی هم برای یادگیری نداشتم. البته اون موقعها که سایت نردبان رو هندل میکردم، گهگاهی آموزشهای بهزاد مرادی رو یه نگاهی میانداختم اما نه به چشم خریدار چون اصلاً اون موقع تصمیم نداشتم دولوپر اندروید بشم. تنها سورسم یوتیوب، استکاورفلو و گوگل بوده تا به حال.
اولین پروژهای هم که برای اندروید نوشتم، یک اپی بود به نام IT Ketab که برای خودم نوشتم که از یه سایتی کتابهای آیتی رو دانلود میکنه. در حال حاضر هم خیلی اپهای اندرویدی زیادی نوشتم که اونهاییش که میشه معرفی کرد رو میگم. یک اپ نوشتهام تحت عنوان چیکو (مشاهدهٔ چیکو در بازار) که اسمش با خودشه، چی کو! یعنی دنبال هر چیزی که بگردی برات پیدا میکنه اما سفارشدهنده خیلی روش فوکوس نکرد و به نوعی الان خیلی مخاطب نداره. خیلی از اپهای دیگهای هم که نوشتم چون سازمانی هستن، اجازه ندارم معرفی کنم.
به نظر شما آیندهٔ سیستمعامل اندروید در مقایسه با سایر رقبا چگونه خواهد بود؟
شرایط اندروید همین الان خوب هست و آیندهاش امیدوارم که خوب باشه. برا این میگم امیدوارم چون مایکروسافت و اپل خیلی خوب دارن کار میکنن و اگر گوگل کمی شُل بیاد، مسلماً صدمات جبرانناپذیری رو باید متحمل بشه.
بزرگترین اشتباهی که در زندگی حرفهای خود مرتکب شدهاید چیست؟
بزرگترین اشتباه کل زندگیم این هستش که یکسری از کارها رو نصفهنیمه رها کرده و ذهنم رو چند سال که مشغول کرده. برگردم به عقب، یک کار رو تموم میکنم بعد میرم سراغ یه کار جدید. دانشگاه هم حتماً میرم و من منکرش نمیشم چرا که یک دید عمیقتری به ما در مورد رشتهای که میخونیم میده. راستش دانشگاه به شخصه چیزی یادم نداده اما وجودش برام لازم بوده و به ذهن من جهت داده که این مسئله در برنامهنویسی خیلی مهمه!
اگر کسی بخواهد تازه وارد دنیای برنامهنویسی شود، چه توصیهای به وی میکنید؟
اول از همه یه جور تستش میکنم ببینم که منطق برنامهنویسی رو داره یا نه. چون منطق برنامهنویسی یه چیزی هست که اگر کسی نداشته باشه، همهاش درجا میزنه! اگر حالا کسی واقعاً علاقه داشته باشه اما این منطق رو نداشته باشه، مسلماً برای شروع نمیگم بره سراغ وب چون وب مجموعهای از چند تکنولوژیه که شامل اچتیامال، سیاساس و جاوااسکرپیت هستش و در نهایت یک زبان سمت سرور رو باید بلد باشه اما اگر شما بخواین یک نرمافزار دسکتاپ بنویسید، صرفاً اگر سیشارپ بلد باشید، میتونید این کار رو انجام بدین.
اگه من باشم، میگم بره اصول برنامهنویسی رو با زبان سی شروع کنه، چون بقیه زبونها اصطلاحاً C-like هستن. بعد که یه کمی راه افتاد و منطق برنامهنویسی رو یاد گرفت، میگم برو حالا به هرچی که علاقه داری بپرداز. اگر کسی دنبال پول درآوردن باشه، هر زبونی که در اون حرفهای باشی، میشه باهاش پول درآورد.
اگر به پنج سال پیش بازگردید، از دید حرفهای چه کارهایی که انجام دادهاید را هرگز انجام نمیدادید و چه کارهایی که انجام ندادید را حتماً انجام میدادید؟
مسلماً باز با نارنجی همکاری میکردم. به غیر از اون، بیشتر کتاب میخوندم و همگام با تکنولوژی پیش میرفتم. اکثر برنامهنویسها این طوری هستن که یک زبان یا فناوری رو که یاد میگیرن، دیگه علم خودشونو رو به روز نمیکنن و با همون دانش اولیه چند سال پیش میرن. من هیچ وقت اینجوری نبودم و سعی میکردم آپتودیت باشم ولی خوب دوست داشتم بیشتر در این زمینه مطالعه کنم.
علاوه بر این، سعی میکردم خیلی از این شاخه به اون شاخه نپرم. البته این هم بد نیست که از هر زبونی یه ذره بدونی چون دیدت رو باز میکنه، اما در کل تمرکز روی یک چیز تو رو در اون چیز خاص حرفهایتر میکنه. در ضمن اگر برگردم عقب، شاید هر پروژهای رو قبول نمیکردم و با آیندهنگری و با وسواس بیشتری پروژه هایی که به سمتم میآمدن رو انتخاب میکردم.
جایگاه دولوپرهای ایرانی را در مقایسه با دولوپرهای غربی در چه جایگاهی میبینید؟
از نظر حقوق و دستمزد که هیچ چی! میانگین دستمزد یک برنامهنویس خوب در ایران در بهترین حالت ممکن بین ۵ تا ۱۰ میلیون در ماه باشه (با احتساب پروژههای شخصی و کاری) اما مثلاً یک برنامهنویس حرفهای در آمریکا به پول ما چیزی در حدود ۲۵ تا ۳۰ میلیون تومن میتونه درآمد داشته باشه. از لحاظ فنی، ما برنامهنویسهای خوبی داریم. مثلاً Intro.js رو یک ایرانی نوشته که در کل دنیا خیلی هم ازش استقبال شده. به غیر از این، هکرهای خوبی هم داریم (هم کلاه سفید و هم کلاه سیاه!)
تاکنون به رفتن از ایران فکر کردهاید؟
راستش فکر کنم همهٔ جوانهای ایرانی حداقل یک بار به رفتن از این مملکت فکر کردهاند. من هم زیاد فکر کردهام ولی خانوادهام برام مهمتره به همین خاطر در ایران فعلاً میمونم.
نظر شما در مورد آیندهٔ برنامهنویسان در ایران چیست؟
اگر همه چیز خوب پیش بره (از لحاظ اجتماعی، سیاسی و اقتصادی) آینده رو من روشن میبینیم چرا که فناوری روز به روز در دنیا و ایران داره پیشرفت میکنه و پای ثابت این دنیای فناوری، برنامهنویسی و برنامهنویسان هستن.
سکان آکادمی اولین جایی است که در ایران مبحث آموزش برنامهنویسی به بچهها را استارت زده است. در این رابطه نظر خاصی دارید؟
اتفاقاً چون در فامیل من رو به عنوان مهندس برنامهنویس میشناسن، گاهی اوقات افراد میان پیش من و ازم میخوان که به بچههاشون برنامهنویسی یاد بدم. من همیشه برام سؤال بود که آخه چهجوری میشه به یک بچه اصول برنامهنویسی رو با یه زبان سطح بالایی مثل زبان سیپلاسپلاس درس داد؛ بچهای که نه زبان انگلیسی بلد است نه به درستی میتونه حتی با کامپیوتر کار کنه تا اینکه در همین سکان آکادمی با زبان اسکرچ آشنا شدم. پسر عمهام رو هم سوق دادم که اصول برنامهنویسی رو با این زبان یاد بگیره ولی اینکه چیزی یاد گرفت یا نگرفت دیگه نمیدونم! اما فکر میکنم که در حال حاضر همین اسکرچ جزو یکی از بهترین گزینههای روی میز باشه.
و در آخر، هرچه دل تنگتان میخواهد بفرمایید بگویید
اگر بخوام سکان آکادمی رو نقد کنم، اگه راستش رو بگم، آموزشهای برنامهنویسی سکان آکادمی رو هیچ نظری دربارشون ندارم چون نه بهشون نیاز دارم و نه تا به حال رفتم سراغشون اما مطالب وبلاگ سکان آکادمی رو دنبال میکنم و فکر میکنم که سکان آکادمی هرچی داره از سایت نردبان داره و باید تمام تلاششو کنه که ادامهٔ راه نردبان رو بره. علاوه بر این، سکان آکادمی سایتهای رقیب زیادی داره مثل فرانش که واقعاً دارن خوب کار میکنن. رابط کاربری سایتتون هم نسبت به قبل خیلی بهتر شده. در کل، التماس دعا داریم ایشالا که مشکلات همه حل بشه و همه دور هم خوشحال باشیم و پیشرفت کنیم. ممنون از اینکه فرصتی فراهم کردید با برو بچههای برنامهنویس ایرانی گپی بزنم.