10 چیزی که هر توسعه‌دهنده نرم‌افزاری باید بداند تا مفید بماند

توسعه نرم افزار یک زمینه پیچیده و پویا است. تعداد بی نهایت چیز برای دانستن وجود دارد و پیشرفت های جدید در فناوری هر روز اتفاق می افتد. در نتیجه، گم شدن یا غرق شدن در تمام اطلاعات جدیدی که روزانه به شما می رسد، بسیار آسان است. برای رقابتی ماندن به عنوان یک توسعه دهنده نرم افزار، مهم است که بهره‌وری داشته باشید – اما واقعاً این به چه معناست؟ این مقاله به بررسی این موضوع می‌پردازد که چگونه بهره‌وری بیشتر می‌تواند تأثیر زیادی بر حرفه شما به عنوان یک توسعه‌دهنده نرم‌افزار داشته باشد!به عنوان یک توسعه دهنده، شما باید مولد باشید تا در رقابت باقی بمانید. یک راه خوب برای فکر کردن در مورد بهره وری این است که تأثیر کار خود را بر شخص دیگری در نظر بگیرید – خواه کارمند، مدیر یا مشتری دیگری باشد. وقتی کاری را در محل کارتان تمام می کنید (یک برنامه، مستندات، طرح آزمایش)، آیا این کار زندگی دیگران را آسان تر می کند؟ با فکر کردن همیشه به این شخص و اینکه نتیجه کار شما چگونه بر او تأثیر می گذارد، می توانید تعیین کنید که زمان و انرژی خود را در هنگام انجام یک کار کجا صرف کنید.سازنده بودن به عنوان یک توسعه دهنده نرم افزار به چه معناست؟سازنده بودن به این معنی است که یک توسعه‌دهنده نرم‌افزار وظایف را به شیوه‌ای سریع و کارآمد انجام می‌دهد، در حالی که همچنان کیفیت کار را حفظ می‌کند (و هیچ گونه خطا/ نقصی در کار شما ندارد). کیفیت همیشه مهم‌تر از سرعت است – هیچ‌کس نمی‌خواهد با توسعه‌دهنده‌ای کار کند که کار پشت سر هم شلخته و نادرست انجام می‌دهد. توسعه‌دهنده‌ای که سازنده باشد، کارها را به سرعت انجام می‌دهد، بدون اینکه کیفیت یا دقت را از دست بدهد.راه هایی برای بهره وری بیشتر در محل کارراه های زیادی وجود دارد که می توانید امروز متمرکز بمانید و بهره وری را در محل کار افزایش دهید! در اینجا برخی از نکات مورد علاقه من وجود دارد:وظایف هر روز را از قبل فهرست کنید تا زمان زیادی را برای برنامه ریزی صرف نکنید. اگر هیچ ضرب الاجلی وجود ندارد، اهداف پروژه خود را برای هفته آینده بنویسید تا مغز شما در تمام طول روز و زمانی که باید تکمیل شود به آنها فکر نکند.با مشخص کردن اینکه کدام بخش از روز به تمرکز بیشتری نیاز دارد و می توانید بدون از دست دادن کیفیت، کمی کمتر به آن توجه کنید، روزهای خود را ساختار دهید. به عنوان مثال، زمانی که در زمان آزادم روی پروژه ای کار می کنم، یک دفتر خاطرات روزانه نگه می دارم تا ایده های هفته را ایده پردازی کنم. وقتی وقت آن است که بنشینم و روی آن پروژه کار کنم، می دانم که این زمانی است که 100٪ تمرکز من مورد نیاز است.عادت های بد خود را در محل کار شناسایی کنید و راه هایی برای از بین بردن آنها بیابید! این ممکن است بسته به اینکه چه کسی هستید متفاوت باشد – شاید در وسط روز غذای ناسالم می خورید یا در Slack اغلب با همکاران چت می کنید. هیچ راه حل یکسانی برای بهره وری وجود ندارد، اما همه چیزهایی دارند که می توانند بهتر انجام دهند – مطمئن شوید که کاری را انجام می دهید که برای شما مفید است!اگر متوجه شدید که در زمان استراحت کار زیادی انجام نمی دهید، آن را به 10 دقیقه در هر ساعت محدود کنید. این مدت به اندازه‌ای طولانی است که به مغز شما استراحت بدهد، اما نه آنقدر طولانی که تمرکز مجدد روی چیزی که قبلاً روی آن کار می‌کردید سخت‌تر باشد.چرا متفکرتر بودن و دقت بیشتر در مورد کد خود برای طول عمر آن اهمیت دارددلایل زیادی وجود دارد که چرا نوشتن کد قابل اعتماد و با کیفیت به عنوان یک توسعه دهنده نرم افزار مهم است (از جمله این واقعیت که تضمین می کند زمان کمتری برای عیب یابی نیاز است)، اما یکی از دلایل اصلی این است که محصول/برنامه شما دوام خواهد داشت. طولانی تر اگر کیفیت عالی داشته باشد و در جای خود تست شود! هنگامی که هیچ نقص یا خطایی در یک برنامه وجود ندارد، چیزی وجود ندارد که نیاز به رفع یا انجام مجدد داشته باشد. اگر مطمئن هستید که برنامه شما نمی تواند شکست بخورد، می توانید مطمئن باشید که بدون نیاز به ایجاد تغییرات در پایگاه کد، سال های بیشتری دوام خواهد آورد.بر اساس تجربه شخصی من، در زیر چند نکته برای بهبود بهره وری شما آورده شده است.1 . بیشتر بنویس، کمتر پاک کن!به عنوان یک توسعه دهنده، یکی از اصلی ترین چیزهایی که روی آن تمرکز می کنید نوشتن کد است – و هیچ ایرادی در این وجود ندارد! با این حال، گاهی اوقات ما درگیر نوشتن می شویم و فراموش می کنیم که کد قدیمی خود را زمانی که دیگر مورد نیاز نیست حذف کنیم. این، یافتن چیزها را بعداً سخت‌تر می‌کند، زیرا اکنون کد در همه جا وجود دارد و هیچ‌کدام از آن به وضوح مستند نیست. آنچه را که ضروری نیست حذف کنید تا توسعه دهندگان آینده (یا خودتان!) برای پیمایش پروژه کار سختی نداشته باشند. همچنین قبل از نوشتن هر کدی به نوشتن شبه کد فکر کنید. این امر احتمال خطا و کدهای غیر ضروری را کاهش می دهد.2. تست هایی بنویسید تا مطمئن شوید کد شما قابل اعتماد و قابل تکرار استبه‌عنوان یک توسعه‌دهنده نرم‌افزار، نوشتن تستهایی برای شما مهم است که هر زمان که تغییراتی در پایگاه کد ایجاد می‌کنید – این کار هم تضمین می‌کند که ویژگی‌های جدید همانطور که در نظر گرفته شده است کار می‌کنند و هم مستنداتی در مورد موارد اضافه/تغییر شده ارائه می‌دهد. وقتی آزمایش خودکار قبل از انجام هر نوع «بازبینی کد» انجام نمی‌شود، هیچ چیزی مانع از آن نمی‌شود که توسعه‌دهنده دیگری کد غیرضروری بیشتری اضافه کند، زیرا از آنچه قبلاً وجود داشته آگاه نبوده است. نرم افزار باید اول برای انسان نوشته شود و بعد کامپیوتر!3. توسعه تست محور (TDD) می تواند بهره وری شما را با اجازه دادن به شما برای نوشتن کدهای تمیزتر بهبود بخشدتوسعه مبتنی بر آزمایش در چند سال اخیر به طور فزاینده ای محبوب شده است، و دلیل خوبی برای این وجود دارد! هنگامی که فرآیند TDD را دنبال می کنید، قبل از نوشتن هر کد واقعی، تست هایی را می نویسید (برای اجرای خودکار در برابر کد شما). این بدان معناست که وقتی نوشتن آزمون را تمام کردید، برنامه شما دقیقاً همانطور که در نظر گرفته شده بود با ایجاد همه شرایط مورد انتظار کار می کند.4. از ویرایشگرها/IDEها برای افزایش بهره وری استفاده کنیداگرچه همه برنامه‌نویس‌ها ترجیحات یکسانی در مورد اینکه چه نوع ویرایشگر متن یا IDE را می‌خواهند برای پروژه‌های خود استفاده کنند، ندارند، برخی از ابزارها می‌توانند زندگی ما را هنگام نوشتن کد بسیار آسان‌تر کنند! برنامه نویسانی که اغلب بین زبان های مختلف جابجا می شوند ممکن است از استفاده از IDE بر روی یک ویرایشگر متن ساده سود ببرند زیرا IDE ها معمولاً دارای ویژگی های تکمیل خودکار و برجسته سازی نحو پیشرفته هستند.5. از پسوندهای نحوی برای افزایش بهره وری استفاده کنیدپسوندهای نحوی افزونه‌هایی هستند که برای ویرایشگر متن یا IDE شما ساخته شده‌اند که می‌توانند نوشتن کد را بسیار آسان‌تر کنند! به عنوان مثال، برخی از برنامه‌های افزودنی نحو ممکن است بسته به نوع زبانی که استفاده می‌کنید از ویژگی‌های تکمیل خودکار پشتیبانی کنند (PHPStorm یک IDE محبوب با بسیاری از پسوندهای تکمیل خودکار موجود برای PHP است)، در حالی که سایر پسوندهای اختصاصی IDE می‌توانند به‌طور خودکار فایل‌های پروژه را تولید کنند، اگر این کار را نکنید. بسیاری از توسعه دهندگان نرم افزار متوجه می شوند که هرچه ویرایشگر متن آنها قابل برنامه ریزی باشد، بهره وری بیشتری خواهند داشت!6. با خواندن منظم مقالات/وبلاگ ها/پست های Stackoverflow دانش زبان های برنامه نویسی و ابزارها را به روز نگه دارید.به‌عنوان یک توسعه‌دهنده نرم‌افزار، برای شما مهم است که دانش و زبان‌های برنامه‌نویسی و ابزارهایی را که استفاده می‌کنید به‌روز نگه دارید تا در شغل فعلی و آینده خود بهره‌وری بیشتری داشته باشید. اگر دوست ندارید مقاله‌ها را در یک وب‌سایت بخوانید، عناوین کتاب‌های زیادی نیز وجود دارند که می‌توانند اطلاعات مفیدی را ارائه دهند – مانند «Python: The Right Way» یا «Clean Code». علاوه بر این، اگر به دنبال چیز خاصی هستید، وبلاگ ها پر از محتوای عالی هستند! Stackoverflow انقلابی در نحوه دریافت کمک افراد برای مشکلات توسعه خود ایجاد کرده است، بنابراین تمرین خوبی برای توسعه دهندگان است که سایت را مرتب بررسی کنند!7. ابزارهای خود را بشناسید، اما اجازه ندهید آنها مالک شما شوندشما یاد می گیرید که چگونه هر روز با یک زبان برنامه نویسی یا فریم ورک جدید کار کنید، درست است؟ شما همیشه به طور تصادفی با چیز جدیدی روبرو می شوید که می تواند شما را سازنده تر کند. ترفند این است که یاد بگیرید چگونه سریع کار کنید بدون اینکه در جزئیات کاری که انجام می دهید گرفتار شوید. اگر برای اولین بار از یک فناوری استفاده می کنید، این می تواند سخت باشد، زیرا به شما نیاز دارد که زمان بیشتری را برای تنظیم محیط خود و یادگیری نحو زبان اختصاص دهید.8. دنبال کنید و یادداشت کنید که چقدر طول کشید تا آن کار را انجام دهیددر برخی موارد، این به دلیل بهره وری شما نیست، بلکه به این دلیل است که زمان لازم برای تکمیل یک کار را دست کم گرفته اید. همه همیشه فکر می کنند که می توانند کارها را سریعتر از آنچه واقعا می توانند انجام دهند. این ممکن است به این دلیل باشد که ما بازی‌های رایانه‌ای انجام می‌دهیم، اغلب از رسانه‌های اجتماعی بازدید می‌کنیم، یا حتی فقط در مورد اینکه دوست داریم نرم‌افزارمان چگونه کار کند، خواب می‌بینیم. دلیل هر چه که باشد، مهم است که بفهمید کارها واقعا چقدر طول می کشد تا بتوانید زمان خود را بهتر بودجه بندی کنید. دو راه برای انجام این کار وجود دارد: یا یادداشت می‌کنید زمانی که کارها برای اولین بار آنها را شروع می‌کنید چقدر زمان می‌برند، یا – اگر از قبل می‌دانید – به عقب برگردید و بفهمید که چقدر طول می‌کشد. برای پیگیری پیشرفت خود از تایمر استفاده کنید9. بیش از حد مستند کنید و بیش از حد ارتباط برقرار کنیدگاهی اوقات ممکن است به نظر برسد که نیازی به بررسی غلط املایی یا اشتباه ندارید. برخی از توسعه دهندگان حتی ممکن است فکر کنند نوشتن نظرات خوب اتلاف وقت و تلاش است. با این حال، انجام این پیشرفت‌های کوچک می‌تواند به همکاران شما کمک کند که فکر نکنند: “اوه، ای کاش آنها کد خود را بهتر مینوشتند”. شما نمی خواهید مقاله ای با غلط املایی یا گرامر ضعیف بخوانید ، پس چرا کدهای گیج کننده بنویسید؟این به شما کمک می‌کند تا از بازگشت به یک کار/ویژگی قبلی فقط برای توضیح منطقی که در پس آن کار می‌کند جلوگیری کنیداگر روی یک ویژگی بزرگ کار می‌کنید، به‌روزرسانی‌های کوچک‌تر را به ذینفعان خود ارائه دهید. این نه تنها انگیزه شما را حفظ می‌کند، بلکه به شما کمک می‌کند بازخورد به موقع دریافت کنید و مجبور نباشید همه چیز را از بین ببرید و تازه شروع کنید.10. وظایف را به طور مناسب اولویت بندی کنیدگاهی اوقات برنامه نویسان وقتی بر روی یک کار/پروژه خاص تمرکز می کنند، همه چیزهای دیگری را که در اطرافشان اتفاق می افتد فراموش می کنند. این بدان معنی است که آنها ممکن است متوجه نشوند که چقدر زمان صرف انجام آن یک کار کرده اند تا زمانی که خیلی دیر شود. برای جلوگیری از این مشکل، همیشه کارهایی را که روی آن کار می‌کنید پیگیری کنید و کارهایی را که برای سایر توسعه‌دهندگان برای تکمیل وظایفشان لازم است، اولویت‌بندی کنید، یعنی وظایف آن‌ها به وظایف شما بستگی دارد. با پایان دادن به چنین وظایفی از قبل، تحت فشار کمتری قرار می گیرید و برای انجام کاری مورد آزار و اذیت کسی قرار نمی گیرید.11. (پاداش) استراحت کنید، کیت کت داشته باشیدشاید به طور مکرر کیت کت نداشته باشید اما هر ساعت یا بیشتر استراحت کنید. گرفتار شدن و صرف ساعت ها برای کدنویسی آسان است. اما هیچ ویژگی ارزش فدا کردن سلامتی خود را ندارد. گاه به گاه استراحت کنید، به من اعتماد کنید که برای شما مفید خواهد بود.نتیجهامیدوارم این مقاله برای شما مفید بوده باشد. نکات خود را در مورد چگونگی بهره وری خود و کارهایی که برای بهبود بهره وری خود انجام می دهید به اشتراک بگذارید.