بحران‌های زندگی هر توسعه‌دهنده

ترجمه و تالیف : علیرضا معمارزاده
تاریخ انتشار : 15 فروردین 99
خواندن در 3 دقیقه
دسته بندی ها : برنامه نویسی

کسی نمی‌گوید توسعه‌دهنده شدن آسان است. مانند توسعه‌دهندگان، زندگی روزمره ما نبردی با ماشین آلات است. ما تمام تلاش خود را برای رسیدن به کار مؤثر انجام می‌دهیم، اما در بعضی مواقع مشکلات ما را احاطه می‌کنند. در اینجا مسائلی بیان می‌شود که هر برنامه‌نویس حداقل یک بار در طول زندگی خود با آن‌ها روبرو خواهد شد.

درک چگونگی عملکرد برنامه

این مسئله‌ای است که هر توسعه‌دهنده تازه وارد با آن روبرو می‌شود. همیشه باید بدانید که اکثر اوقات، خیلی چیزها تقصیر برنامه نیست. برنامه به سادگی آنچه را که دستور داده شده است را دنبال می‌کند. 

این مفهوم، (GIGO (Garbage In Garbage Out نامیده می‌شود. 

اگر یک کتابخانه یا قطعه کدی را پیدا کردید که کار خود را انجام نمی‌دهد، به احتمال زیاد به این علت است که برنامه‌نویس آن‌را به این صورت نوشته است. برای درک بهتر GIGO، این فیلم را لطفاً تماشا کنید.

اشکال‌زدایی

سناریویی را تصور کنید که به خانه‌تان می‌آیید و ایمیلی از طرف QA، که شامل لیستی از اشکالات کاری است دریافت می‌کنید. آن ایمیل روزتان را خراب می‌کند، اما خبر خوب این است که در برنامه‌نویسی وجود اشکالات چیزی رایج است. در حقیقت، حتی بهترین کدهای نوشته شده هم می‌توانند این اشکالات را داشته باشند، و می‌توان این اشکالات را برطرف و درست کرد.

برای حل این مشکل، شما باید:

تجدید کردن خطا: بهترین راه‌حل برای برطرف کردن این اشکالات، یافتن علت اصلی آن و سپس رفع آن است.

راهنمایی بگیرید: اگر نمی‌توانید آن‌را تجدید و دوباره تولید کنید، کمک بگیرید. آزمایش کننده‌ای که این اشکال را پیدا کرده است، می‌تواند آن‌را برای شما دوباره تولید کند.

ارتباطات

هر توسعه‌دهنده‌ای در نهایت به بخشی از یک تیم تبدیل می‌شود. ارتباط ضعیف یکی از مهم‌ترین موضوعاتی است که یک توسعه‌دهنده در طول زندگی خود با آن روبرو خواهد شد. 

در بدترین حالت، ممکن است باعث درگیری در تیم و محل کار شود. سرزنش شدن در برقراری ارتباطات ضعیف تقصیر خودتان است زیرا کنترل قدرت در اختیار شماست. اگر سعی نکنید ارتباطات خوبی با تیم خود برقرار کنید، در نهایت خودتان مسئول این مشکل هستید.

تنها راه‌حل این مشکل بهبود مهارت‌های ارتباطی شما است.

در ادامه من این مهارت‌ها را برای شما توضیح می‌دهم.

فعال باشید: فقط زمانی که به چیزی نیاز دارید؛ برقراری ارتباط اصلاً به شما کمک نمی‌کند. شما باید بتوانید با همکاران خود تعامل کنید و از سؤال پرسیدن از آن‌ها نترسید، به خصوص درباره هر گونه مسائلی که مربوط به محل کارتان است. 

در صورت گشودن روی خوشتان به افراد دیگر، سریع‌تر می‌توانید به فرهنگ محیط کار عادت کنید و اگر فردی خجالتی هستید‌، خب، عدم اعتماد به نفس شما چیزی است که باید روی آن کار کنید.

اعتماد به نفس و ثبات داشته باشد: مواقعی وجود خواهد داشت که آنچه را می‌خواهید بگویید، به طور واضح و شفاف نمی‌توانید بیان کنید و این مشکلاتی را می‌تواند ایجاد کند. در همچین مواقعی احساس بدی نکنید، اشتباه خود را بپذیرید و از آن درس بگیرید. تا زمانی که به طور کامل نتوانستید این مشکل را حل کنید، روی آن کار کنید.

مدیریت زمان

بحران‌های زندگی هر توسعه‌دهنده

"زمان با ارزش‌ترین چیزی است که یک انسان می‌تواند بگذراند."- تئوفراستوس 

مدیریت زمان یک مهارت مهم در هر شغلی است. شما همیشه 24 ساعت در روز وقت دارید - نه بیش‌تر، نه کم‌تر. این بر عهده‌ی شماست که حداکثر استفاده از آن را داشته باشید. 

به عنوان یک توسعه‌دهنده، مواقعی وجود خواهد داشت که شما قادر نخواهید بود زمان خود را برای انجام یک کار تخمین بزنید.

تخمین‌ها در توسعه نرم‌افزار مهم هستند. تخمین زمان می‌تواند مبنایی برای قیمت‌گذاری و زمان‌بندی پروژه‌ها باشند. تأخیرهای برنامه باعث ایجاد مشکلاتی می‌شوند و ممکن است اعتماد را به خطر بیاندازند.

به عنوان یک برنامه‌نویس جدید، شما ممکن است وسوسه شوید که زمان بیش‌تری را برای یک کار اختصاص دهید، با این فرض که انجام چنین کاری، ممکن است رئیس شما را تحت تأثیر قرار دهد؛ و برای پروژه خوب باشد. اما عواقب انجام این کار می‌تواند به شما برگردد. این کار می‌تواند شما را نسبت به برنامه و تیم‌تان عقب بیاندازد، که باعث می‌شود وضعیت‌تان بد به نظر برسد.

برای نگاه داشتن تخمین زمان خود رو به جلو نکات زیر را رعایت کنید:

تجزیه کارها: بهترین راه برای مدیریت بیش‌تر وظایف، تجزیه آن‌ها در کارهای کوچک‌تر است. تقسیم کردن حجم کار سنگین به بخش‌های کوچک‌تر باعث می‌شود از فشار کارتان کم شود.

زمان خود را بر این اساس تنظیم کنید: اگر یک کار حدود 20 دقیقه طول بکشد، حدود 30 دقیقه به آن اختصاص دهید، در واقع برای هرگونه اختلالاتی که ممکن است رخ دهد، زمان بیش‌تری در نظر بگیرید.

نتیجه‌گیری

هر وقت با مشکلی روبرو شدید، همیشه به خاطر داشته باشید که در مسیر صحیح پیش می‌روید. به زندگی خود به عنوان یک بازی فکر کنید. هرچه بازی شما بهتر باشد، سطح سخت‌تر خواهد بود. 

چالش‌هایی که با آن روبرو می‌شوید غیر قابل عبور نیستند. این نکات را در خاطر داشته باشید و از این واقعیت که شما تنها نیستید اطمینان حاصل کنید، همکاران شما نیز در بعضی مواقع با این مشکلات روبرو شده‌اند.

به عنوان نکته آخر به شما عزیزان پیشنهاد می‌کنم که کتاب «مدیریت زمان» اثر برایان تریسی را حتماً مطالعه کنید.

منبع

گردآوری و تالیف علیرضا معمارزاده

Student of Software Engineering, python Developer, i love programming and game