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