ترفند های بهره وری برا توسعه دهندگان نرم افزار

به عنوان یک توسعه دهنده، معمولاً زمان محدودی برای کد نویسی داریم. به عنوان بخشی از فرایند ساخت و معماری نرم افزار، ما باید به جلسات برسیم، با دیگر اعضای تیم در ارتباط باشیم، مستندات را بخوانیم و بنویسیم، به ایمیل ها و پیام ها پاسخ دهیم و در آخر روز ما همچنان نیاز به پیش بردن کد داریم.این موضوع به ما بستگی دارد تا زمان خود را مدیریت کنیم و در بالاترین سطح بهره وری بمانیم. بهره وری فقط یک روش برای استفاده از زمان بطور موثر برای دلایل مختلف است:· چیز های بیشتری را در یک محدوده زمانی کوتاه تر کامل کنیم· پول بیشتری در بیاوریم· زمان بیشتری با دوستان و خانواده بگذرانیم· زمان برای علایق خود داشته باشیم· به موقع کار ها را به پایان برسانیم1. تمرکزصد ها کتاب درباره بهره وری و انجام کار ها در زمان کم وجود دارد، بزرگترین راز این است که: بشین، تمرکز کن و کار را انجام بده. اگر زمان برای تمرکز بر روی کاری که انجام میدهی نداری بسیار سخت خواهد بود که بتوانی کاری را به پایان برسانی. به خصوص نوشتن نرم افزار نیاز به مقدار زیادی تمرکز و دقت دارد. به همین دلیل توسعه دهندگان برای استفاده بیش از حد از هدفون در هنگام کار و ضد اجتماع شدن در محیط کار بدنام شده اند. ولی در واقع در حال تلاش برای به انجام رساندن کار هستیم. :)من پیشنهاد میکنم از روش pomodoro استفاده کنید، من زمانسنج خود را بر روی 25 دقیقه تنظیم میکنم برای کد نوشتن و میتوانم دائما چک کردن فیسبوک و توییتر و ایمیل ها را به تعویق بیندازم، این عادتی است که اکثر ما داریم، 30 دقیقه برای چک کردن شبکه های اجتماعی، اخبار و ... بعد از ناهار و یا شام کنار بگذارید وقتی میخواهید به حداقل بهره وری نزدیک شوید.همزمان چند کار انجام دادن را کنار بگذارید، این روش سودی ندارد. اگر هدف شما بهره ور بودن و تمرکز بر روی کاری که انجام میدهید است، نمیتوانید بین 2 یا چند کار دائما جابجا شوید، شما نمیتوانید کد بنویسید و همزمان با فرد دیگری صحبت کنید، نمیتوانید در هنگام رانندگی پیامک بدهید، شما نمیتوانید در هنگام ورزش به ایمیل های خود پاسخ دهید، بعضی افراد همچنان تمام کار های ذکر شده را انجام میدهند، اما این راه بهره ور بودن نیست.در لحظه حضور داشته باشید. بر روی کاری که انجام میدهید تمرکز داشته باشید، در این صورت شما نه تنها بهره ور تر بلکه سرحال تر نیز خواهید بود. حتی اگر یک جلسه خسته کننده بود، سعی کنید درگیر مسئله شوید و در مکالمه شرکت کنید. این امر نیاز به تغییر تفکر دارد اما ارزشش را دارد. در لحظه بودن و خیال پردازی نکردن تاثیر بزرگی بر روی هر کاری که میکنید دارد، نه فقط شغل.2. توقف ها و استراحتعلاوه بر اینکه تمرکز بر کار مهم است تمرکز بر استراحت هم مهم است. این ترسناک است که تمام روز به کار کردن فکر کنید. به همین دلیل خیلی از افراد به تعویق انداختن و با تلفن مشغول شدن را به عنوان یک استراحت خوب میبینند.مطمئن شوید که به اندازه کافی وقفه در کار خود دارید. روش pomodoro در این زمان نیز هوای شما را دارد. در بخش تمرکز حداقل به 5 تا 10 دقیقه استراحت نیاز دارد، این زمان را برای رفع خستگی، آب خوردن، پاسخ به پیام ها و ارسال ایمیل های مهم استفاده کنید. استراحت های طولانی ( 4 تا 5 روزه ) را چند بار در سال داشته باشید، تعطیلات برای همین دلیل هستند.استراحت در کار به معنی ورزش کردن است. نشستن پشت میز برای بدن و ذهن خوب نیست، رفتن به باشگاه و یوگا کارکردن 3 تا 4 بار در هفته یک الزام است اگر میخواهید سالم بمانید و مغز خود را شارژ کنید. وزنه های سنگین بلند کردن لازم نیست ولی نرمش، دویدن، ورزش های سبک حداقل کاری است که میتوانید انجام دهید.3. برنامه ریزیوقتی که مقدمات پوشش داده شد (تمرکز و استراحت)، میتوانیم درباره سازماندهی کار ها صحبت کنیم. داشتن یک ابزار مناسب برای مدیریت پروژه یک موضوع حیاتی برای بهره وری است، نه فقط برای پروژه های شخصی بلکه برای بهره وری تیم.بعضی افراد یک لیست معمولی انجام کار مانند trello یا wunderlist را ترجیح میدهند، بعضی ترجیح میدهند از کاغذ و قلم و ابزار های پیچیده تر مانند jira و pivotal tracker و یا asanaاستفاده کنند.علاوه بر مدیریت وظایف، مهم است که بر روند سرمایه گذاری کنیم، داشتن یک روند سختگیرانه مانند scrum (agile) باعث نظم درکار های هر شخص و کل گروه میشود. من روند scrum را دوست دارم چون باعث شفاف شدن کل روند برای افراد درگیر با پروژه میشود. حتی با اینکه به نظر میرسد جلسات بیشتری برگزار میشود، همچنین باعث میشود افراد با یکدیگر بیشتر هماهنگ شوند.تنهایی کار کردن خطرناک است، علی رغم اینکه فکر میکنید سریع به جلو میروید و کسی مزاحم شما نیست، تصور کنید با سرعت زیاد در مسیر اشتباه حرکت میکردید یا راه ساده تری برای انجام کار وجود داشته که ممکن بود کسی بتواند به شما کمک کند.اهداف شفافی تعریف کنید و بر اساس آن کار را برنامه ریزی کنید. شما باید یه تصویر ماکلا شفاف از کاری که باید در زمانی مشخص انجام شود داشته باشید. همین الان 10 الی 15 هدف pomodoris در روز برای خود دارم، که بستگی به جلسات روزانه دارد و کار های خاصی برای ضرب الاجل های خاصی نیز باید رسیدگی شوند. پس حدسی کار کردن کاملا از بین میرود وقتی مشغول به کار میشوم. من سعی میکنم برنامه ریزی هفته را در روز جمعه انجام دهم هر چند همیشه کارساز نیست ولی خوب است.4. سرمایه گذاری رو روی سخت افزارگران ترین سخت افزاری که میتوانید از پس آن بر بیایید را بخرید، نه یک سیستم گیمینگ تخیلی بلکه چیزی که بتواند شما را به بیشترین حد بهره وری برساند. اگر وقت خود را برای جابجا شدن بین محیط کد نویسی و مرورگر هدر میدهید یا تمام زمانی که منتظرید تا کد شما کامپایل شود، در حال از دست دادن پول هستید، برای مثال: من دوست دارم یک آی مک 27 اینچ با 24 گیگابایت رم و حافظه SSD یا اخرین نسخه مک بوک با یک مانیتور 34 اینچ داشته باشم، این سیستم در عرض چند ماه یا چند هفته پول خود را در می آورد.در نرم افزار هایی که استفاده میکنید هم سرمایه گذاری کنید نه فقط سخت افزار، ابزار خوب را دست کم نگیرید، مانند ویرایش گر های متنی مثل web storm و sublime text یا هزینه کردن برای گیتهاب یا ارائه دهنده های هاست مانند Heroku چون باعث هدر نرفتن زمان شما هنگام ارائه کار خواهد شد، داشتن بهترین تجهیزات به شما زمان و فرصت تمرکز کردن بر روی چیزی که در آن بهترین هستید را میدهد تا بتوانید بیشتر بهره ور باشید.5. آشنایی با ابزارداشتن بهترین ابزار های موجود کافی نیست، باید بدانید چطور از آنها بهترین استفاده را کنید، برای مثال کاملا بدانید محیط کد نویسی شما چطور کار میکند وقتی آنرا بفهمید ( در آن استاد بشوید )، وقت بگذارید و تمام میانبر ها، دستورات مخفی و غیره، نصب پلاگین ها، هایلایت کننده کد ها و ابزار های اضافی برای فریم ورک هایی که بیشتر با آنها کار میکنید.برای مثال، من JSX ، React و پلاگین های ES6 را بر روی ویرابشگر اتم خود نصب کرده ام، فونت و سایز متن و رنگ ها را تغییر دهید تا واقعا به چیزی که میخواهید برسید. زمانی که استاد محیط کد نویسی خود شوید، زمان کمتری برای جابحا شدن بین تب ها و پیدا کردن ابزاری که قبلا دیده بودید یا کاری که قبلا بطور دستی انجام میدادی اما IDEشما میتواند آنرا در کمتر از یک ثانیه انجام دهد صرف خواهید کرد. تمام این کار ها برای چیز های دیگر مانند سیستم عامل، میانبر های ترمینال، ابزار های تست و دستورات پیاده سازی صدق میکند، هر چقد اینها را بیشتر به خاطر بسپارید مان بیشتری برای کار خواهید داشت.6. فریم ورک خود را بشناسید ( در یک فریم ورک حرفه ای شوید )زبان های برنامه نویسی زیادی وجو دارد و حتی بیشتر از آن کتابخانه ها و فریم ورک های مختلف وجو دارد. این خوبه که بیشتر از یک یا دو فریم ورک بلد باشید اما سخت است که در بیشتر آنها حرفه ای شوید و همزمان با دگرگونی آنها خود را با آنها وفق دهید، به همین دلیل باید در یک حیطه متخصص شوید.بله، ممکن است یک توسعه دهنده فول استک باشید، راه خود را در java و node.js و ruby on railsبلد باشید اما در react.js مهارت داشته باشید. اما در این فریم ورک حرفه ای شوید و در هر پروژه ای از آن استفاده کنید بسیار بهره وری بیشتری خواهید داشت از کسی که دائما بین بین angular و ember جابجا میشود و در آخر به سراغ ruby میرود.این امر بخصوص در زمان ساخت پیش نمایش ها خود را نشان میدهد. به خوبی آشنا بودن در یک فریمورک به شما اجازه میدهد تا بدون صرف زمان نر افزار جدیدی بسازید، اخیرا من در تلاش هستم تا در react.js + firebase برای ساختن پیش نمایش و در react + GraphQLبرای محصول نهایی حرفه ای شوم. همانطور که میبینید تمام این ها جاوا اسکریپت هستند، من سعی نمیکنم که در یک چیز کاملا متفاوت مثل rails حرفه ای شوم. حتی اگر قادر به ساختن نرم افزار با این فریمورک باشم.7. از کاری که انجام میدهید لذت ببریدشما تنها زمانی بهره ور خواهید بود که از کاری که انجام میدهید لذت ببرید. حتما یک عامل لذت بخش به کار خود اضافه کنید. برای هر نفر میتواند متفاوت باشد، برای برخی میتواند چالش موجود در پروژه های مختلف باشد، برای بقیه میتواند دیدن استفاده شدن نرم افزار توسط مشتری ها و گرفتن بازخورد باشد و برای برخی دیگر میتواند پول یا ارتقاء شغلی باشد.مورد دیگری که به من در بهره ور بودن در هر پروژه ای کمک میکند دانستن ارزش و نتیجه کار است. اختصاص دادن زمان قبل و حین توسعه پروژه و یادگیری اینکه هدف نهایی چیست و آیا ارزش تلاش دارد. درک عمیق هدف به شما یک حس مالکیت و هیجان زدگی همزمان را میدهد، و شما میخواهید هر چه سریع تر پروژه را به پایان برسانید و موفقیت آنرا ببینید.نتیجهبهره وری یک موضوع خسته کننده است. کلی نصیحت درباره بالا بردن بهره وری وجود دارد، همه دوست دارند بهره ور باشند و بیشترین کار های ممکن را به عنوان یک انسان به پایان برسانند، بعد از خواندن کلی کتاب، بلاگ و آزمایش کردن با زمان خودم به یک نتیجه ساده درباره راز موفقیت رسیدم، راز این است که هیچ رازی وجود ندارد، تنها کاری که باید انجام دهید، انجام دادن خود پروژه است.از نظر من، من یک توسعه دهنده موفق هستم، در 2 3 سال گذشته، چندین پروژه پیچیده را در زمان محدود به پایان رسانده ام، و در اینجا روش هایی که برای من کار ساز بود را ذکر کردم.داشتن یک مکان و زمان اختصاصی، جایی که بتوانید بر روز چیز ها بدون خواس پرتی تمرکز کنید، تنها چیزیست که برای رسیدن به هدف نیاز دارید، هدف هر چه میخواهد باشد. اگر روند پیشرفت را دنبال کنید میتوانید آنرا بهبود ببخشید.منابعhttps://medium.com/ecmastack/hacking-productivity-for-software-developers-e19860f582b