مدتهای زیادیه که کمتر مطالبی رو در وبسایت و وبلاگ و ویرگول مینویسم و حقیقتا، ایدهای ندارم که چرا. شاید اعتیاد و وابستگی به توییتر (و سایر سوشالهای مشابه) این امر رو باعث شدند. اما در یک مدت نسبتا طولانی (حدودا ۲-۳ ماهه) یک سری مطلب نوشتم که قراره اونها رو اینجا با هم بررسی کنیم.

بسیار هم خوب. من در دانشگاه «سختافزار» خوندم، بسیاری از واحدهایی که بچههای «نرمافزار» داشتند رو نداشتم و طبیعتا از اونجایی که کار در حوزه سختافزار در کشور ما کمی سخته (و معمولا مهندسین برق، فارغ از سطح سواد و دانششون برای این کارها ارجحیت دارند) به ناچار و حتی شاید اجبار، مثل هر شخصی که «کامپیوتر» خونده، وارد بازار نرمافزار شدم.
البته لازم به ذکره که، اصلا و ابدا از این ماجرا پشیمون نیستم و کاملا راضیم. مسیر یادگیری توسعهدهندگی به شدت باحاله و پر از چالش و پر از یادگیری. اما یک سری نکته مهمی وجود داره. برنامهنویسی و بیسیکهاش رو شاید بلد بودم و از پسش برمیومدم، اما مساله مهمتری در این بازار وجود داره و اون «مهندسی نرمافزار»ــه. مهندسی نرمافزار، مجموعهای از علوم و فنون و روشهاست که به توسعه بهتر نرمافزار کمک میکنه.
دقیقتر بگم، توسعه نرمافزار یک سری استاندارد داره که اونا رو تحت عنوان «مهندسی نرمافزار» میشناسیم. این استانداردها رو کیا مینویسن؟ افرادی مثل من و شما. باور نمیکنید؟ میتونید در مورد اسامی شناخته شده در این حوزه مثل «عمو باب» و «مارتین فاولر» تحقیق کنید. اینها برنامهنویسایی هستن که تجربه خوبی در کار و پروژه دارند و تجربیاتشون رو به دیگران منتقل میکنن. دیگران هم با آداپت کردن اون تجربیات، اونا رو به استاندارد تبدیل میکنند.
در ادامه یک سری محتوایی که در این چند وقت تولید کردم رو با شما به اشتراک میذارم، شاید به دردتون خورد و کمی مهندسی نرمافزار رو تونستید راحتتر یاد بگیرید.
اگرچه این موارد، به خودی خود کامل نیستند، اما سرنخی به شما میدن که چطور میتونید نرمافزارهای بهتری بنویسید. چیزهایی که نوشتم در حقیقت، حاصل تجربیاتم در کد زدن به مدت ۶ سال با چارچوبهای روبی آن ریلز، جنگو و لاراول بود و امیدوارم مفید واقع بشن.
راستی، شما چه پیشنهاد و مطالبی برای بهبود مهندسی نرمافزار در یک پروژه دارید؟