اقیانوس یک میلیمتری یا دریاچهای عمیق؟
مطلبی که در این نوشتار بیان میگردد ذکر تجربیات شخصی است. صحبت بر سر انتخابهاست. انتخاب تخصص و مسیر زندگی کاری. شاید شما به عنوان یک متخصص حوزهی نرمافزار و فناوری اطلاعات هیچگاه با مسائلی که شرح آنها در ادامه میآید به شکل یک دغدغه روبرو نشده باشید. خوب است ابتدا دو خاطره در این زمینه را بیان کنم.
خاطرهی اول: چندین سال قبل با یکی از دوستان فعال در حوزهی نرمافزار پیرامون این صنعت گفتوگویی داشتم. در بخشی از صحبتها وارد مقولهی تخصص شدیم. دوستم خاطرهای را تعریف میکرد که گویا قصد داشته برای پروژهی جاری خود یک برنامهنویس را به استخدام درآورد. به علت در دسترس نبودن نیروی ماهر موردنیاز ترجیح میدهد از طریق چاپ آگهی در یکی از نیازمندیها فرد موردنظر خویش را بیابد. صحبت را به اینگونه ادامه داد که پس از انتشار آگهی، تعدادی برنامهنویس پس از تماس اولیه و ابتدایی، رزومهی خود را جهت بررسی ارسال کردند. ایشان پس از رویت رزومههای ارسالی، قرار ملاقات و مصاحبهای با جویندگان کار ترتیب میدهد. در خلال مصاحبه نکتهای که توجه دوست بنده را به خود جلب میکند این است که در کنار پر زرق و برق بودن سوابق تحصیلی و کاری، کثرت زمینههای کاری، تکنولوژیها و زبانهای برنامهنویسی چشمگیر است. به گونهای که بعضی اشخاص مدعی هستند بر روی چندین زبان برنامهنویسی، تکنولوژی و ابزار بصورت همزمان درجهای بالا از مهارت و در یک کلام تسلط کامل دارند. دقت کنید صحبت از تسلط است نه حتی در حد آشنایی. از تجزیه و تحلیل سیستم گرفته تا یادگیری ماشینی و از برنامهنویسی دسکتاپ گرفته تا وب و موبایل در سکوها و پلتفرمهای گوناگون. ادامه میداد که در جلسهی مصاحبه متوجه شده علاوه بر اینکه تعدادی از این افراد از سطح تخصص اظهارشده بیبهرهاند، از تسلط کافی بر مفاهیم پایه و حداقلی نیز عاجز هستند. گویا به نحوی از هر چیزی به مقداری فراگرفته و آن را به نام تسلط بالا در سوابق و کارنامهی خود ثبت کرده باشند. نظر ایشان این بود که بعضی تصورشان این است که هرچقدر تعداد صفحات رزومه زیادتر و وزن بخش مهارتها و تخصصهای فنی آن بیشتر باشد شانس گرفتن شغل نیز به مراتب بیشتر است و به گونهای کارفرما و مصاحبهکننده مسحور تنوع و رنگارنگی آن خواهد شد.
خاطرهی دوم: چندی پیش با یکی از دوستان توسعهدهنده در مورد محبوبیت زبانهای برنامهنویسی صحبت میکردم. وی بر این باور بود که متخصصین فناوری اطلاعات و برنامهنویسان تا جایی که امکانات و فرصت مجال بدهد باید در شاخههای مختلف سرک کشیده، بیاموزند و یاد بگیرند. این کنجکاوی آخردست روزی به کارشان خواهد آمد و نجاتبخش آنان در حل مشکلات فنی یا در مرتبهی بالاتر یاریرسان آنان در به دست آوردن شغل یا پروژه خواهد بود. حتی تعدد زبانهای برنامهنویسی هم از دید ایشان قابل پذیرش بود، چرا که مدعی بود با تسلط بر دانش و مفاهیم پایه (فرض بفرمایید مانند مفاهیم شیگرایی) به راحتی میتوانیم سینتکس زبانهای دیگر را فراگرفته و با آنها کدنویسی کنیم. موضع من اما چیز دیگری بود. حرف من این بود که با توجه به گستردگی زمینههای کاری در رشتهی ما و همچنین سرعت بالای بهروزرسانی تکنولوژیهای مختلف، تسلط همزمان به چندین ابزار در یک حوزهی مشخص و خاص نیز وجود ندارد چه برسد به شاخههای گوناگون! رویکرد پیشنهادی این بود که پس از سنجش علایق و سلایق با نیمنگاهی به بازار کار و تخصصهای موردنیاز آن، لازم است زمینهای مشخص انتخاب گردد و نهایت تلاش را جهت زبانزد بودن در آن حیطه به ثمر رسانیم. حتی گواه دیگری که در دست داشتم این بود که درست است شاید برای پیداکردن شغل با سختی روبرو شویم اما میزان درآمد کسانی که روی موضوعی بهصورت جدی کار کرده و حرفی برای گفتن داشته باشند نسبت به سایر همکاران قابل توجه است. هرچند برای یافتن علاقه نیز گریزی از مطالعه و کسب اطلاعات در شاخههای گوناگون نیست اما این روند نیز تا مقطع زمانی خاصی امکانپذیر است. فرصت محدود است و تعلل در انتخاب منجر به عقبماندن از خیل عظیم فارغالتحصیلان منتظر ورود به بازار کار خواهد شد و چه بسا بخت و اقبالهای مهمی در زندگی کاری و حرفهای از دست خواهد رفت. پس باید زودتر کاسه چه کنم چه کنم را زمین گذاشت و به قول معروف قدم در راه گذاشت. آری، مخلص کلام اینکه دیدگاه من نکوهش رویکرد “از این شاخه به آن شاخه پریدن” بود. عنایت فرمایید بحث بر سر تجربه است، هیچ کس مدعی وجود راه صواب و ناصواب نیست. طبیعتاً هرکدام از ما نیز غلط یا درست مسیری را پیموده و از نتایج آن درسهایی گرفتهایم.
و اما اصل مطلب. هدف از ذکر دو تجربهی فوق بیان این موضوع است که به گمان من دانشجویان و تازهواردین و چهبسا فعالین صنعت نرمافزار (منظور کسانی است که روزی تصمیم به راهاندازی کسب و کار خویش میگیرند) روزی بر سر یک دوراهی قرار خواهند گرفت: اقیانوس یک میلیمتری یا دریاچهای عمیق؟
من در مقطعی از دههی هشتاد شمسی تحصیل در رشتهی نرمافزار را تجربه کردم که هنوز ضریب نفوذ اینترنت و شبکههای اجتماعی به حد امروزی نرسیده بود. حتی در شهرستانی که زندگی میکردم تا چند سال پس از دانشجویی از نعمت داشتن اینترنت پرسرعت محروم بودم. در کنار همهی مشکلات وجود داشته در این زمینه، ارتباط بین توسعهدهندگان و متخصصین گوناگون محدودتر و اطلاع از تکنولوژیهای روز به حد فعلی نبود. اما امروز شرایط کمی متفاوت است. ابزارها متعددتر و ارتباطات گستردهتر شدهاند. قدرت شبکههای اجتماعی ارتباط بین این افراد را سهولت بخشیده و دامنهی انتخابها را افزایش دادهاند. شاید حتی بتوان از عدم وجود قانون کپیرایت هم به عنوان یک عامل نام برد. به واسطهی فراوانی محصولات نرمافزاری که با چند کلیک میتوان اغلب آنها را در اختیار داشت آدمی در برگزیدن هرکدام از آنها لحظهای دچار تردید و سردرگمی میشود. آگهیهای فریبندهی استخدام و پروژههای گوناگون و جذابیتهای مالی هر دم انسان را به این وسوسه میاندازد که چند روز هم وقت میگذارم و فلان چیز را یاد میگیرم. به راستی چه باید کرد؟ آیا باید صرفاً در یک حوزهی کار جدی بود و میتوان در سایر شاخهها نیز آشنایی لازم را به دست آورد؟ آیا میتوان همزمان اطلاعات و دانش خود را در زمینههای مختلف (بانک اطلاعاتی، برنامهنویسی وب، برنامهنویسی موبایل، هوش مصنوعی، برنامهنویسی دسکتاپ، بازیسازی، گرافیک، تجزیه و تحلیل سیستم و …) که هر کدام بسیاری زیرشاخه و تکنولوژی و حواشی دارند و هر روز در آنها نوآوری و ابداع جدیدی صورت میگیرد بهروز نگاه داشت؟
در پایان با طرح این پرسش نوشته را خاتمه میدهم، آیا شما نیز تجربهای مشابه در این زمینه داشتهاید؟ چگونه با این مسئله مواجه شدهاید؟
ولی خب من تازه کارم و تمام زندگیم رو روی کارم گذاشتم تغریبا روزی ۱۰ ساعت فقط مشغول یادگیری هستم هر روز و دوست دارم در زمینه های مختلف کار کنم مثلا در برنامه نویسی وب front-end در برنامه نویسی موبایل با java و در گرافیک با
Photoshop and illustrator به لینوکس هم علاقه دارم و دوره LPIC1 رو گذروندم به نظر من بستگی به تلاش خود ادم داره چطور پروفسور حسابی به۶ رشته هم زمان مسلط بودند ؟ میتونید مثل دکتر سمیعی فقط در یک رشته عالی باشید یا مثل پروفسور حسابی در چند شاخه ممنون میشم اگه نظرتون رو در مورد نظرم بدید
سلام
از این شاخه به اون شاخه پریدن یکی از رایجترین و بزرگترین مشکلات برنامه نویسان هست که خودم تا حدودی درگیری بودم.
ولی واقعیت این است که شرکت های ایرانی بیشتر به دنبال افراد سطحی اند. چندی پیش با یک سرویس بدون کاغذ بیمه در آلمان وراد مذاکره شدیم، باور بفرمایید تا این حد عمیق بودند که می خواستند سرویسی برای تشخیص میزان خسارت با هوش مصنوعی عرضه کنند. فرهنگکاری کشور ما عمیق نیست و نمی توان انتظار تغییر سری داشت.
friday.de
یک دغدغه مهم و یک قلم شیوا و یک پایانِ باز! ممنون از انتشار این مطلب.
مقاله ی عالی بود . در واقع این مثل ” برکه ای به عمق 1 متر بهتر از اقیانوسی به عمق 100 سانتی متر است . ” بسیار رایج می باشد و شخص برنامه نویس بعد از گذشت مدت زمانی این سوال را از خود خواهد پرسید .خیلی از دوستان بر این باورند که باید هدف اصلی را در راس قرار داد و سایر اهداف را مطابق با هدف اصلی پیش برد . به طور مثال : هدف اصلی شما این است که می خواهید در حوزه ” وب ” به عنوان BackEnd کار وارد شوید ، حالا اهداف دیگری که باید با هدف اصلی همراه سازید آن است که برنامه نویسی PHP ، ASP.net ، Ruby و … را با آن همراه سازید و همچنین باید در زمینه FrontEnd نیز مهارتی داشته باشید. چرا ؟ ، به این دلیل که زمانی که شما در یک تیم برنامه نویسی ورود پیدا می کنید برای اینکه با سایر اعضای تیم به صورت هماهنگ حرکت کنید و مهمتر از آن برروی پروژه پیشنهادات موثر تری ارائه دهید باید دانشی هر چند متوسط در تمامی سطوح ” وب ” داشته باشید ، تا به طور مثال : اگر در بخش FrontEnd خطا (Bug) وجود دارد به راحتی آن را با بخش FrontEnd در میان گزارید . در این صورت است که پروژه در حداقل زمان ممکن به پایان خواهد رسید .
بنده هم با نظر شما موافقم. در ضمن مثلی که ارائه کردید کمی ایراد داره!