هم‌بنیان‌گذار Stack Overflow: دولوپرها لازم است به ۳ مهارت اصلی تجهیز شوند!

هم‌بنیان‌گذار Stack Overflow: دولوپرها لازم است به ۳ مهارت اصلی تجهیز شوند!

برای خیلی از دولوپرهای تازه‌کار دشوار است که بفهمند چه مهارت‌هایی و چه زبان برنامه‌نویسی برای شروع کار لازم است. در این پست قصد داریم توصیه‌های Joel Spolsky، هم‌بنیان‌گذار سایت معروف Stack Overflow که یکی از موفق‌ترین افراد در زمینهٔ مهندسی نرم‌افزار است را به دولوپرهای تازه‌کار بیان کنیم.

معمولاً دولوپرها برای موفقیت در مصاحبه‌های کاری باید به کارفرمایان نشان دهند که با زبان‌های برنامه‌نویسی زیادی آشنا هستند و تمام مهارت‌های لازم را دارند. این مسئله باعث می‌شود که بسیاری از دولوپرها به دنبال یادگیری فناوری‌های مختلف بروند و سعی کنند تمام کارها و زبان‌هایی که کارفرمایان انتظار دارند را یاد بگیرند ولی به گفتهٔ Joel Spolsky (یکی از بنیان‌گذاران سایت استک اورفلو)، کسانی که می‌خواهند در شغل خود موفق باشند، باید ابتدا سه مهارت اصلی را فرا بگیرند که عبارتند از علم اقتصاد، نویسندگی و زبان C.

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

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

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

در ادامه، سؤالاتی که از آقای اسپولسکی پرسیده شده را به همراه جواب آنها قرار داده‌ایم که امیدواریم به برنامه‌نویسان مبتدی در یافتن راه درست کمک کنند (همچنین اگر علاقمند به آشنایی بیشتر با هم‌بنیان‌گذار دیگر استک‌ اورفلو هستید، می‌توانید به مقالهٔ‌ ارسال نامهٔ تشکرآمیز برای Jeff Atwood و دریافت پاسخ در کمال ناباوری! مراجعه نمایید).

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

از نظر اسپولسکی، تأکید زیاد روی داشتن مدرک علوم کامپیوتر باعث می‌شود که برنامه‌نویسان بااستعدادی را از دست بدهیم زیرا گاهی‌اوقات افرادی که تحصیلات دانشگاهی ندارند، می‌توانند به خوبی کسانی باشند که دارای مدرک دانشگاهی هستند. به گفتهٔ اسپولسکی، این تجربه است که مهم بوده و او ترجیح می‌دهد کسی را استخدام کند که ۱۰۰۰۰ ساعت تجربهٔ کار دارد تا کسی که در بهترین دانشگاه درس خوانده است!

نظرتان در مورد دوره‌های MOOC چیست؟ 
در سال‌های ا‌خیر، دوره‌های آموزشی آنلاین MOOC راه‌اندازی شده و در این دوره‌های آموزشی اکثر زبان‌های برنامه‌نویسی و مهارت‌های مربوطه آموزش داده می‌شوند. عده‌ای از افراد به دنبال گرفتن مدرک MOOC می‌روند و عده‌ای دیگر ترجیح می‌دهند که در دانشگاه تحصیل کنند و مدرک دانشگاهی داشته باشند (لازم است بدانید که مدرک‌های رایگان و پولی MOOC از نظر اعتبار متفاوت هستند).

آیا شما فکر می‌کنید که ثبت‌نام در دوره‌های آموزشی MOOC کار درستی است؟ 
بله، ولی متأسفانه در دوره‌های آموزشی MOOC این احتمال وجود دارد که شما نتوانید همهٔ دوره‌های آموزشی را به پایان برسانید. تحقیقات نشان می‌دهند که تنها 13٪ از کسانی که در دوره‌های MOOC ثبت‌نام کرده‌اند توانسته‌اند دوره‌های آموزشی را به طور کامل بگذرانند. کلاس‌هایی که در این دوره‌ها برگزار می‌شوند بسیار خوب هستند و موفقیت در این کلاس‌ها تا حد زیادی به انگیزهٔ افراد بستگی دارد. درست مانند کسانی که سال‌ها زبان فرانسه خوانده‌اند ولی چیز زیادی یاد نگرفته‌اند اما وقتی که به فرانسه سفر می‌کنند، به دلیل انگیزه‌ای که دارند خیلی سریع زبان فرانسه را فرا می‌گیرند.

در نتیجه، بهترین دوره‌های آموزشی برنامه‌نویسی در وب‌سایت‌های MOOC دوره‌هایی هستند که کدآموزان را در محیط کار قرار می‌دهند و به آنها این امکان را می‌دهند که تجربهٔ لازم را کسب کنند. برای یاد گرفتن برنامه‌نویسی، نیاز به تمرین زیادی هست ولی متأسفانه زمان کم دوره‌های آموزشی این اجازه را نمی‌دهد تا تازه‌کارها به تمام پتانسیل خود دست یابند. تمرین زیاد برای کسانی هم که مدرک دانشگاهی دارند لازم است و افرادی که بدون تجربهٔ برنامه‌نویسی با موفقیت از دانشگاه فارغ‌التحصیل می‌شوند بسیار کم هستند. تخمین زده شده که برای کار به عنوان یک برنامه‌نویس، شخص باید حدود ۵۰۰۰ ساعت تمرین داشته باشد.

لازم به ذکر است که MOOC مخفف واژگان Massive Open Online Courses است که وب‌سایت‌هایی که شامل می‌گردد که با دانشگاه‌های تراز اول دنیا دوره‌هایی به صورت آنلاین برگزار می‌کنند که بسیار باکیفیت و رایگان هستند که برخی از مهم‌ترین این وب‌سایت‌ها عبارتند از (البته برخی از دوره‌های آنها غیررایگان هستند):
- edX
- Udacity
- Coursera

یاد گرفتن در حین کار 
به گفتهٔ اسپولسکی، روش یادگیری برنامه‌نویسی پیشرفت زیادی کرده است و توسعه‌دهندگان تازه‌کار می‌توانند در حین کار آن را یاد بگیرند. در گذشته، برنامه‌نویسان مجبور بودند به تنهایی فشارهای زیادی را تحمل کنند ولی خوشبختانه امروزه با کمک اطلاعات زیادی که به صورت آنلاین وجود دارد، اگر برنامه‌نویسان در قسمتی با مشکلی روبه‌رو شوند، می‌توانند به راحتی در گوگل راه‌حل آن را جست‌وجو کنند. در اینترنت امکانات زیادی برای کمک به برنامه‌نویسان وجود دارد برای مثال، Stack Exchange، شبکه‌ای که Stack Overflow بخشی از آن است، قصد دارد به منظور پیشرفت دانش برنامه‌نویسی در حوزه‌های دیگر، مدل جامع Stack Overflow را بسازد. همچنین صفحات گروهی وجود دارند که به توسعه‌دهندگان این اجازه را می‌دهند که جزئیات پروژه‌هایی که روی آنها کار می‌کنند را با یکدیگر به اشتراک بگذارند.

حال نوبت به نظرات شما می‌رسد. آیا با نظرات آقای اسپولسکی موافق هستید؟ لطفاً نظرات، دیدگاه‌ها و تجربیات خود را با ما و سایر کاربران سکان آکادمی به اشتراک بگذارید.

منبع