همه ما در زندگی تصمیم گیری های مهمی انجام میدهیم. تصمیم هایی که در آینده و مسیر زندگی ما تاثیر زیاد و حیاتی دارد که اگر اشتباه کنیم ممکن است غیر قابل جبران باشد و یا اگر بخواهیم آن را جبران کنیم راهی سخت در پیش روی داریم. یکی از این تصمیمات انتخاب رشته ای به عنوان تحصیل و فرصت شغلی آن برای آینده است.
یکی از برترین و پرکاربرد ترین شغل های دنیا، برنامه نویسی است. از این رو بسیاری از افراد که از دانشگاه فارغ التحصیل می شوند یا علاقه به کار کردن با کامپیوتر دارند، معمولا تلاش میکنند تا وارد گروه برنامه نویس ها شوند و درآمد خود را از آنجا رقم بزنند. حال که میخواهید اولین گام ها را برای شروع برنامه نویسی از ابتدا بردارید، دانستن نکاتی لازم است که میخواهیم آنها را برای شما بیان کنیم؛ زیرا شروع برنامه نویسی یک سری ریزه کاری ها و تصمیمات ابتدایی دارد که میتواند به انتخاب شما جهت دهد. در ادامه به توضیح این ریزه کاری ها میپردازیم تا آنها را در وجود خود بررسی کنید تا بهترین نتیجه را بگیرید.
چگونه برنامه نویسی را شروع کنیم؟
-
انتخاب براساس علاقه نه صرفا درآمد:
برنامه نویسی اگر خیلی خوب صورت بگیرد، بیشترین پول ها بابت آن داده می شود، اما این دلیل اصلی انتخاب شما برای برنامه نویس شدن نیست. بلکه ماهیت این شغل به گونه ای است که باید ابتدا با عشق و علاقه وارد آن شوید. حتی اگر فکر می کنید به این کار علاقه دارید، باید خود را در مسیر قرار داده تا از علاقه تان مطمئن شوید. چجوری؟ با کار کردن در زمان محدود چند ماهه.
بنابراین این شغل را می بایست ابتدا با دل شروع کنید. اگر صرفا نگاه محاسبه گر درآمدی داشته باشید مطمئنا جا می زنید. برخی از افراد به این شغل به عنوان یک کسب و کار با کلاس نگاه می کنند که البته این دیدگاه نیز اشتباه است و باید باز هم علاقه و استعداد خود را بسنجید.
-
انتخاب حوزه برنامه نویسی برای شروع برنامه نویسی
گام بعدی موفقیت در این مسیر انتخاب یکی از بسترهای برنامه نویسی برای شروع به کار است. دوست دارید در چه زمینه ای کد نویسی کنید؟
به طور کلی به سه دسته: برنامه نویسی دسکتاپ، تحت وب و موبایل تقسیم میشود که در ادامه به توضیح آن میپردازیم.
برنامه نویسی دسکتاپ را، با اپلیکیشن هایی می شناسیم که روی ویندوز یا سایر سیستم عامل ها نصب می شوند و به شما امکان کار کردن از این اپلیکیشن ها را فقط از طریق ویندوز و پنجره ها می دهند. مثل نرم افزارهای دسکتاپ حسابداری و مدیریت شخصی و حتی برنامه هایی مثل آفیس و غیره. این روزها درخواست های برنامه نویسی دسکتاپ بسیار افول کرده اما هنوز به خط صفر نرسیده است.
-
معرفی برنامه نویسی تحت وب:
بسیاری از کارهایی که این روزها انجام میگیرد از طریق نرم افزارهای آنلاین، سایت ها و فرم هاست که دسترسی به این ابزارها از طریق مرورگر امکان پذیر است. به این گونه ابزارها اپلیکیشن های تحت وب می گویند. به عنوان مثال، سامانه سنجش و هر گونه سامانه آنلاین، در دسته اپلیکیشن های تحت وب گنجانده می شوند و برای اجرای آن ها نیاز به آموزش برنامه نویسی تحت وب است.
به شما پیشنهاد میکنم اگر قصد یادگیری در این حیطه آموزشی را دارید به مقاله زبان هایی که شما را به یک برنامه نویس ماهر وب تبدیل میکند، سر بزنید.
برنامه نویسی موبایل در سال های اخیر بیشتر رواج پیدا کرد. زیرا موبایل، بیش از پیش در زندگی مردم رسوخ کرده است. فقط نکته ای که باید به شما بگویم این است، اگر قصد دارید وارد برنامه نویسی موبایل شوید، باید انتخاب کنید که می خواهید برای اپلیکیشن های اندوریدی کدنویسی کنید یا ios. زیرا اپلیکیشن های اندرویدی و ios دو دسته مهم در برنامه نویسی موبایل هستند که با کلیک روی کلمه برنامه نویسی موبایل میتوانید زبان مورد نیاز برای یادگیری را انتخاب کنید.
اصطلاحات مهمی که هر برنامه نویس باید بداند
با توجه به آن چه که تا کنون گفتیم، باید بتوانید زمینه برنامه نویسی و پلتفرم کاری خود را انتخاب کرده باشید و بدانید که این شغل آینده شما هست یا خیر؟
اگر انتخابتان برنامه نویسی است باید به شما بگویم: به دنیای برنامه نویسی خوش آمدید. اجازه بدید اولین نفری باشم که برنامه نویس شدنتون رو تبریک میگه. خب برنامه نویس آینده، باید قبل از وارد شدن به مسیری که در پیش داری با چند اصطلاح مهم در شروع برنامه نویسی آشنا شوی. پس با من همراه شو.
همان طور که از اسمش پیداست، برنامهای است که با آن به ویرایش متن میپردازیم. گرچه این مفهوم میتواند ساده به نظر بیاید؛ اما اگر بدانید استفاده از یک ویرایشگر متن مناسب تا چه اندازه مهم است، شگفتزده خواهید شد.
Notepad در ویندوز یک نمونه معروف از نرمافزار ویرایشگر متن است. با این وجود، برنامههای ویرایشگر متن به دلیل قابلیتهای برنامهنویسی که دارند، دارای دستورها و ویژگیهای مختلفی هستند. بدین ترتیب امکان کدنویسی سریعتر و تمیزتر فراهم میشود.
یکی از این ویژگیهای مهم، هایلایت کردن دستور زبان (syntax highlighting) است. این قابلیت به نرمافزارهای ویرایش متن، امکان هایلایت کردن بخشهای مختلف متن با رنگهای مختلف را میدهد. بدین ترتیب برنامهنویس میتواند دستورها، زبانها، و نمادهای مختلف را با نگاهی گذرا در سند شناسایی کند. هایلایت کردن دستور زبان برای توجه به خطاها و جداسازی بخشهای مختلف کد کاملاً ضروری است. این قابلیت همچنین باعث تسریع در درک منطق برنامهنویسی میشود. یک مثال ساده، یک پرانتز باز قرمز رنگ به این معنی است که باید پرانتز بسته نیز نوشته شود.
++Notepad و Sublime Text دو نمونه دیگر از نرمافزارهای ویرایش متن خوب هستند که میتوانید آنها را مورد استفاده قرار دهید.
با این که نرمافزارهای ویرایش متن صرفاً روی کدی که مینویسید تمرکز دارد؛ اما IDE نوعی محیط امن محسوب میشود که میتوانید در آن برنامه خود را نوشته، کامپایل (ترجمه از متن به زبان رایانه)، تست و دیباگ (تصحیح یا اشکالزدایی) کنید. کلمه محیط در عبارت «محیط توسعه یکپارچه» واژههای کلیدی محسوب میشود، زیرا استفاده از یک IDE به معنی استفاده از چند ابزار برنامهنویسی است که در یک برنامه واحد بستهبندی شدهاند. بنابراین از شما انتظار میرود که از این ابزارها برای ساخت یک محصول استفاده کنید.
شاید مدیریت یک فایل HTML که توسط یک فایل CSS تغییر مییابد کار آسانی باشد؛ اما در پروژههای پیچیدهتر که نیازمند لینک کردن بین زبانهای مختلف برنامهنویسی، فریمورکهای متفاوت و مواردی از این دست هستند، استفاده از IDE بسیار کار را سادهتر میسازد. این همان جایی است که IDE فایده خود را نشان میدهد، زیرا باعث یکپارچه شدن فایلها، پوشهها و ابزارها در یک بستهبندی آسان میشود.
-
زبان های برنامهنویسی در برابر زبانهای اسکریپتنویسی
یکی از بحثهای مشهوری که در دنیای برنامهنویسی همواره میبینیم، مربوط به مقایسه بین اسکریپت و زبان برنامهنویسی است. با این که اغلب برنامهنویسها معمولاً همه کدها را نوعی زبان برنامهنویسی میدانند؛ اما تمایز باینری ظریفی بین یک زبان برنامهنویسی و زبان اسکریپتنویسی وجود دارد:
زبانهای برنامهنویسی کامپایل میشوند، در حالی که زبانهای اسکریپتنویسی تفسیر میشوند.
-
فریمورکها در برابر کتابخانهها
یک فریمورک، طرح اولیه کدنویسی است برای راهنمایی یک پروژه کدنویسی. فریمورک در سطحی جدا از زبان برنامهنویسی قرار دارد و تعیین میکند که کدام جنبههای زبان برنامهنویسی در پارامترهای مشخص باید استفاده شوند. برای نمونه Bootstrap یک فریمورک فرانت-اند یعنی زبان سمت کاربر است که امکان فراخوانی مجموعهای از ابزارهای UI یعنی تجربه کاربری وب برای اجرای وظایف مختلف را فراهم میسازد و C# یک فریمورک بک-اند یعنی سمت سرور است که کدنویسی آن توسط کاربر قابل مشاهده نیست و تعیین میکند دادهها چگونه باید روی یک سرور ذخیره شوند.
ازسوی دیگر، یک کتابخانه قطعهای کد با قابلیت استفاده مجدد است که در یک پروژه قرار گرفته و وظیفه خاصی را اجرا میکند. فریمورکها در اغلب موارد شامل کتابخانههایی هستند که به کاربران امکان ادغام کتابخانهها برای افزایش قابلیتهای فریمورک های برنامهنویسی را میدهند. برای مثال Ruby Gems کتابخانههایی هستند که از زبان برنامهنویسی روبی استفاده میکنند. سپس این کتابخانهها در فریمورک Ruby on Rails ادغام میشوند تا کارکردهای کد شما را افزایش دهند.
دو نوع کلی از کدنویسی وجود دارد که شما به عنوان یک برنامهنویس باید انجام دهید: کد مناسب که نیازمند دستور زبان مناسب است و شبه کد. دستور زبان، ساختار هر زبان برنامهنویسی را تعریف میکند که اگر تعریفی از آن بخواهم بگویم به قواعد و راهنماهای مناسب برای یک زبان جهت برنامهنویسی یک دستور خاص اشاره دارد.
شبه کد، به منظور توضیح منطق دستور زبان برنامهنویسی با استفاده از زبان معمولی استفاده میشود. در این روش به جای این که بخواهیم کدی برای اجرای دستورهای برنامه بنویسیم، قصد داریم منطق دستورها را پیش از پیادهسازی آن با استفاده از دستور زبان روشن سازیم. شبه کد یک قالب برای کد ایجاد میکند که باعث میشود تکمیل کردن برنامه سادهتر شود و قالبهای کدنویسی خاصی در ذهن شکل بگیرند.
آیا برای برنامه نویس شدن به دانشگاه نیاز است؟
ممکن است الان این سوال برایتان پیش آید که برای برنامه نویس شدن حتما نیاز به مدرک دانشگاهی است؟
به گفته متخصص Nick Larsen در پاسخ به این سوال، اینگونه عنوان کرده که سه حالت دربارۀ هر شغلی وجود دارد:
- مشاغلی که در آن مدرک تحصیلی الزامی ندارد
- مشاغلی که داشتن مدرک، مزیت محسوب میشود ولی لزومی ندارد
- و مشاغلی که در آنها مدرک تحصیلی یک الزام است
در ادامه میگوید: برای استخدام شدن به عنوان برنامهنویس، باید به شرکت مورد نظر نشان دهید چه کاری تا حالا انجام داده اید. نمونه کار و رزومهای از پروژهها و محصولاتی که در ساخت آنها همکاری کردین، از سالها تجربه داشتن و دانشگاه رفتن با ارزشتره!
همچنین طبق گزارشی در رابطه با برنامهنویسی شدن بیان میکند که چیزی در حدود 56٪ برنامهنویسان در حقیقت مدرکی در علوم کامپیوتری یا مدارک مرتبط ندارند. در واقع محبوبترین روش یادگیری برای برنامهنویسان به نوعی خودآموزی است.
با این اوصاف که در مورد برنامه نویسی بدون مدرک دانشگاهی صحبت کردیم و گفتیم دانشگاه، تنها راه موفقیت در حوزه برنامه نویسی نیست چرا پس دانشگاه بریم؟ ببینید دوستان باید قبول کنید، وقتی ما وارد دانشگاه می شویم وارد یک دنیای دیگر میشویم که به عنوان دنیای فرهنگی و علمی شناخته می شود، به ما جایگاه اجتماعی می دهد و باعث رشد شخصیتی ما می شود. با دانشگاه رفتن می توانید از لحاظ روابط اجتماعی رشد زیادی داشته باشید. نکته مهم در این بخش، اگر میخواهید در سازمان های دولتی استخدام شوید مدرک تصصیلی واقعا نیاز است و باید پیگیر گرفتن آن باشید.
راه های شگفت انگیز برای برنامه نویس شدن:
کتاب های آموزشی:
اگر اهل کتاب هستید، این روش یکی از بهترین روشهای یادگیری برنامه نویسی محسوب میشود. میدانیم که هر کتاب حاصل چندین سال زحمت یک نویسنده و حتی چندین نویسنده است. برای انتخاب کتاب سعی کنید نکات زیر را به یاد داشته باشید:
-
بهتر است کتاب ها به صورت ورک شاپ باشند
-
بهتر است که نویسنده از نظر توانایی آموزش سرشناس باشد
-
بهتر است که امکان تمرین کردن در کتاب قرار داده شده باشد
-
کتاب و محتویات آن بروز باشد
جستجو در اینترنت:
اینترنت یک منبع غنی برای یادگیری است و هر چه که فکرش را بکنید در آن یافت میشود. اما این روش در کنار خوبیهای زیاد خود یک سری ایرادها نیز دارد. بنابراین در صورتی که از این روش یادگیری برنامه نویسی استفاده میکنید، بهتر است سایتهای خوب را از بد تفکیک کنید. ما این کار را برای شما آسان کرده ایم و میتوانید از مقاله بهترین سایت های آموزش برنامه نویسی ما بهره ببرید.
برای استفاده از این روش در برنامه نویس شدن موارد زیر را نیز در نظر بگیرید:
-
دانستن زبان انگلیسی ( برای سایت های خارجی )
-
علاقه زیاد
-
حوصله زیاد
-
مدت زمان کافی
-
برنامه ریزی دقیق و گام به گام
-
تمرین زیاد در حین آموزش
کارآموزی:
بسیاری از افراد معتقد هستند که بهترین روش برای یادگیری برنامه نویسی، کار بر روی پروژههای واقعی هر چقدر کوچک است. این روش بسیار خوب و استاندارد است. در واقع وقتی بر روی پروژههای واقعی کار میکنید، در طول انجام پروژه و همین طور برطرف کردن خطاها میتوانید به سادگی برنامه نویسی را یاد بگیرید. بهتر است برای پیدا شدن یک تیم برنامه نویسی خوب و دلسوز نهایت دقت را داشته باشید.
کلاس های آموزشی:
افرادی که در کلاس های حضوری یادگیری بهتری دارند، قطعاً میتوانند به بهترین شکل ممکن از کلاسهای یادگیری برنامه نویسی استفاده کنند. وقتی در کلاس هستید، میتوانید بر روی پروژههای حضوری بهتر تمرکز نمایید و سؤالاتی که در ذهن شما نقش میبندد را به سرعت برطرف سازید. همانطور که مشخص است این روش از دیگر روش ها هزینه برتر است و به هر حال نیاز است که بودجه ی بیشتری از سوی شما فراهم شود. وجود یک استاد سبب میشود که دانش و تجربه ی برنامه نویسی شما افزایش یابد. زیرا در واقع فردی وجود دارد که مسیر را به شما نشان میدهد و کمک میکند که استعداد خود را در مسیر صحیح به کار بگیرد.
دیدن فیلم های آموزشی:
شما میتوانید از فیلمهایی که توسط برترین شرکتهای آموزشی تکثیر میشود، استفاده کنید. به این ترتیب یک دوره ی کامل آموزشی به شما معرفی میشود و از ابتدا، از نحوه ی نصب ابزارها میتوانید وارد یادگیری شوید. در نظر داشته باشید که شما برای کد نویسی میبایست کمی دقیق تر باشید و وقت بیشتری بگذارید. مزیت یادگیری برنامه نویسی از طریق فیلم به این شکل است که میتوانید بارها و بارها بخش مورد نظر را تماشا کرده و از آن بهرهمند شوید.
کلام آخر:
اگر بخواهم بگویم که از شروع برنامه نویسی تا برنامه نویس شدن چه مدت طول میکشد بسته به انتخاب نوع زبان برنامه نویسی، به مدت زمان وقت گذاری و استعداد و هوش شما دارد. ولی به طور کلی میتوان گفت اگر به مدت 3 الی 6 ماه به درستی وقت بگذارید به جایگاه خوبی در برنامه نویسی دست پیدا میکنید.
نکته مهمی که در این حوزه وجود دارد و باید توجه ویژه به آن شود، بحث یادگیری مستمر می باشد. متاسفانه خیلی از کسانی که به صورت خودخوان برنامه نویسی کار می کنند یک روز کار می کنند یک روز کار نمی کنند. اگر می خواهید یک برنامه نویس حرفه ای شوید و به درآمدهای خوب برسید باید به صورت مستمر آموزش ببینید و تمرین کنید. دوستان هیچ چیزی مثل تمرین کردن نیست، اگر تمرین نکنید هیچ وقت برنامه نویس نمی شوید.
ممنون از اینکه ما را همراهی کردید. خوشحال میشیم که اگر تجربه ای از این مسیر دارید با ما به اشتراک بگذارید.
نظر شما در تصمیم دیگران اثرگذار است.
لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.