مواد لازم برای برنامه‌نویس شدن..!

سلام، امیدوارم که حالتون خوب باشه :)یکی از مشکلات اساسی تازه کارها توی برنامه‌نویسی که این روزا به یه وسواس فکری هم تبدیل شده اینه که چه چیزایی برای برنامه‌نویسی لازمه و چه چیزایی لازم نیست. خیلیا وقتی میخوان یه کاری رو شروع بکنن، اصرار دارن که همه چیز کامل باشه و همه چیز مهیا باشه تا شروع کنن. اما این تفکر غلطیه (کمال گرایی و ایده‌آل گرایی حداقل اینجا جواب نمیده!) و میتونه کلی از وقت شما رو بگیره. من به شما پیشنهاد میکنم با مینیمم ابزارهایی که دارین، توی هر کاری هستید شروع کارتون رو استارت بزنید و منتظر شرایط ایده آل نباشید! تو این پست ما به مواد لازم برای برنامه‌نویس شدن میپردازیم و شما میفهمید که چه چیزایی لازم دارید و توی کوله بارتون قرار میدین و همچنین میفهمید که چه چیزایی لازم ندارید و اونا رو از بارتون کم میکنید تا سبک تر و راحتتر با سرعت بیشتر بتونید مسیر موفقیت توی برنامه‌نویسی رو طی کنید. این شما و این برنامه آشپزی امروز: مواد لازم برای برنامه‌نویس شدن!!!1- کامپیوترشما قطعا برای شروع برنامه‌نویسی به یک کامپیوتر نیاز پیدا میکنید. البته من اون اوایل که کامپیوتر نداشتم؛ و وقتی به کامپیوتر دسترسی نداشتم از سر علاقه کدها رو توی کاغذ مینوشتم..! اما خب اونطوری نمیشد خروجی برنامه رو ببینم. به همین خاطر شما اگه بخواین برنامه‌نویسی شروع کنید و ادامه بدین نیاز دارید تا یک کامیپوتر دست و پا کنید! برای شروع سیستم خاصی هم لازم نیست و نیاز ندارید که چند میلیون پول خرج کنید و یه کامپیوتر نو با سخت افزار بالا تهیه کنید! اگه هدفتون از برنامه‌نویسی، طراحی اپ برای اندروید و iOS و یا بازیسازی نیست میتونید با کانفیگ پایین شروع به کار کنید:پردازنده: 2 هسته ای ، رم: 4 گیگ، گرافیک: لازم نیست، هارد: 500 گیگ کافیه! این کامپیوتر رو شما میتونید توی بازه 3-4 میلیون تومن راه اندازیش کنید (اگه مانیتور داشته باشید) و اگه دست دومش رو هم بخواین بخرین کمی قیمتش پایین تر میاد. البته اینم باید بگم که خیلیا از جمله خود من هم با سیستم پایین تر از این مشخصات شروع به کار کردیم. پس نیازی نیست خیلی وسواس به خرج بدین. اگه کامپیوتری دارین که روشن میشه، پس قطعا میشه باهاش برنامه‌نویسی کرد! همچنین ببینید: مشخصات مناسب برای سیستم یک برنامه‌نویسخیلیا هم هستن که میپرسن، موبایل برای برنامه‌نویسی مناسب هستش؟ در پاسخ به صورت خلاصه میگم نه! چون با موبایل خیلی کار کردن سخته و کارایه خیلی زیادی هم نمیتونین انجام بدین (در حد مثال های ساده و تمرین های داخل کتاب ها) و اگه بتونید یه برنامه خیلی پیشرفته هم بنویسید خیلی از سرعتتون کم میشه. به صورت کلی موبایل رو میتونید یه ابزار کمکی برای وقتایی که به کامپیوتر دسترسی ندارید، در نظر بگیرید و من پیشنهاد میکنم هیچوقت موبایل رو جایگزین کامپیوتر توی برنامه‌نویسی نکنید.2- منبع یادگیریوقتی تازه شروع به برنامه‌نویسی میکنید خیلی چیزا براتون نامفهوم و گنگ هستش. خیلیا چیزا هستن که از خودتون میپرسین چرا باید وجود داشته باشن! چه کاری انجام میدن؟! و خلاصه اونقدر سوال به سمت مغز شما میاد که ممکنه حتی دلسردتون بکنه و برنامه‌نویسی رو بذارین کنار! برای همین شما نیاز دارین که یه منبع یادگیری داشته باشین که حداقل بتونه شما رو راه بندازه! این منبع یادگیری میتونه کتاب باشه، میتونه ویدیو باشه، میتونه کلاس های حضوری باشه. در مورد کتاب ها و ویدیو ها، شما میتونید رایگان اونا رو هم توی اینترنت پیدا کنید و از اونا استفاده کنید اما برای سه تا منبعی که گفته شد، موارد پولی هم وجود داره که خب طبیعتا کامل تر هستن و اگه مشکل مالی ندارین پیشنهاد میکنم از اونا استفاده کنید. فقط نکته ای که وجود داره اینه که هیچوقتِ هیچوقتِ هیچوقت بیشتر از سه تا منبع یادگیری رو به صورت همزمان جلو نبرین! یعنی مثلا 5-6 تا کتاب با هم دانلود نکنید و هی از این یکی بپرین به کتاب بعدی و... این کار به شدت باعث میشه راندمان شما توی یادگیری بیاد پایین و خب وقتی ببینید خیلی کم نتیجه میگیرین، منطقیه که ناامید بشین و بذارینش کنار! پس:اول از یه منبع شروع کنید و وقتی تمومش کردین برین بعدی! من یادمه که اوایلی که برنامه‌نویسی رو میخواستم شروع کنم نزدیک به 30-40 تا کتاب از هر زبان برنامه‌نویسی داشتم! (و الانم دارم!) و همون کتاب ها باعث شد من حدود 2 سالی همینطوری توی دنیای برنامه‌نویسی پرسه بزنم! اما خب از این اشتباهم درس گرفتم و الانم به همه میگم که هیچوقت اگه دارین پایتون یاد میگیرین نرین پی اچ پی رو شروع کنید! هیچوقت براساس اینکه امروز کدوم زبان محبوب تره جلو نرین! شاید امروز پایتون خوبه ولی فرداش جاوااسکریپت و شما اگه امروز پایتون کار میکنید فردا برین سمت جاوا اسکریپت مطمئنا از هر دو زبان هیچی یاد نمیگیرین. بر اساس نیازتون کار کنید. به عنوان مثال دارین یه اپ اندروید طراحی میکنید، و توی یه مرحله ای به جایی میرسید که نیاز دارید تا از بانک های اطلاعاتی استفاده کنید، اونجا موقعیه که باید برین و بانک های اطلاعاتی رو یاد بگیرین. یا به مرحله ای میرسید که یه بخش وب به اپ اضافه کنید، اونجا وقتشه که برین و طراحی وبسایت یاد بگیرین و...3-اینترنتدیر یا زود اگه شما به اینترنت وصل نباشید، نیازش توی کارتون دیده میشه! همه چیز توی منابع یادگیری گفته نمیشه و شما توی مسیر یادگیری برنامه‌نویسی دچار یه سری مشکلات میشین و نیاز پیدا میکنید برای اونا جستجو انجام بدین، توی انجمن ها و وبسایت ها دنبال حل مشکل باشین و خب اگه اینترنت نداشته باشین این کار برای شما خیلی مشکل میشه! با اینترنت تمام منابع آموزشی برای شروع برنامه‌نویسی رو در اختیار داری به رایگان! (تقریبا) خوشبختانه توی عصری زندگی میکنیم که برنامه‌نویس ها و کلا آدما از هر جایی که باشن میتونن با هم ارتباط برقرار کنن و این باعث میشه سطح یادگیری هم بالا بره و بتونید راحت تر یاد بگیرین. برنامه‌نویسی مثل کارهای آزمایشگاهی نیست که حتما نیاز باشه توی یه جای خاصی باشی تا یه کارهای خاصی رو تجربه کنی و یاد بگیری یا مهارت عملی خاصی به دست بیاری. فقط کافیه یه کامپیوتر و اتصال اینترنت داشته باشی، اونوقت کل دنیای برنامه‌نویسی رو در اختیار داری..! 4-زبان انگلیسیخبر بد اینه که منابع آموزشی برنامه‌نویسی به زبان فارسی یا کم هستن یا اگه باشن خیلی سطح بالایی ندارن، البته من قصدم بی احترامی به مدرسین برنامه‌نویسی نیست اما باید قبول کرد هر تکنولوژی جدیدی که میاد توی 3-4 سال اولش منابع یادگیریش به زبان انگلیسی هست و بعدها اگر به زبان فارسی ترجمه بشه (و خوب ترجمه بشه) یا هم حتی نشه! در نتیجه شما نیاز دارین که زبان انگلیسی رو هم یاد بگیرین تا بتونید درکنار منابع فارسی از منابع زبان انگلیسی هم استفاده کنید. یادگیری زبان انگلیسی = 70 درصد یادگیری راحت تر برنامه‌نویسی!شما نیاز ندارید که زبان انگلیسی رو تا حد حرفه ای یاد داشته باشین! همین که دارین برنامه‌نویسی یاد میگیرین سعی کنید در کنارش روزی 1 تا 2 ساعت هم به یادگیری زبان بپردازین. مطمئنا رفته رفته که نیازتون به منابع خارجی بیشتر میشه، زبانتون هم قوی تر میشه.5- دانش پایه کامپیوترنترسید..! منظورم اصلا چیز خاصی نیست. همین که شما بلد باشین با کامپیوتر کار کنید یعنی یه برنامه ای نصب کنید یا وارد یه وبسایتی بشین و یه چیزی دانلود کنید یا تنظیماتی توی کنترل پنل ویندوز انجام بدین یعنی پایه و مبانی کامپیوتر رو بلدین! درواقع شما نیاز دارید تا اول یه کاربر کامپیوتر باشین تا بعد بخواین یه برنامه نویس بشین!اگه مبانی کامپیوتر و کار با سیستم عامل رو ندونید، شاید حتی نتونید محیط برنامه‌نویسیتون رو نصب کنید! پس فکر نمیکنم دلیل دیگه ای لازم باشه بیارم تا اینکه بهتون ثابت بشه مبانی کامپیوتر برای یه برنامه‌نویس چقدر مهمه! 6- تفکر برنامه‌نویسحالا که شما دارین برنامه‌نویس میشین، چقدر خوبه که مثل یک برنامه‌نویس فکر کنید! شاید بگین یعنی چی؟! یعنی اینکه یک ذهن جستجوگر داشته باشین، با سرچ کردن دوست باشید! کدها رو کپی نکنید و در نهایت از مشکلات و باگ ها نترسید؛ درواقع شما باید یه روحیه شکست ناپذیر داشته باشید. ممکنه یه مشکلی هفته ها برای شما باشه، این دلیل نمیشه که کلا از برنامه‌نویسی دست بکشین. در نبرد بین انسان های سخت با روزهای سخت، انسان های سخت میمانند و روزهای سخت میگذرند..! یه جا خونده بودم که نصب محیط برنامه‌نویسی و نصب پکیج هایی که برای برنامه‌نویسی لازم دارین یکی از سخت‌ترین قدم هاس! پس اگه توی همچین مرحله ای هم گیر کردین هیچوقت دست از تلاش نکشید! شما توی مسیر درستی هستین..<<باور های غلط>>خب.. 6 موردی که برای برنامه‌نویسی لازم داشتین بررسی شد. حالا برسیم به باورهای غلط. باور های غلط درواقع مواردی هستن که برای شروع و یادگیری برنامه‌نویسی اصلا ضرورتی ندارن اما خیلی ها دچار وسواس شدن و فکر میکنن باید همه چیز کامل باشه تا شروع کنند و موارد دیگه ای که اینجا بهشون میپردازیم. اینجا آخر هر عنوان یه علامت تعجب گذاشتم..که نشون بده چقدر این موارد غیرضروری هستند!پیشنیازهای برنامه‌نویسی و سطح هوش بالا! هر چیزی به جز 6 موردی که گفته شد تا حدودی اضافه کاری هستش. شما قراره به یک دنیای جدید وارد بشین <<برنامه‌نویسی>> پس چیز به درد بخور زیادی نمیتونید بردارین چون همه چیز جدیده! مثل این میمونه که مثلا فرض کنید قراره برین به یه سیاره ای که آدم فضایی ها اونجا هستن، آیا اگه شما باهوش ترین آدم دنیا باشین و حتی همه کتاب های توی کره زمین رو بردارین با خودتون ببرین به علمتون توی شناخت اون سرزمین کمکی میکنه؟! میشه گفت تقریبا نه!پس شما نیاز نیست که یه آدم عجیب و غریب باشین که برنامه‌نویسی یاد بگیرین. نیاز نیست که خیلی سواد بالایی داشته باشین یا آی کیو بالای 160 داشته باشین! حتی اگه توی ریاضی یا درس های دیگه ای توی مدرسه ضعیف بودین بازم دلیل بر این نمیشه که شما نمیتونید برنامه‌نویس خوبی باشین! قطعا شما هم میتونید برنامه‌نویس بشید. شما تنها به یک ذهن باز و پر از خلاقیت نیاز دارین...ظاهر خاص برای برنامه‌نویس! خیلی ها، خیلی از برنامه‌نویس ها رو میبینن که شکل و قیافه خاصی دارن و به این نتیجه رسیدن که آره! برای برنامه‌نویس شدن باید ریش بلند و عینک و این چیزا داشت! در واقع هرکسی میتونه ظاهر خودش و لایف استایل خودش رو داشته باشه و هر کسی که عینک و ریش داره ضرورتا برنامه‌نویس نیست!همینطور که ما برنامه‌نویس های زیادی هم داریم که ظاهر خیلی معمولی دارن. پس خودتون رو درگیر این نکنید که حتما باید ظاهر و قیافه عجیب غریبی داشته باشید..! ظاهر خاص برای محیط برنامه‌نویسی!این یکی از مواردی هستش که علاوه بر وسواس و کم کردن سرعت شما توی روند یادگیری، هزینه هم خواهد داشت..! مثلا خیلی ها هزینه زیادی میکنن تا صفحه‌کلید های آنچنانی با قیمت های زیاد رو تهیه کنند یا سیستم های خیلی قدرتمند و رنگی رنگی میخرن، چند تا مانتیور میذارن جلوی خودشون یا حتی تمام ادیتورهای برنامه‌نویسی که تم های قشنگی دارن رو نصب میکنن و کتاب های برنامه‌نویسی رو میچینن روی میز با یه حالت شلخته که بگن: "ما برنامه‌نویس هستیم!"...باید به این دوستان بگم که این کارها به جز چند تا پست اینستاگرامی خیلی قشنگ، چیز بیشتری براتون نداره و بهتره به جای اینکه ظاهر ماجرا رو درست میکنید، خود برنامه‌نویسی رو یاد بگیرین و سعی کنید که از درون خودتون رو قوی و قشنگ نشون بدین. البته من مانعی برای ساخت ستاپ ها و محیط های خفن برنامه‌نویسی نمیبینم اما باید بدونید که این محیط ها از شما برنامه‌نویس نمیسازن و اصلا هم لازم نیست و درنهایت این چیزا برای شما دو سه هفته ای انگیزه به همراه دارن..! موزیک های مخصوص برنامه‌نویسی و تمرکز بیشتر روی کار (کانال تلگرام)سخن نهاییتوی این مقاله هر چیزی که برای شروع برنامه‌نویسی نیاز داشتین و همچنین هر چیزی که نیاز ندارید گفته شد. پیشنهاد من اینه که از حاشیه ها تا حد امکان بزنید و سرعتتون رو توی یادگیری زیاد کنید. خیلی مهم نیست همه چیز کامل باشه، با حداقل امکاناتی که دارین شروع کنید و من مطمئنم اگه مصمم و صبور و خلاق باشین، به جاهای خیلی باحالی توی برنامه‌نویسی میرسین :)موفق باشید / آقای ربات