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

یک برنامه نویس واقعی کیست؟

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

یرنامه نویس هستی؟

۱- کسی که میتونه جستجو کنه Who can search

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

۲ – کسی که میتونه یاد بگیره Who can Learn

توی پست یاد بگیریم چگونه یادبگیریم ؟  گفتم که نیاز داریم یاد بگیریم که چطوری یاد بگیریم، بهتره یه نگاهی بهش بندازین و با مفاهیمی که مطرح شده آشنا بشین

۳ – کسی که بتونه فکر کنه Who can think

فکر کردن

ممکنه براتون سوال پیش اومده باشه که برنامه نویسی داریم که فکر نمی کنه؟ متأسفانه یا خوشبختانه باید بگم بله، خیلی از برنامه نویس ها وجود دارن که صرفاً کپی می کنن و حتی نمی دونن چه چیزی رو برای چه کاری کپی می کنن. برنامه نویس های مبتدی رو نمیگما! روی صحبتم با یه سری از حرفه ای های این کار هست. تکنولوژی در برنامه نویسی به جایی رسیده که خیلی راحت می تونین با چند تا از ماژول ها و پلاگین ها، نرم افزار خلق کنین. نمونه هاش همین موتور های بازی سازی و وردپرس هستن، نمی خوام بگم این کار بد هستا، نه، ولی این که بدونی چی رو برای چی کپی می کنی، مهمه!

۴ – کسی که می تواند پیش بینی کند

پیش بینی

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

۵ – کسی که می تونه موفق نشه

شکست

من با این جمله که میگه شکست عامل موفقیت هست، مخالفم! شکست ابداً مقدمه پیروزی نیست، بلکه عامل شکست های بعدی هست! به دلیل اینکه اعتماد به نفس شما رو میاره پایین، سرمایه تون از بین میره، ترس بیشتر میشه، اعتماد دیگران به شما کم میشه و… پس مقدمه ای بر پیروزی نیست! اما می تونیم بگیم که کسی هست که مدام نا موفق میشه. برای مثال شما یه کدی رو می نویسین، بعد میبینین به مشکل می خوره، هفته ها وقت میذارین و بالاخره اجرا میشه، حالا ممکنه پیش خودتون بگین خب این کار باید همون ۲ – ۳ روز اول میشد ولی من ۲ – ۳ هفته وقت گذاشتم که الان نتیجشو ببینم؟! همین سوال و همین وقت گذاشتناست که باعث میشه افراد ضعیفی که می خوان برنامه نویس بشن، همون اول بسم الله دمشونو بذارن رو کولشون و در برن.

 

علاوه بر ۵ خاصیتی که برای یک برنامه نویس خوب متصور هستم، یه سری خصوصیت هم هست که باعث تقویت برنامه نویس میشه و اونو به سطح های بالاتری می رسونه

از دیگران سبقت بگیر

۱ – شناخت ابزار ها

وقتی ما میگیم ابزار، منظورمون notepad و… نیست (البته اون ها هم ابزار محسوب میشنا)، بلکه زبان های برنامه نویسی متفاوتیه که در دنیای کامپیوتر وجود داره، شما وقتی که به یک زبان مسلط هستین، هنوز نمی تونین اسم خودتونو بذارین برنامه نویس! چون فکر می کنین فقط همین زبان تو دنیا وجود داره و همه چیز رو از منظر اون میبینین. فکر می کنین فقط اینجا if هست، فقط اینجا شی گرایی هست ولی یه مقدار که میگذره، متوجه میشین که این موارد در همه زبان ها یکی هستن و شما با یک تئوری واحد سر و کار دارین، اون موقع هست که متوجه میشین اساس بر فکر کردنه و بحث تئوری چیز خاصی نیست، حالا باید یاد بگیرین که چجوری فکر کنین و چجوری الگوریتم بنویسین و…

۲ – شناخت محدودیت ها

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

۳ – تایپ سریع

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

۴ – سریع فکر بکنه

یعنی اینکه نباید تعلل بکنی و سریع یه خودکار و کاغذ بیاری و برنامه ریزی بکنی، باید به محض اینکه یک if می نویسین، اگه احساس می کنین باگی ایجاد می کنه، همون لحظه جلوشو بگیرین یا یه کامنتی بذارین، خیلی سریع باید فکر بکنین

۵ – تنبل باشه

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

 

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

منتظر نظرات گرم شما هستم

دسته‌ها: آموزش

0 دیدگاه

پاسخی بگذارید

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