درست است که هر کسی میتواند کدنویسی را بیاموزد اما این هرگز بدان معنا نیست همه میتوانند توسعهدهندهٔ نرمافزار شوند زیرا برای اینکه کسی بتواند از طریق کدنویسی شغلی برای خود دست و پا کند و به موفقیت برسد، باید از یکسری خصوصیات شخصیتی برخوردار باشد. در حقیقت، این امکان وجود دارد که دولوپر بسیار بااستعدادی باشید اما وقتی از دید بیزینسی به فرایند کاری شما نگاه میکنیم، خیلی مناسب این شغل به نظر نمیرسید! شاید به نظرتان عجیب بیاید که چهطور میشود در یک چیز مهارت داشت اما نتوان از لحاظ کاری در همان چیز موفق و راضی بود که باید گفت چنین چیزی واقعیت دارد و در ادامهٔ این پست قصد داریم تا شما را با علائمی که نشان میدهند برای این کار ساخته نشدهاید، آشنا سازیم.
خلاقیت ندارید
با اینکه برنامهنویسی به شدت بر پایهٔ منطق است اما در نهایت یک هنر خلاقانه تلقی میشود به طوری که میتوان گفت یک اپلیکیشن جدید همچون بومی خالی است و زبانها، فریمورکها، لایبرریها و غیره به منزلهٔ قلمو و رنگهای مورد استفادهٔ دولوپر هستند به طوری که میتوان گفت در حین برنامهنویسی، دولوپرها از هیچ چیزی جدیدی خلق میکنند و این دقیقاً فرایندی است که باید بدون هیچگونه ترس و واهمهای در آن به آزمون و خطا پرداخته و چیزهای مختلفی را تجربه کرد.
اگر کنجکاوی ذاتی نداشته باشید، دید تونلی پیدا میکنید به طوری که میتوان گفت دید محیطی و همهجانبه را از دست میدهید و فقط دید مرکزی پیدا میکنید و نمیتوانید مباحث جانبی یک چیز را به خوبی ببینید و همین میشود که همیشه فقط از یک زاویه با مشکلات کدنویسیتان برخورد میکنید و بدین ترتیب کدنویسی برایتان تبدیل به عادت شده و ماشینوار آن را انجام میدهید و در نتیجه وقتی هیچ ذوق و شوقی برای انجام کاری خاص نداشته باشید، نمیتوانید از آن لذت ببرید و در نهایت هم بعید به نظر میرسد که در آن حوزه به موفقیت چندانی دست یابید.
خودانگیخته نیستید
تمام برنامهنویسان خوب باید انگیزهٔ درونی داشته باشند و در این قضیه اصلاً بحثی نیست زیرا وقتی جزئیات فرعی را کنار بگذاریم، خواهیم دید که برنامهنویسی اساساً یک کار تکراری است و اگر از درون هیچ احساس و هیچگونه بلندپروازی نسبت به نرمافزاری که توسعه میدهید نداشته باشید، مطمئناً در آیندهای نزدیک به پوچی خواهید رسید!
این موضوع در مورد هر کاری که نیاز به خلاقیت داشته باشد صادق است. به عبارتی، انگیزهٔ شما برای نوشتن کد باید از درونتان سرچشمه بگیرد و باید همانطور که به محصول نهایی عشق میورزید، عاشق پروسهٔ کدنویسی هم باشید چرا که اگر از این پروسه لذت نبرید و از جان و دل برایش مایه نگذارید، هیچ وقت به محصول نهایی مورد نظرتان دست پیدا نخواهید کرد. در حقیقت، چنانچه صبح که از خواب بیدار میشوید، اشتیاق رفتن به سر کار و کد زدن روی پروژهای را ندارید و یا اگر مدتی از سیستم خود دور بمانید و اصلاً دلتان برایش تنگ نشود، احتمالاً برنامهنویسی حرفهٔ مناسبی برای شما نیست.
علاقهای به درست کردن چیزهای خراب ندارید
به جز خلاقانه بودن، بخشی از پروسهٔ توسعهٔ نرمافزار شامل اصلاح کردن یک اپلیکیشن هم میشود و قضیه همواره خلق کردن و ایجاد کردن یک چیز جدید نیست. با اینکه کارهای خلاقانهٔ دیگر هم شامل پروسهٔ اصلاح میشوند (مثلاً نویسندگان باید پیشنویس خود را دوباره دوره و بررسی کنند)، برنامهنویسی از این حیث منحصربهفرد است چرا که اکثر مشکلات و مسائلی که پیش میآیند، مبتنی بر منطق هستند به طوری که میتوان گفت پروسهٔ اصلاح که تحت عنوان دیباگینگ شناخته میشود، قلب برنامهنویسی است.
آیا معما و پازل برای شما جذاب هستند و آیا ذاتاً تمایل به درست کردن چیزهایی که خراب شدهاند دارید و در افقی گستردهتر، آیا ذاتاً کنجکاو هستید که بفهمید داخل چیزهایی که کار میکنند چه میگذرد؟ اگر برای برنامهنویس شدن به دنیا آمده باشید، پاسختان به اینگونه سؤالات آری خواهد بود.
اساساًً میتوان گفت بخش زیادی از حس خوبی که برنامهنویسی القا میکند مربوط به اصلاح باگها است و هرچه باگی پیچیدهتر باشد، وقتی آن را برطرف میکنید احساس بهتری خواهید داشت و بیشتر ذوقزده میشوید اما چنانچه چنین چیزهایی موجب رضایت شما نمیشوند، پس برنامهنویسی همیشه شغلی خستهکننده و کسالتبار برایتان خواهد بود.
نمیتوانید طولانی مدت روی کاری تمرکز کنید
طبیعت برنامهنویسی اینطور است که اکثر اوقات لازم است زمانهای طولانی پشت کامپیوتر بنشینید و در واقع اگر قرار است شغلتان برنامهنویسی باشد، باید بدانید که بی برو برگرد لازم است که ساعتها به مانتیور زُل بزنید (در مورد این #سبک زندگی که موجب میشود مدتها بیحرکت پشت کامپیوتر بنشینید نگرانیها و مسائلی هم وجود دارد که اگر برای طولانی مدت به آنها بیتوجهی کنید ممکن است به مشکلات جسمانی جدی مبتلا شوید.)
با همهٔ اینها، پرسش اینجا است با اینکه اکثر وقتتان را در روز پشت میز کامپیوتر بنشینید راحت هستید و مشکلی ندارید؟ در واقع، راحت بودن شاید اصل مطلب را ادا نکند چرا که باید این کار را دوست داشته باشید و خودتان ترجیح بدهید که پشت میز کامپیوتر بنشینید تا اینکه جای دیگری بوده و کار دیگری بکنید که نیاز به فعالیت فیزیکی بیشتری دارد. اگر با این سبک زندگی راحت نیستید، پس احتمالاً بهرهوری و رضایت شغلیتان به مرور زمان رو به زوال خواهد رفت.
خواستار ساعت کاری نُرمال هستید
در حرفهٔ برنامهنویسی دو حالت کلی وجود دارد بدین صورت که یا برای خودتان کار میکنید یا برای فردی دیگری اما هر کدام که باشد، مسائلی همچون شببیداریهای طولانی و کدنویسی بیوقفه در بازههای زمانی بلندمدت و همچنین کاهش کیفیت زندگی اجتماعی یک مسئلهٔ اجتنابناپذیر است.
توسعهٔ نرمافزار صنعتی است که مبتنی بر ضربالعجل (دِدلاین) و مدت زمانهای مقرر و مشخص است و وقتی چیزی زمان مقرری داشته باشد، فرمول ساعتهای کاری معمول ۹ صبح تا ۵ بعدازظهر هرگز جواب نمیدهد و جالب است بدانید که هرچه این ضربالعجلها نزیکتر شوند، معمولاً تیمهای برنامهنویسی مجبور میشوند ساعتهای طولانیتری کار کنند و شبها بیشتر بیدار بمانند (حتی اگر برای خودتان هم کار میکنید، باید برای اینکه یک سر و گردن از بقیهٔ رقبا جلوتر باشید کمی بیشتر از وقتهای مختص به خودتان و خانواده را صرف کدنویسی کنید.)
انتظار دارید که سریع پولدار شوید
یک زمانی بود که برنامهنویسی حرفهای جدیدی به شمار میآمد و تعداد دولوپرهای حرفهای هم خیلی کم بود و مسائلی از این دست منجر به این شده بودند که این صنعت خیلی سودآور و پردرآمد باشد اما امروزه برنامهنویسانی که خیلی یک دفعه پولدار میشوند استثناء هستند. اگر انگیزهٔ اصلی و اولیهٔ شما برای بودن در صنعت توسعهٔ نرمافزار این است که در مدت زمانی کوتاه به سرمایهٔ زیادی برسید، باید بدانید که انتهای این تفکر به ناامیدی و سرخوردگی ختم میشود.
در واقع، موفقیت برخی دولوپرها همچون استیو وازنیاک (همبنیانگذار اپل)، مارک زاکربرگ (بنیانگذار فیسبوک)، بیل گیتس (همبنیانگذار مایکروسافت) و غیره باعث میشود که انتظاراتی غلط و اعتماد به نفسی بیپایه در ما به وجود بیاید مبنی بر اینکه راز پولدار شدن کدنویسی است. در پاسخ به این سؤال که آیا میتوانید به عنوان یک برنامهنویس به درآمد زیادی برسید، باید گفت که البته اما این جادهٔ پُر پیچ و خمی خواهد بود بدین صورت که از یک جایی به بعد شاید به جای تمرکز روی کدنویسی نیاز باشد وارد فاز استارتاپی شوید.
سخن پایانی
فرض کنیم پس از بررسی همهٔ جوانب کار به این نتیجه رسیدید که حرفهٔ برنامهنویسی به درد شما نمیخورد اما باز هم میخواهید از مهارتهای مرتبط با برنامهنویسیتان و دانشی که در طی سالها به دست آوردهاید استفاده کنید که در چنین شرایطی برخی از مهمترین گزینههای پیش روی شما عبارتند از:
- دست به قلم شدن: تجربهٔ فنی برنامهنویسی میتواند شما را به گزینهای عالی برای نوشتن متون فنی مانند راهنماها، مستندات، وبلاگنویسی یا حتی آموزش آنچه بلد هستید به دیگران بکند.
- آنالیز و تجزیه تحلیل: بسته به تخصصتان، میتوانید از دانش خود به عنوان یک مشاور در زمینهٔ سیستمهای امنیتی، پلتفرمهای وب، بازیها و غیره استفاده کنید. آزمایش تضمین کیفیت هم یکی دیگر از زمینههایی است که متخصصین تحلیلی و آنالیزی خیلی به کار میآیند.
- مدیریت: اگر نمیخواهید به طور مستقیم این کسبوکار را ادامه دهید اما باز هم تمایل دارید به طریقی به صنعت نرمافزار متصل باشید، چرا تیم دولوپرهای خودتان را مدیریت نکنید؟ مدیرانی که خودشان علم برنامهنویسی داشته باشند کمیاب هستند.
در حقیقت، باید بدانید که اگر تشخیص دادید دیگر نمیخواهید یک برنامهنویس باشید، مهارتهایتان به طُرق مختلف قابل انتقال به دیگران بوده و وقتتان را در تمام این مدت حرام نکردهاید که برای کسب اطلاعات بیشتر در این باره، میتوانید به مقالهٔ چگونه فراگیری برنامهنویسی شما را برای سایر مشاغل فنی آماده میسازد؟ مراجعه نمایید.
به نظر شما چه چیزهای دیگری نشاندهندهٔ این هستند که یک نفر مناسب شغل برنامهنویسی نیست و همچنین گزینههای پیش روی کسانی که دیگر نمیخواهند در این حرفه به فعالیت ادامه دهند کدامند؟ نظرات، دیدگاهها و تجربیات خود را با دیگر کاربران سکان آکادمی به اشتراک بگذارید.