کار من به تازگی بعد از چند سال دوباره روبراه شده. این مدت خیلی بد بود، خیلی بد. اما با نگاه به گذشته میتوانم دلایل این اتفاق را کاملاً شفاف ببینم در حالی که در آن زمان این طور نبود. این لیست دلایلم است:
۱. فقط و فقط به پروژه فکر کن
با مسأله روبرو شو. در بازار باید بهترین محصولی را که میتوانی «برای مشتریها» تولید کنی. برای به موقع رساندن محصول، قسمتهای جالب آن را حذف میکنی. برنامهریزی میکنی، تحلیل میکنی و پروژه را به قسمتهای قابل تحویل تقسیم میکنی و شروع میکنی به کدنویسی. بعد ارائهش میدهی، بازخوردش را میبینی و همین روند را تکرار میکنی. و همه اینها بدون این که درباره خودت فکری بکنی.
اما… مگر برنامهنویسی را به این دلیل شروع نکردی که سرگرم کننده بود، چرا به همان دلیل برنامهنویسی را ادامه نمیدهی؟ کمی زمان اضافه در نظر بگیر و یک ویژگی که خودت میخواهی به برنامه اضافه کن. با نوشتن چیزی که فکر میکردی نمیتوانی بنویسی کمی هیجان به خودت بده. کار را به دیگران نشان بده و فقط منتظر بازخورد نمان، و در مورد کارت رجزخوانی کن.
۲. در مورد همه چیز موضع منفی داشته باش
Docker رو دیدی؟ افتضاح است. چه کسی محیط تولید محصولش را به یک اسباببازی جدید ناپایدار میسپارد؟ Go؟ به نظرت من کسی هستم که بخواهم همه کتابخانههایم را از ابتدا بنویسم؟ هر چیزی که بخواهم از قبل در PyPI هست. پروژهای که روی آن کار میکنم بدجوری در روند اداری گیر کرده و عمراً به نتیجه نخواهد رسید. Jenkins؟ میخواهی به تکنولوژی ۲۰۰۸ برگردی؟
افتادن به تله «منتقد شدن» واقعاً آسان است. نشان دادن انتخاب «اشتباه» به دیگران نیز آسان است. فکر میکنم دلیل این موضوع این است که به عنوان مهندس نرم افزار کار ما پیدا کردن و اصلاح خطاهای برنامههایمان است. خب، اگر خودمان آنها را نیابیم، دیگری این کار را خواهد کرد.
اما فکر نمیکنم که منفی بودن در مورد کارمان، تصمیمهایی که گرفته میشوند (حتی اگر تصمیم ما نباشند) و کاری که در حال انجامش هستیم، لزومی داشته باشد. چندتا از بهترین پروژههایی که روی آنها کار کردهام به این دلیل موفق شدند که ما تیم قوی و مثبتی داشتیم. ما هر روز کارمان را ارائه میدادیم و چیزهای فوق العادهای را که انجام داده بودیم به دیگران میگفتیم و انتقادهای سنگین را متوقف کرده و آنها را با عباراتی خلاقانهتر بیان میکردیم.
۳. از ابزاری که بلدی استفاده کن، چون این طوری سریعتری
تو خدای جاوا و اسپرینگ و Hibernate هستی. کسی به گرد مهارتهایت در Python نمیرسد. پس هر پروژهای که میگیری باید با همینها کار کنی. چرا؟ چون نتیجه کار در بازار مهم است، موافقی؟
غلط است.
گرچه به لحاظ بازاری مطلب منطقی به نظر میرسد، اما باید تجربه کنی، بگردی، و در تکنولوژیهای جدید هم خبره شوی، حتی اگر آن تکنولوژی امتحانش را پس نداده باشد. گرچه شبیه نصیحت است (و همیشه تکرار میشود) اما هرچه با تجربهتر میشوی این موضوع سختتر میشود.
۴. کارت را زیاد عوض کن
وگرنه به عنوان نخودی شناخته میشوی. از کارت خسته شدهای؟ حوصلهات سر رفته؟ وقتش است که رزومهات را گردگیری کنی.
این خیلی خیلی بد است.
اگر چندین کار کوتاه مدت داشته باشی، شاید کمی در حقوقت اثر داشته باشد اما در حقیقت داری اینها را از خودت دریغ میکنی:
- رشد کردن در یک شرکت (برنامهنویس -> مدیر -> رییس)
- خبره شدن در یک زمینه خاص. فکر کن، گرفتن دکترا ۴ تا ۶ سال وقت یک دانشجو را میگیرد و این زمانی طولانی برای یادگیری است.
- با استخدام جدید داری دوباره از صفر شروع میکنی.
- اگر برنامهنویس خوبی هستی باید خودت را «اثبات» کنی (تا بقیه حرفت را بشنوند) و در شغلهای جدید باید این کار (اثبات) را تکرار کنی.
خب اینها چطور کارت را تباه میکنند؟ کارت به تدریج دچار رکود میشود، مهارتهایت به طور عمیق توسعه نمییابند (شاید به لحاظ عرضی توسعه پیدا کنند!)، دیگران به این که تو مدتی را یکجا برای کار پابند شوی اعتماد نخواهند داشت، و باید به طور مداوم خودت را به دیگران اثبات کنی.
۵. ساعتهای طولانی کار کن و زندگی را فراموش کن
«مجبور نیستی ساعتهای طولانی کار کنی، اما بعضیها این کار را میکنند.» میخواهی رییست را تحت تأثیر قرار ده،. حتماً میخواهی. پس باید به شدت کار کنی تا به حد غیرممکن برسی. پروژه را با تمام ویژگیهای اضافه سروقت رساندی. تو قهرمانی. بزن قدش. و اگر خوش شانس باشی شاید پاداش هم بگیری.
خب این برای دفعه اول خوب است، اما برای دفعه دوم چطور؟ و دفعه سوم؟ این یک بمب است و تو راه خنثی کردنش را نخواهی دانست.
خلاصه
به طور خلاصه، تباه کردن کار برنامهنویسی آسان است. همین ۵ کار را انجام بده تا تو هم فاتحه کارت را بخوانی. 🙂
منبع: http://blog.braegger.pw/5-ways-to-burn-out-programming/
دیدگاهتان را بنویسید