برنامه نویسی

هفت درسی که از تجربه خود به عنوان یک توسعه دهنده نرم افزار آموخته ام

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

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

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

خوب، با این گفته، بیایید شروع کنیم!

آ. اگر مشکل را درک کرده اید، حتی قبل از نوشتن خط اول کد، 50٪ کارتان تمام شده است.

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

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

این رویکرد مزایایی دارد از جمله:

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

مهم ترین درسی که من به عنوان یک مهندس فرانت اند آموخته ام، به نظر من، درک کامل موضوع قبل از نوشتن هر کدی است!

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

ب. یک بازیکن تیمی باشید. این مربوط به نهاد است و نه فردی.

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

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

برای اینکه یک بازیکن تیم خوبی باشید، باید با هم تیمی های خود ارتباط برقرار کنید، از آنها حمایت کنید و بازخورد سریعی به آنها ارائه دهید.

سی. محتوای با کیفیت مصرف کنید

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

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

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

  • نویسنده کیست؟
  • چند نفر در دوره مشترک شده اند؟
  • نظرات کسانی که قبلاً دوره/آموزش را می گذرانند چیست؟
  • میانگین امتیاز چقدر است؟
  • دوره چه زمانی منتشر شد؟
  • آخرین بار کی آپدیت شد؟
  • آیا شامل نحو، APIها و مفاهیم به روز شده است؟

به‌عنوان یک مهندس فرانت‌اند، پلتفرم‌ها و آموزگاران خاصی را پیدا کرده‌ام که به انتشار محتوای با کیفیت معروف هستند. آنها عبارتند از Frontend Masters، سایت های مستندسازی Framework (به عنوان مثال Vue و React)، Vue School، Vue Mastery، Scrimba، و دوره هایی توسط Michael Thiessen، Maximilian Schwarzmuller و The Net Ninja.

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

D. از فرهنگ کاری سمی و رئیس سمی دوری کنید!

من زیاد روی این موضوع تمرکز نمی کنم. اما بسیار مهم است.

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

E. کد باید بر اساس تجربه محصول باشد. محصول باید بر اساس تجربه کاربر باشد.

درس از این نقطه ساده است: The development of a software product should be user centric

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

اف. تست فقط برای مهندسین QA نیست.

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

در پرتو این، من معتقدم که شما باید write clean code as if you won't test, then test carefully as if you don't trust your code.

جی. استراحت کنید

استراحت در فواصل زمانی می تواند بهره وری را افزایش دهد. انجام وقفه‌های متناوب کوتاه هنگام کدنویسی می‌تواند به مدیریت استرس و جلوگیری از فرسودگی کمک کند.

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

خودشه! هفت درس مهمی که در حین کار به عنوان یک مهندس فرانت اند آموخته ام.

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

ممنون که خواندید 😊

نوشته های مشابه

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

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

دکمه بازگشت به بالا