5 معضل برنامه نویس تازه کار

  • Home
  • 5 معضل برنامه نویس تازه کار
5 معضل برنامه نویس تازه کار

5 معضل برنامه نویس تازه کار

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

 

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

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


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

درک نکردن کاربر

مشکل

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

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

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

راه حل

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

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

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

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

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

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

مشکل

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

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

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

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

راه حل

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

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

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


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

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

مشکل

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

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

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

راه حل

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

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

 

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

https://en.wikipedia.org/wiki/Front_end_and_back_end

مشکل

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

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

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

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

راه حل

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

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

۵- تخمین زمان

تخمین زمان

مشکل

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

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

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

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

راه حل

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

  • کار ها را به جز های کوچک تقسیم کنید: بهترین راه برای اینکه مدیریت بهتری روی انجام کارها داشته باشید، این است که آنها را به کارهای کوچکتر پشت سر هم تقسیم کنید. آیا کنترل کیفیت کلی باگ برای پروژه خودتان به شما معرفی کرده است؟ به هرکدام از این باگ ها به عنوان یک کار کوچک نگاه کنید و زمان مورد نیاز خودتان برای انجام هرکدام از آنها را تخمین بزنید. اگر بتوانید حجم کاری خودتان را با استفاده از این روش بشکنید، میتوانید از خیلی از مشکلات برنامه ریزی زمانی جلوگیری کنید.
  • زمان خودتان را به درستی استفاده کنید: به هرکدام از کارهایی که دارید یک چهارچوب زمانی برای اجرا بدهید، اما برای خودتان هم زمان استراحت در نظر بگیرید. یعنی مثلا اگر برای انجام کاری ۲۰ دقیقه زمان نیاز دارید، برای انجام دادن آن ۳۰ دقیقه زمان در نظر بگیرید. زیرا شما هیچوقت نمیدانید چه اتفاقاتی قرار است رخ بدهد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *