تمرکز و کار عمیق – سلاح مخفی شما برای تبدیل شدن به یک توسعهدهندهٔ ۱۰×
فهرست مطالب
- ۱ یا چگونه به یکی از اون برنامهنویسهای گرون که شرکتها عاشق استخدامشونن، تبدیل بشیم.
- ۱.۱ قدم اول — حذف حواسپرتیها
- ۱.۲ قدم دوم — تکنیک پومودورو (سلاح مخفی)
یا چگونه به یکی از اون برنامهنویسهای گرون که شرکتها عاشق استخدامشونن، تبدیل بشیم.
مهم نیست اگه با خیلی سرتون شلوغه یا یک برنامهنویس کمتجربهاید که دنبال پیشرفته.
مهم نیست اگه شما یک برنامهنویس ارشد هستید که به دنبال سرعت بیشتره، چه تو یک شرکت فوقالعاده بزرگ و چه تو یک استارتآپ کوچیک. حتی مهم نیست اگه شما یک فارغالتحصیل هستید که هنوز کار پیدا نکردید. تو هر وضعی که هستید، این پست کمکتون میکنه.
مقدمه مترجم: در فرنگ، اخیرا کلمه توسعهدهنده ۱۰× یا «10X developer» باب شده که در صورت تمایل، میتوانید اینجا بیشتر در مورد آن بخوانید. در ابتدا قصد داشتم این کلمه را با معادلی مثل «توسعهدهنده سطح ۱۰» یا «توسعه دهنده ۱۰برابری» و یا حتی «توسعه دهنده ضربدر ۱۰» جایگزین کنم اما حس کردم معنی این کلمه به صورت صحیح، منتقل نمیشود. بنابراین از «توسعه دهنده ۱۰×» استفاده کردم تا جایگزین بهتری پیشنهاد دهید.
تا زمانی که شما برنامهنویس هستید، هیچ مهارتی برای شما مهمتر از تمرکز و کار عمیق نیست.
تعریف کار عمیق: توانایی عمیق کار کردن دائما کمیابتر میشود و همزمان ارزش آن در اقتصاد هم بیشتر میشود… تعداد کمی که این توانایی را پرورش میدهند و بعد از آن در قلب کارشان استفاده میکنند، موفق خواهند شد.
از کتاب کار عمیق نوشته Cal Newport – صفحه چهاردم
میخوام با چندتا نکته از کار عمیق، شما توسعهدهندهها رو با اندیشههام در مورد موفقیت آشنا کنم. بهشدت بهتون پیشنهاد میکنم اگه در زمینه فناوری فعالیت میکنید (صرفنظر از سمت شغلیتون) این مقاله رو مطالعه کنید.
از «ترس از کد» تا «یک توسعهدهنده ارشد»
من یک برنامهنویس خودآموز هستم هرچند که تا اواخر دهه سوم زندگیم شروع به برنامهنویسی نکرده بودم. راستش من همیشه خودم رو یک آدم هنرمند میدیدم و خودم رو در یک رشته خلاقانه تصور میکردم.
و همینطور هم شد. بعد از دانشگاه، من یک شرکت رو پایهگذاری کردم که کارهای گرافیکی و طراحی وب برای کسبوکارهای کوچکِ محلی میکرد. من به فتوشاپ تسلط داشتم و به اندازهای که نیاز بود، HTML و CSS میدونستم اما هرچیز پیچیدهتری مثل یک خط کد PHP منو مجبور به برونسپاری میکرد.
من برای مدت زیادی هیچچیزی از کد نمیفهمیدم و اون رو به آدمایی که مدرک علوم کامپیوتر داشتند، واگذار میکردم.
«یک ضربه اشتباه به کیبرد همانا و به فنا رفتن کسبوکار مشتری همانا.» این چیزی بود که تمام مدت تو فکرم بود. حقیقتا من خیلی هم ازش دور نبودم. هر لحظه ممکن بود این بلا سرمون بیاد. (زمانی که هیچ نرمافزار کنترل نسخهای [Version Control] نبود و با FTP هم راه برگشتی نبود.)
و اما الان، من یک برنامهنویس ارشد برای یکی از پنجاه شرکت ثروتمند دنیام و روی محصولی کار میکنم که هر ماه میلیونها کاربر رو سرگرم میکنه.
چطوری در کمتر از چند سال به اینجا رسیدم؟
«راز» من تقویت تمرکز و کار عمیقه. همین. هیچچیز خاصی دیگهای نیست! من زمانم رو صرف آموزش خودم در زمینه تمرکز بر روی یک چیز بدون حواسپرتی کردم.
کد هنر است.
برنامهنویسی یک ماجراجویی بهشدت خلاقانه است.
هرچند که ممکنه یه کار فنی، خشک و بیعاطفه برای افراد معمولی بنظر برسه اما شما یک خالقید! شما همهچیز رو از هیچی میسازید. اون «هیچی» میتونه ایدهٔ یک برنامه یا درخواست یه ویژگی [feature] جدید از سمت مدیر محصول باشه.
اون چیزا هنوز وجود ندارند اما شما اونهارو خلق میکنید. نه با کلمات و حرف زدن، بلکه با کد.
اگر تمایل به کار در سطوح ممتاز دارید، باید بیشتر تلاش و تمرین کنید.
کمیت و کیفیت خروجی کار شما زمانی بیشتر میشه که شما بتونید برای مدت بیشتری تمرکز کنید.
هنر، نوشتن و موسیقی، همه نیازمند زمانی بیوقفه و طولانی هستند تا میلینها تو سیناپسهای بین سلولهای مغزتون ضخیم بشن. برنامهنویسی از این قاعده مثتثنی نیست.
شما با زمان و تمرین بهتر میشید. البته که میتونید در زمانهای کمتری هم بهتر شید اگه تمرینهاتون رو بهینهتر و مفیدتر کنید.
بله، شما میتونید یک توسعهدهنده ۱۰× باشید (هرچند که ۵×، ۲× و حتی ۱× هم خوبه)
اجازه بدید با گفتن این جمله شروع کنم که من از کلماتی مثل «rockstar» یا «نینجا» و یا «توسعهدهنده ۱۰×» بدم میام. همه توسعهدهندهها بدشون میاد، اما شرکتها و استخدامکنندگان [recruiters] عاشق استفاده از این کلماتند.
با این وجود، کلی حقیقت پشت ایدهٔ «توسعهدهنده ۱۰×» وجود داره.
این معنیش این نیست که یک شخص میتونه جایگزین ۱۰ نفر بشه. این یعنی بعضی از توسعهدهندهها کار بیشتری با کیفیت بالاتر و در زمان کمتری انجام میدهند. اونها همواره اینکارو در بلند مدت انجام میدهند بدون اینکه کار سختتری نسبت به هرکس دیگهای بکنند.
این توانایی یک هدیه خدادادی نیست. شما با این توانایی متولد نمیشوید و هیچ تنظیماتی نیست که شما بتونید از اونجا «روشنش کنید». این یک تواناییه که شما میتوانید و باید، تمرین کنید و فرا بگیرید.
من دهها بار سمت استخدامکنندگان بودم و به شما میگم که هر شرکتی عاشق استخدام یکی تیم از توسعهدهندگان ۱۰×ـه. اما این تمامِ حقیقت نیست.
این روزا تعداد آگهیهای جذب توسعهدهنده از تعداد توسعهدهندههای واجد شرایط این آگهیها بیشتره. کسبوکارها از پر شدن این موقعیتهای شغلی با توسعهدهندههای ناوارد مشکل دارند. بیاید بیخیال این توسعهدهندهای چند× بشیم.
مدیران ارشد معتقند کمبود افراد با استعدادِ توسعهدهنده بودن، یکی از بزرگترین تهدیدهای بالقوه برای رشد آنهاست.
گزارش The Developer Coefficient
پیدا کردن یک فرد با استعداد و مستعد سخته!
خیلی از شرکتها به سختی دنبال یک توسعهدهنده ۱۰× میگردند اما حتی استخدام توسعهدهندههای ۵×، ۲× و حتی ۱× هم خوشحالشان میکند.
یک توسعهدهنده ۱× (بله، اینو خودم ساختم!) یک توسعهدهندهای است که توانایی انجام کاری که برایش استخدام شده را دارد. نه بیشتر و نه کمتر. جدی میگم. هر شرکتی با این خوشحال میشه. به وفور در مورد هزینههای نجومی یک استخدام بد نوشته شده.
دو مرحلهٔ مورد نیاز تا چندبرابر کردن توانایی برنامهنویسی با تمرکز و کار عمیق
وقتش رسیده که در حرفهٔ خودتون پیشرفت کنید.
فرصتهای خیلی زیادی منتظر استخدام شما هستند که به شما کمک کنند که در شغلی که دوست دارید شکوفا شوید.
اگه شما تو فاز کارآفرینی هستید، همین مراحل را اعمال کنید. شاید چون معیشت شما هم وابسته به بهینهبودن وقتتونه.
این همون چیزیه که شمارو از یک توسعهدهنده کمتجربه به یک توسعهدهنده باتجربه تبدیل میکنه.
این همون چیزیه که شمارو از توسعهدهنده ۰.۵× تبدیل به توسعهدهنده ۵× میکنه.
این همون چیزیه که که پروژههای جانبی خودتون رو کنار میگذارید تا تمامِ ده ساعت وقت ممکن در هفته رو بهش اختصاص بدید.
خب، فقط اینجوری میتونید تو بازی بمونید:
برای ارزشمندماندن در اقتصاد باید استاد یادگیری سریع چیزهای سخت شوید. وظایف [tasks] نیاز به کار عمیق دارند. اگر شما این توانایی را پرورش ندهید، احتمالاً از پیشرفت تکنولوژی جا میمانید.
از کتاب کار عمیق – صفحه سیزدهم
یادگیری تمرکز سخت است!
اولین چیزی که باید بدانید این است که یادگیری چگونه تمرکز کردن آسان نیست. قرار نیست از ابتدای مسیر، رمانهایی از کد با کیفیت تولید کنید. مخصوصاً اگر تا حالا با «چگونه به آسانی حواستان پرت میشود» سر و کله نزدهاید.
یادگیری تمرکز مستلزم تمرین است و هر چیزی که نیازمند تمرین باشد، سخت. اگر اینجوری نبود همه در آن خوب بودند.
باید باهاش مبارزه کنید ولی خوب است. بهتره کوچیک شروع کنید.
شلوغی را با بهرهوری اشتباه نگیرید
کار عمیق به این معنی نیست که خودتان را در یک اتاق تاریک در حالی که بیهدف کدهارا به مدت ۱۴ ساعت بالا پایین میکنید، حبس کنید. چون فقط کاری میکنید به این معنی نیست که آن کار میارزد!
شما باید متوجه شوید که چه چیزی مهم است و چه چیزی نیست. این فراتر از محدوده این پست است. اگه قراره که زمان خود را صرف یادگیری تمرکز کنید، پس این را روی چیزی تمرین کنید که ارزش تلاشتان را داشته باشید.
این مثل خورشید و ذرهبین است.
انرژی شما هنگام حواسپرتی در کار مثل تابش خورشید است که به هر سمتی میرود. شما میتوانید زیر نور خورشید بایستید در حالی که هیچ صدمهای نمیبینید.
یادگرفتن تمرکز مثل تجمیع کردن انرژی خورشید با ذرهبین در یک نقطه است و توانایی تخریب آن از ۰ به ۱۰ میرسد. ما میخواهیم آن انرژی محدود را باری چیزهای مهمتر نگه داریم. (خورشید سرانجام غروب میکند)
قدم اول — حذف حواسپرتیها
چندوظیفگی [multitasking] یک دروغه. اگر فکر میکنید میتوانید کد باکیفیت بنویسید در حالی که پیامهای اسلک یا تلگرام را چک میکنید یا در یک پنجره دیگر خبر میخوانید، دارید خودتان را گول میزنید.
ما در یک دنیای پر از حواسپرتی زندگی میکنیم. فناوری که ما بر روی آن کار میکنیم، یک شمشیر دولبه است. هیچ چیزی مثل آن شیرین نیست؛ شیرینیِ ترشح دوپامین ناشی از یک نوتیفیکیشن جدید.
«ایول، یکی لازانیا پختن منو لایک کرد!» اما این یک سم برای توانایی تمرکز شماست.
حذف حواسپرتیها بنیان تمرکز و کار عمیق است.
- تلفن خود را سایلنت کنید یا حتی خاموشش کنید اگر قرار نیست که on-call باشید. برنامه Forest app به من کمک میکنه تا استفاده از گوشی رو محدود کنم. به پشت گذاشتن در جایی دور از دسترس هم میتونه کمک کنه.
- اسلک رو ببندید. این کار بزرگی برای منه چون من OCD خوندن تمام پیامهای نخونده رو دارم. بیشتر این پیامها noise هستند پس حداقل برای من بهتر بود که هنگام کار اسلک رو ببندم.
- بقیه برنامهها رو هم ببندید چون اونا هم حواس شمارو با نوتیفیکیشن پرت میکنند مثل Outlook یا تلگرام.
- این سختترینه – همه پنجرههای مرورگر که مرتبط به کار نیستند را ببنید. حالا همه وبسایتهای محبوبتون رو بلاک کنید. من عاشق HeyFocus app (۲۰$) هستم اما افزونههای زیادی هستند که اینکار رو رایگان براتون بکنند.
- هدفون بزارید. این کار افراد رو از صدا زدن شما دور نگه میداره (امیدوارم)، اما گوش دادن به یک آلبوم بارها و بارها یک ابزار عالی برای تمرکزه. اینکار ممکنه در آغاز (فرستادن سیگنال به مغز که وقت شروعه) یا در مسیر (موسیقی حال شمارو بهتر میکنه) بهتون کمک کنه. به هر حال، بسیاری از توسعهدهندهها به استفاده از این تکنیک قسم خوردهاند.
سخن مترجم: من به این پلیلیست در اسپاتیفای گوش میدم و خوبه.
قدم دوم — تکنیک پومودورو (سلاح مخفی)
قبل از حمله عصبی ناشی از فکر به ۸ ساعت کار در روز بدون حواسپرتی، باید بگم که نگران نباشید. ما قراره که از تکنیک پومودورو استفاده کنیم تا روز رو بشکنیم.
البته که تکنیکهای خیلی زیادی برای بهرهوری هست اما من پومودورو رو میپسندم. اینجا در موردش براتون توضیح میدم تا شما هم بتونید ازش استفاده کنید.
اگر هم میخواید که بصورت تئوری در موردش بخونید، کتاب تکنیک پومودورو هست که جزئیات و قوانین بیشتری بهتون میده.
برای ۲۵ دقیقه کار کنید (یک پومودورو)
برای ۲۵ دقیقه بدون هیچ حواسپرتی روی یک چیز کار کنید. به این تیکه از کار یک «پومودورو» محسوب میشه.
از یک زمانسنج استفاده کنید. من قبلا از یک ساعت شنی قدیمی استفاده میکردم. اگر یک طرفدار واقعی پومودورو هستید پس از یک زمانسنج گوجهای استفاده کنید!
بعد ۵ دقیقه استراحت کنید
لازمه که در زمان استراحت از کار دور بشید. یک لیوان آب بنوشید. هکرنیوز بخونید. دستشویی برید. هر کاری که میکنید، کارتون نباشه. از کارتون کاملا دور بشید.
فقط یک کار در هر پومودورو
این میتونه مثل تصحیح یک باگ، برنامهریزی برای ویژگی [feature] جدید یا حتی شروع یک فیلم آموزشی دیگر برای آموزش یک چهارچوب [framework] جدید باشد.
اگر وظیفه [task] خیلی بزرگه (مثل «ساختن یک برنامه») پس بهتره که اون رو به تیکههای کوچیکتری بشکنید که هرکدوم تقریبا ۲۵ دقیقه طول بکشند.
بعضی از وظایف نیاز به چند پومودورو برای تکمیل شدن دارند. ممکنه ۳ پومودورو برای ایجاد یک ویژگی جدید و ۲ پومودورو برای نوشتن تستهاش طول بکشه.
یا حتی ممکنه چند تا وظیفه کوچیک و مشابه رو در یک پومودورو انجام بدید. (مثل پاسخ دادن به ۵ تیکت در جیرا)
نکته مهم اینه که وظیفه یا وظایف فقط از یک «نوع» باشند.
همچنین تو پرانتز اشاره کنم که دلیل اصلی به تعویق انداختن کارها، غرق شدن در حجم زیاد و غیر قابل انجامی از وظایفه. اگر هدف شما نوشتن یک کتاب باشه، شما هیچوقت اون رو نمینویسید. وقتی شما اون رو به تیکههای کوچیکتر میشکونید مثل «درست کردن جلد کتاب» یا «نوشتن ۳۰۰ کلمه» مسیر روشنتری داری. پس شروعش راحتتر و قابل انجامتره.
هرچند که این پست در مورد چگونه یک توسعهدهنده بهتر شدنه، نه تعلل اما حقیقت اینه که خیلی وقتا این دو به یک چیز اشاره میکنند.
بدون حواسپرتی کار کنید
قدم اول رو ببینید. اگر حواستون پرت شد، این پومودورو حساب نمیشه و شما باید از اول شروع کنید.
کار را به مدت ۲۵ دقیقه پیش ببرید
۲۵ دقیقه کار ممکنه سخت باشه اگه تا حالا اینکار رو نکرده باشید. شاید بهتر باشه که با ۱۰ دقیقه شروع کنید و کارتون رو انجام بدید. دفعه بعد ۱۵ دقیقه، بعد ۲۰ و بعد ۲۵.
شما میتوانید وقتی که حرفهای شدید این زمان رو تا ۵۵ دقیقه بالا ببرید.
کار رو تا چند پومودورو در هر روز پیش ببرید
اولین تلاش شما برای ۲۵ دقیقه کار بدون حواسپرتی در یک روز، ممکنه تمام کاری باشه که شما میتونید بکنید. همین خوبه. کار خودتون رو با اضافه کردن زمانهای کوچیک در هر روز پیش ببرید.
این چطوری من را یک توسعهدهنده بهتر میکنه؟
بیاید واقعبین باشیم. شما با پریدن از ویرایشگر کدتون به یک چتروم و پریدن به یک ایمیل و پریدن به یک مکالمه تو دنیای واقعی، به پیشرفت خودتون کمک نمیکنید.
شما ممکنه شلوغ بنظر بیاید و یا شلوغی رو حس کنید یا حتی ممکنه چند وقت یکبار کدی رو تحویل بدید.
اما حقیقت اینه که چند ساعت کار بدون حواسپرتی و کار عمیق، کد با کیفیت و کمیت بیشتری رو تولید میکنه تا یک روز پر از پراکندگی و حواسپرتی.
با یک پومودورو شروع کنید. سرانجام شما موفق خواهید شد تا چند پومودورو را زنجیروار و پشتسرهم انجام دهید.
سپس شما میتونید چند روز پر از پومودورو رو داشته باشید.
سپس هفتهها و ماهها.
نهایتا شما درک میکنید که سادهتر موتور شما روشن میشود و این اتفاق بیشتر اوقات رخ خواهد داد.
این رو طلا بدونید. این وقتی رخ میده که چند لحظه «یوریکا» و دستیابی به موفقیت داشته باشید.
این زمانیه که انجام «کار سخته» یعنی تکون دادن خودتون آسون میشه.
این زمانیه که مهارتهای کدنویسی شما نمایی ارتقاء پیدا میکنه.
تقاضا برنامهنویس خوب و شایسته، از هر زمان دیگهای بیشتره. مطمئنترین راه برای رسیدن به موفقیت، درآمدن به آیین کار عمیق و متمرکزه.
تمرینش کنید و منم در جریان بزارید که چی فکر میکنید. اگر تکنیک بهرهوری دیگهای هم سراغ دارید، تو دیدگاههای پایین بهمون بگید.
قبل از اینکه برید —
من از همه محبتهای شما برای پست قدردانی میکنم. بهترین راه حمایت از من دنبال کردن من در Mediumـه (Bar Franek). این کار منو تشویق به بیشتر نوشتن میکنه.
من یک مقاله دیگر به نام عمیقتر شدن در کار عمیق نوشتم که میگه کجا باید از این تکنیکها استفاده کنید.
سخن مترجم: معلومه که اگر منو هم دنبال کنید، منم خوشحال میشم. آدرس توییتر و لینکدین من بالای همین وبلاگ هست. همچنین خوشحال میشم نظراتتون رو توی دیدگاهها بشنوم.
امیدوارم بتونم بزودی قسمت بعدی این مقاله رو هم ترجمه کنم.
منبع: Focus and Deep Work — Your Secret Weapons to Becoming a 10X Developer
عالی بود امین، من خیلی وقته سعی میکنم تمرکزم رو ببرم بالاتر، از یه طرف دیگه فکر میکنم چند کاره بودن فقط توی ایران جواب میده ( پول توشه !! ) و همین مورد باعث شده خیلی وقتا انبوهی از تسک ها بریزه سرم.
نمیدونم اینفلوئنسر شدن در دنیای برنامه نویس ها ( علاقه ی من )، واسه آینده ام مفیده یا بهتره بیخیال تولید محتوا بشم و عمیق تر کارکردن رو تمرین کنم تا کیفیت کد رو بهبود ببخشم.
خوشحالم که دوست داشتی محمد جان.
الزاما برای کار عمیق یا متمرکز بودن، قرار نیست که هدف فقط برنامهنویسی باشه. اتفاقا اینفلوئنسر بودن هم یه هدف سخت و بزرگه که لازمهاش کار عمیقه و متمرکزه.
همونجوری که تو برنامهنویسی هم همهی وظایف مثل هم نیستن و اشکال مختلفی دارن، توی هدف تو هم به همین شکله. چیزی که سعی کردم تو متن هم بنویسم این بود که در یک لحظه سعی کنیم فقط روی یک جنس از کار تمرکز کنیم و چند کار مختلف ذهنمون رو مشغول نکنیم. حالا ممکنه بگی صبح روی فلان و عصر روی فلان کار میکنیم که این کاملا اوکیه. حتی باید یه زمانی بزاری تا تصویر بزرگ رو ترسیم کنی. همه اینا جای خود دارن. فقط باید سعی کنی که در هر لحظه روی هر کدوم تمرکز کنی و اونو به بهترین نحو انجامش بدی.
من مطمئنم که تو موفق میشی و به هدفت میرسی. خدا قوت.
درست میگی. همین الان که دارم این پاسخ رو مینویسم دستم اشتباهی خورد روی تلگرام و دیدم که پیامم رو توی گروه ریپلای کردی که جواب کامنت منو دادی. دقیقا وسط باگ فیکس بودم که این اتفاق افتاد.
احتمالا نقطه ی شروع همینجاست که موقع کار. شبکه های اجتماعی و حتی موبایل رو از دسترس خارج کنم برای ۲۰ دقیقه
ممنون سید(امین؟) 👏🏻 نکات خیلی خوبی توش بود
قربونت کیارش جون. تو از اون دوستای نزدیکی هستی که مختاری هرچی دوست داری صدام کنی.❤
قربونت.
مقاله فوق العاده ای بود ممنون از شما.
این مقاله یک مکمل برای کسانی هست که راجع به کار عمیق مطالعه داشتن.
طبق تجربه ای که داشتم و زجری که از حواس پرتی کشیدم عرض کنم که مهم ترین دشمن کار(چه عمیق چه کم عمق) شبکه های اجتماعی هستن به این دلیل که ماهیت غیر متمرکزی دارن به این معنا که محتوای داخلشون مدام مغز مارو روی مطالب و چیز های مختلف و کاملا نامربوط سویچ می کنه و همین باعث میشه در طولانی مدت نظم ذهن بهم بریزه (اگر در چند شبکه اجتماعی فعال باشیم دیگه بدتر).
یکی از راه های تقویت تمرکز هم کتاب خوندن هست مخصوصا با صدای بلند و یا مجبور کردن ذهن به درک مطالب اون کتاب.
بسیاااار عالی سید جان
خیلی دوست داشتم و حتما تمرین می کنم این موضوع رو
ممنونم ازت
خیلی عالی بود . واقعا تاثیر گذار بود