نماد سایت برنامه چی | Barnamechi

۹ مورد از مشکلات برنامه نویسان تازه کار و راه حل آنها

وقتی که کار خودتان را به عنوان برنامه نویس شروع میکنید در ابتدا هیجان زیادی خواهید داشت. اما بعد از چند هفته جنبه های تاریک تر شغل به سراغ شما می آیند. چیزهایی مثل بن بست ها، گزارش باگ ها، فریاد های مدیر پروژه و غیره. همین موارد ممکن است شما را نا امید کند. اما نگران نباشید، این مشکلات غیرطبیعی نیستند و تقریبا همه برنامه نویس ها با این مشکلات روبرو میباشند. در این مقاله میخواهیم ۹ مورد از مشکلات برنامه نویسان را بررسی کنیم و راه حل آنها را به شما ارائه بدهیم. با برنامه چی همراه باشید. (منبع نوشته: SimpleProgrammer)

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

بیایید با یکدیگر به مشکلات برنامه نویسان تازه کار نگاهی بیاندازیم و یاد بگیریم چگونه میتوانیم از پس آنها بر بیاییم.


۱- درک نکردن کاربر

مشکل

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

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

مطمئنا تکنیک های مدیریت پروژه مانند Agile یا Scrum میتوانند به تیم توسعه دهنده کمک کنند تا نرم افزار را بر اساس تغییر خواسته های کاربر، هنگام توسعه دادن آن، تغییر بدهند. اما استفاده از این تکنیک ها برای یک برنامه نویس تازه کار که سعی میکند خواسته های کاربران را بفهمد اما به هر دلیلی هنوز ارتباط قدرتمندی با آنها ندارد، یک چالش جدی محسوب میشود.

راه حل

آدم هایی که در نهایت از اپلیکیشن شما استفاده میکنند، کاربر نهایی یا End user نام دارند.

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

اگر من از مشتری های خودم میپرسیدم چه چیزی میخواهید، آنها میگفتند یک اسب سریعتر.

هنری فورد، موسس کمپانی Ford

۲- عیب یابی نرم افزار

مشکل

سعی کنید این صحنه را در ذهن خودتان بسازید. بعد از روزها کار کردن برای تکمیل یک نرم افزار، شما خوشحال به خانه میروید و فکر میکنید برنامه شما همانطوری که قرار بوده، کار خواهد کرد. وقتی روز بعد به محل کار برمیگردید، همکار شما از بخش کنترل کیفیت (QA) به شما یک لیست بلند از باگ ها را میدهد تا روی آنها کار کنید. مثلا دکمه Cancel قابل کلیک کردن نیست، املا و دستور زبان پیغام خطا درست نوشته نشده و برنامه مشکلات زیادی دارد که تجربه کاربری را تقریبا با خاک یکسان میکند.

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

اما خبر خوب این است که باگ ها در دنیای برنامه نویسی بسیار رایج هستند. (اصلا تقریبا تمام مشکلات برنامه نویسان را میتوانیم در باگ خلاصه کنیم. :دی). در حقیقت حتی بهترین کد های نوشته شده هم میتوانند دارای باگ باشند. ولی خبر خوب بعدی این است که آنها قابل برطرف کردن هستند.

خبر خوب این است که باگ ها در دنیای برنامه نویسی بسیار رایج اند. در حقیقت حتی بهترین کد های نوشته شده هم میتوانند دارای باگ باشند. ولی خبر خوب بعدی این است که آنها قابل برطرف کردن هستند.

راه حل

در فوتبال حرفه ای قاعده ای وجود دارد که میگوید: بهترین دفاع، یک حمله خوب است. وقتی که همین استراتژی را برای برنامه نویسی بخواهیم به کار ببریم اینگونه میشود که بهترین دفاع در برابر باگ های برنامه، داشتن یک استراتژی قدرتمند برای دیباگ کردن (عیب یابی) نرم افزار میباشد. به عنوان یک برنامه نویس تازه کار، استراتژی های ترکیبی دیباگ کردن میتواند به شما کمک بکند. در زیر کارهایی که میتوانید انجام بدهید نوشته شده است:

بهترین دفاع در برابر باگ های برنامه، داشتن یک استراتژی قدرتمند برای دیباگ کردن (عیب یابی) نرم افزار میباشد.


۳- هماهنگ بودن با تکنولوژی

مشکل

یکی از مشکلات برنامه نویسان این است که باید هرچقدر تکنولوژی ها پیشرفت میکنند، آنها هم همراه تکنولوژی به رشد و پیشرفت ادامه بدهند. فریم ورک ها، ابزار ها و کتابخانه های برنامه نویسی (لایبرری ها) خیلی زود از رده خارج میشوند. به عنوان مثال فریم ورک های Front-end معمولا یک یا دو سال میتوانند دوام بیاورند و سپس نسخه جدیدتر و آپدیت شده برای آنها ارائه میشود.

البته از طرفی ورژن های جدید، خوب بنظر میرسند. زیرا کاربرد بیشتری دارند و کار خود شما را هم آسان تر میکنند. اما باید سریعا هم به آنها عادت کنید. این یکی از مسائلی است که شاید به عنوان یک برنامه نویس تازه کار با آن دست و پنجه نرم کنید.

برنامه نویس های باتجربه میدانند که آپدیت های منظم و ساختار های جدید یک قسمت جدایی ناپذیر از این دنیا و از مشکلات برنامه نویسان هستند. موفق ترین محصولاتی که با آنها کار میکنند معمولا بین دو تا چهار بار در ماه آپدیت میشوند. اگر یک برنامه نویس تازه کار باشید ممکن است زیر بار این فشار کمر خم بکنید.

راه حل

دو راه حل آسان برای این مشکل وجود دارد:


۴- ارتباط برقرار کردن

مشکل

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

برقراری ارتباط یکی از مشکلات برنامه نویسان است که معمولا تازه کار ها ممکن است با آن روبرو بشوند. بدترین چیز این است که این مشکل ممکن است به مسائل اعتماد به نفس منجر بشود. اگر درباره ایراد هایی که در پروژه وجود دارد، مطمئن نباشید و آن ها را درست متوجه نشوید، نمیتوانید آن ها را از میان بردارید و بدون ارتباط برقرار کردن نمیتوانید از همکارانتان کمک بگیرید.

به عنوان مثال میتوانید خودتان را با مشکلات merge کردن کدها محاصره کنید، اگر نتوانید با بقیه هم تیمی های خودتان همکاری داشته باشید. یعنی ممکن است همه تیم برنامه نویسی از یک استراتژی کدنویسی استفاده کنند که شما کاملا با آن ناآشنا باشید. در نتیجه هنگام merge کردن کدها با مشکلات زیادی مواجه میشوید و حتی ممکن است درگیری هایی هم با دیگران به وجود بیاید.

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

راه حل

وقتی که در بحت برنامه نویسی و توسعه نرم افزار وارد میشویم، مهارت های ارتباطی به اندازه مهارت های تکنیکی و برنامه نویسی مهم هستند. در اینجا راهکار هایی برای تقویت این مهارت ها پیدا میکنید:


۵- تخمین زمان

مشکل

شاید شما بلد نباشید که زمان را به درستی تخمین بزنید. یا شاید تخمین بزنید، اما نتوانید در زمانی که تخمین زده اید کار را به اتمام برسانید. (نگران نباشید این مورد از مشکلات برنامه نویسان تازه کار است). در نهایت شما نمیتوانید پا به پای بقیه تیم عمل کنید و پروژه از برنامه زمانی خودش خارج میشود.

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

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

یکی از مشکلات برنامه نویسان تازه کار همین تخمین زدن است. یعنی بعضی از برنامه نویس ها میخواهند زمان بیشتری نسبت به آن چیزی که احتیاج دارند داشته باشند. البته فرض میکنند که این کار باعث میشود رییس یا کارفرما را تحت تاثیر قرار بدهد و برای پروژه خوب باشد. اما این کار میتواند عواقب بدی برای شما داشته باشد. یعنی همین کار میتواند شما را بسیار از پروژه و از تیم عقب می اندازد و چهره بدی از شما نشان داده میشود.

راه حل

برای حل کردن این پروژه میتوانید از راه های زیر استفاده کنید:


۶- نشستن برای چندین ساعت

مشکل

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

نشستن شاید یکی از مشکلات برنامه نویسان به حساب نیاید، اما اگر مشکلات سلامتی آن را در نظر بگیریم، باید آن را در نظر بگیرید.

تحقیقات نشان داده است که نشستن بیشتر از ۵ ساعت میتواند مشکلات جدی برای سلامت مانند سکته قلبی و چاقی بیش از حد باشد. همچنین میتواند باعث شود احساس خستگی بیشتری در طول روز داشته باشید.

راه حل

نمیتوانید این حقیقت را عوض کنید که کار شما باعث میشود به میز چسبیده باشید. البته میتوانید نحوه کار کردنتان را با راه حل های زیر تغییر بدهید:


۷- تهدید های امنیتی

مشکل

اطلاعات یک کالای با ارزش محسوب میشود. خیلی ها هستند که مایلند برای به دست آوردن آن پول زیادی پرداخت کنند. مثلا شرکت های رقیب شما که میخواهند در بازار رقابت باقی بمانند ممکن است به پروژه ای که شما در حال کار کردن روی آن هستید علاقه داشته باشند.

کارفرماهای شما برای اینکه این اطلاعات را ایمن نگهداری کنید به شما اعتماد کرده اند. این مسئولیت سنگینی است. متاسفانه معمولا یکی از مشکلا برنامه نویسان تازه کار این است که کدهای آنها دارای منافذ امنیتی میباشد که تا وقتی یک مشکل امنیتی هم رخ ندهد، از پیامد های آن باخبر نمیشوند.

به عنوان یک برنامه نویس تازه کار شاید زیاد روی نقاط ضعف امنیتی نرم افزار خودتان انرژی و زمان خرج نکنید. شاید بیشتر سعی شما بر این باشید که یک کد بدون خطا ارائه بنویسید و اینکار را بر امنیت نرم افزار ترجیح دهید. هکر ها از این نقاط ضعف آگاه هستند همیشه دنبال راه هایی میگردند تا به ک شما نفوذ کنند.

راه حل

شما نمیتوانید دیگران را از تلاش برای هک کردن کد های شما باز بدارید. اما میتوانید با استفاد از ایمن سازی کدهایتان در برابر حمله های رایج امنیتی، این کار را برایشان دشوار تر کنید. چگونگی این کار را در ادامه میبینیم:


۸- کار کردن با کدهای دیگران

مشکل

حتی کارمند های تازه هم باید با پروژه هایی که یک شخص دیگر تولید کرده است کار کنند. یکی از مشکلات برنامه نویسان هم این است که تازه کار ها باید بتوانند با کدهایی که یک توسعه دهنده دیگر نوشته است کار کنند. این وضعیت ممکن است مشکلاتی را به وجود بیاورد.

برنامه نویسی که در ابتدا کد را نوشته، ممکن است دیگر در آنجا مشغول به کار نباشد و شاید قبل از اینکه آنجا را ترک کند، هیچکدام از کارهایش را کامل انجام نداده باشد. یا اگر اینکه هنوز هم در محل کارتان باشند ممکن است به قدری سرشان شلوغ باشد که نتوانند به سوال های شما پاسخ بدهند.

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

راه حل

کار کردن روی کدهای یک برنامه نویس دیگر میتواند مشکل باشد، اما غیر قابل حل کردن نیست. بهترین راه برای نزدیک شدن به راه حل هم این است که به عنوان یک چالش به آن نگاه کنید. به عنوان شروع این کار ها را میتوانید انجام بدهید:


۹- کدهای خودتان را برنامه ریزی کنید

مشکل

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

اما این روش میتواند عواقب بدی برای شما داشته باشد. شما ممکن است در ذهن خودتان بدانید که میخواهید چه کدهایی بنویسید، اما در نهایت میبینید در جهتی پیشرفت میکند که کاملا با تفکرات شما مغایرت داشته است.

راه حل

زمانی که برای کدنویسی بدون برنامه صذف میکنید، زمان تلف شده است. برای اینکه از رخ دادن این اتفاق جلوگیری کنید، ایده های خودتان را به جای اینکه در سر خود نگه دارید، روی کاغذ بنویسید. در زیر نکاتی وجود دارد که میتوانید آنها را امتحان کنید:


این را بدانید که تازه کار بودن چیز بدی نیست

وقتی که کار خودتان را به عنوان برنامه نویس شروع میکنید، هر چیزی که درباره کدی که دارید مینویسید تا با دیگران ارتباط برقرار کنید باشد، میتواند خیلی شما را آزار و اذیت کند.

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


نظر خودتان را برای ما بنویسید

نکته هایی برای مشکلات برنامه نویسان در این مقاله آورده شد که امیدواریم بتواند مشکلات شما را در شروع کار و محلی که در آن کار میکنید برطرف کند. لطفا نظرات و پیشنهادات خود را برای ما و دیگر دوستان در قسمت نظرات (همین پایین) به اشتراک بگذارید.

خروج از نسخه موبایل