تفسیر «خوب، بَد، زشت» در صنعت توسعهٔ نرم‌افزار از نگاه من

تفسیر «خوب، بَد، زشت» در صنعت توسعهٔ نرم‌افزار از نگاه من

در ذیل مقاله‌ای تحت عنوان آیا برنامه‌نویسی که «اخلاق‌محور» کُد می‌زند می‌تواند طی ۸ ساعت کار یک زندگی خوب داشته باشد؟ کاربری به عنوان مهمان این کامنت را گذاشته بود:

من قصد دارم که برنامه نویسی رو (البته دو سه سال پیش آموزش دیدم ولی بنا به دلایلی وارد عرصه کاری نشدم!) دوباره شروع کنم ولی اگه راستش رو بخوام بگم با خوندن این مقاله نگران شدم چون از شغل فعلی م که هیچ علاقه ای بهش ندارم و با زور انجامش میدم صرفا برای گذران امورات خودم، خسته شدم واقعا.
حالا نمیدونم باید کاملا ناامید بشم یا دنبال مقاله های دیگه که مثبت نگرانه تر هستن، توی سایت تون بگردم تا نیمه پر لیوان رو هم بهم نشون بده یا اینکه اصلا خود این کار هم خودش به نوعی خودفریبی به حساب میاد و نمیشه اساسا این مقاله تحلیلی رو جدی نگرفت و البته سوالی که در عنوان مقاله مطرح شده بود و چالش برانگیز بود پرسیدنش از خود!

در اکثر دل‌نوشته‌هایم سعی می‌کنم آنچه فکر می‌کنم واقعیت است رو نشون بدم که البته این هم خودش جای بحث داره چون ممکنه چیزی که فکر می‌کنم درست هست هم ٪۱۰۰ اشتباه باشه! که این کار از دید برخی سیاه‌نمایی و دید برخی دیگر واقع‌گرایی تلقی می‌شود. هرچه که باشد، هدف آگاهی‌رسانی است نه اینکه یک فردی همچون کسی که این کامنت رو گذاشته ناامید بشه و از همین روی وظیفه خودم دونستم که این مقاله رو بنویسیم تا بلکه حال ایشون رو خوب‌تر کنم.

برای شروع، از تَه به سر بررسی می‌کنم. به عبارتی، اول زشتی‌های شغل برنامه‌نویسی، سپس بَدی‌های این شغل و در نهایت به خوبی‌های این حرفه‌ خواهم پرداخت اما ...

اما نَه مگر همین الان نبود که قول دادم سیاه‌نمایی نکنم 😉 پس روی همین حساب با احترام گذاشتن به عنوان فیلم The Good, The Bad and The Ugly بحث رو از بخش خوبش شروع می‌کنم.

یک نکته‌ زبانی
یادمون باشه در زبان انگلیسی اگر حرف اضافهٔ The قبل از کلمه‌ای بیاید که حرف اول اون کلمه صدادار باشه، به جای «دِ» به صورت «دی» تلفظ می‌شه. مثلاً The Book رو به صورت «دِ بوک» می‌گیم اما The Orange رو به صورت «دی اُورِنج» تلفظ می‌کنیم و روی همین حساب هم عنوان فیلم به‌یاد‌ماندی فوق رو باید به صورت «دِ گود، دِ بَد اَند دی آگلی» تلفظ کرد (در مورد آموزش زبان در مقالهٔ روش‌های یادگیری و آموزش زبان انگلیسی بیشتر نوشته‌ام.)

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

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

اما در اینجا قصد دارم کمی مادی‌گرایانه به قضیه نگاه کنم و بحث بیشتر رنگ و بوی پول و مادیات بده و بماند مقالهٔ آیا دوست داریم در زمان مرگ پول‌دار از این دنیا برویم یا خوشحال؟ که نوشته‌ام در تضاد با این بحث است 😉

برنامه‌نویسی کاری یکنواخت نیست
یکی از خوبی‌های شغل برنامه‌نویسی این است که هر روز با یک چالش جدید مواجه می‌شویم و همین باعث می‌شود که حس نکنیم داریم کاری یدی انجام می‌دهیم (البته بماند که کار برخی شرکت‌های نرم‌افزاری کاملاً یدی است! بدین صورت که راه به راه سایت‌های شرکتی طراحی می‌کنند که همه چیز حاضر و آماده هست و اصلاً کدنویسی وجود خارجی نداره بلکه فقط بسته به نیاز و برند کسب‌وکار مشتری سی‌ام‌اس خود را کاستومایز می‌کنند.) اما اگر در شرکتی درست و حسابی کار کنیم، پروژه‌هایی که به تعبیری می‌توان برچسب سکسی روی آن‌ها زد به دستمان خواهد رسید با این تفسیر که از کد زدن روی پروژه لذت می‌بریم، از کار کردن روی پروژه خسته نمی‌شویم و هرگز دوست نداریم تمام شود 😂

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

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

دنیا با کمبود برنامه‌نویس مواجه هست
طبق تحقیقی که اگر اشتباه نکنم چند سال پیش کمپانی مایکروسافت انجام داد، در سال 2020 کشور آمریکا با ۱/۴۰۰/۰۰۰ فرصت شغلی مرتبط با حوزهٔ نرم‌افزار مواجه هست که از این تعداد دانشگاه‌ها فقط ۴۰۰/۰۰۰ تای آن را می‌توانند تأمین کنند (تازه در شرایطی که فرض کنیم دانشگاه یک دولوپر «دست به کُد» بیرون بده که کمی دور از ذهن هست.) و یک میلیون فرصت موجود بدون دولوپر باقی می‌ماند 😳

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

بحث جذاب حقوق ماهانه
تعارف نداشته باشیم که حقوق ماهانه در اکثر شرکت‌های نرم‌افزاری به دولوپر جماعت پایین است تا جایی که من مورد سراغ دارم که تفاوت حقوق دولوپر با آبدارچی شرکت ۳۰۰ الی ۴۰۰ هزار تومان در ماه بود و بدتر اینکه آبدارچی از امنیت شغلی بیشتری هم برخوردار بود 😂😂😂

اما این فقط نیمهٔ خالی لیوان هست چرا که در همین ایران خودمان دولوپر داریم که در ماه ۱۴/۰۰۰/۰۰۰ تومان می‌گیرد (این حرف مستند است و پس از حضور در شرکتی برای ضبط پادکست برای رادیو فول‌استک پرس‌وجو کردم و کسی که مسئول بود بهم گفت اما از بردن نام شرکت معذورم.) حال یک سؤال پیش می‌آید و آن هم اینکه «این بابایی که داره ماهی ۱۴ تومن می‌گیره چه فیچرهایی داره؟» که به این پرسش به دو شکل کوتاه و بلند می‌توان پاسخ داد:

پاسخ کوتاه: در حوزهٔ کاری خودش نامبر وان هست.

پاسخ بلند: این پاسخ در واقع تفسیر و بسط دادن همان پاسخ کوتاه است بدین شکل که وقتی مثلاً شما دولوپر جاوا بشید اما فقط سینتکس جاوا رو بلد باشید و بتونید خروجی بگیرید، مسلماً کار گیرتون می‌یاد اما با یک حقوق بخور و نمیر آن هم در شرکتی درپیت چون شرکت‌های درست و درمان هرگز دولوپر جونیور برای کارهای مهم استخدام نمی‌کنند اما اگر علاوه بر سینتکس با مسائل زیر آشنا بشید، خواهید توانست پایهٔ حقوق خود را به رقم به نسبت جذاب ۱۰ تا ۱۴ الی ۱۵ تومن در ماه برسونید که عبارتند از:

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

مجموعه‌ای از کارهای فوق که باید میکروسرویس، داکر، رست‌فول و ... رو هم بهش اضافه کرد باعث می‌شوند که در کار خود No One شوید و آن وقت شرکت است که باید به ساز شما برقصد نه اینکه نگران امنیت شغلی خود باشید.

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

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

اگر خداوند بهم دختر بده و بزرگ بشه و سایه‌ام بالای سرش باشه و روزی براش یک خواستگار پزشک بیاد، احتمال اینکه بهش دختر بدم خیلی کم خواهد بود.

پس از یک سال رفت‌وآمد در بیمارستان به دلیل بیماری عزیزی و حشر و نشر با پزشکان، به این نتیجه رسیدم که بر اساس اصل پارتو چیزی در حدود ٪۸۰ ایشان از انسانیت برخوردار نیستند و جامعه‌ای که در آن Value Attribution وجود دارد باعث شده که ایشان فکر کنند چه خبر هست که برای آشنایی بیشتر با این مقوله توصیه می‌کنم به مقالهٔ Value Attribution چیست و چرا باید در زندگی تا حد ممکن از آن حذر کرد! مراجعه نمایید (البته این تجربهٔ نامطلوب من بوده و امیدوارم که دیگران تجربیات مثبتی داشته باشند البته الان یهو یاد مقاله‌ای افتادم تحت عنوان دریغ از شرافت، دریغ از انسانیت که خوندنش خالی از لطف نیست.)

برسیم به بخش «بَد» و «زشت» برنامه‌نویس شدن
خوب که فکر می‌کنم اینکه اگر به بخش‌های «بَد» و «زشت» برنامه‌نویس شدن اشاره کنم، هرچه رشته کرده‌ام پنبه خواهد شد و احتمالاً اون دوستمون از قبل هم ناامیدتر بشه 😉 پس بیش از این ادامه نمی‌دم ...

ممنون که وقت گذاشتید. جای نظر، انتقاد و پیشنهاد شما در بخش کامنتینگ است.

از بهترین نوشته‌های کاربران سکان آکادمی در سکان پلاس


online-support-icon