سلام بچه های گل دوباره برگشتم با یه مطلب جدید و مفید در دنیای برنامه نویسی امیدوارم به دردتون بخوره مخصوصا اونایی که تازه برنامه نویسیو شروع کردن
برنامه نویسی backend در حیطه ی کاری وب هست ، برنامه نویسی وب به دو دسته بندی کلی backend به معنی سمت سرور و frontend به معنی سمت کلاینت یا کاربر تقسیم بندی میشود.
بزارید اول مقاله بگم که این نوشته ترجمه نیست ، از آمارهای خارجی نیست و .... اینا همشون حاصل تحقیقات خودمه که هم برای بازار کار ایران صدق میکنه هم خارج از ایران ، خاستم یه چیز معیار در بیارم که همه جا به درد بخوره و ترتیب هایی که در لیست پایین هست هم مهمه هرکدوم اول گفتم اهمیت بالاتری داره هر کدوم آخر اهمیت کمتری داره
در لیست پایین اسم زبان های برنامه نویسی مناسب بک اند را آوردم و از بالا به پایین اهمیتشون کمتر میشه یعنی هر کدوم بالاتره بازار کار بهتری داره ، برای بک اند مناسب تره ، راحت تره و کلی فاکتور دیگه ....
پی اچ پی یک زبان برنامه نویسی برای وب در قسمت بک اند یا سمت سرور هست. با پی اچ پی میتوانید هر نوع وب سایتی را بسازید. سایت های بزرگ دنیا از PHP استفاده میکنند اما دلایلی که در زیر آورده ام شمارا ترغیب میکند که پی اچ پی یاد بگیرید :
محبوب ترین زبان برنامه نویسی سمت سرور است.
فریمورک های محبوبی مثل لاراول و ... برای پی اچ پی است.
با این زبان میتوانید برای وردپرس قالب و افزونه بنویسید.
فروشگاه سازهای مختلفی مثل اپن کارت با این زبان طراحی شده است.
تهیه هاست و سرور مجازی برای پی اچ پی راحت و ارزانتر است.
برای یادگیری پی اچ پی میتوانید از دوره ی جامع php سایت آواسام استفاده کنید.
پایتون یک زبان همه کاره هست و تقریبا در هر پلتفرمی قابل استفاده است ، فریمورک ها و کتابخانه های زیاد پایتون در زمینه ی برنامه نویسی وب و backend باعث شده این زبان برنامه نویسی یکی از محبوبترین زبان های برنامه نویسی وب باشد.
فریمورک های معروفی همچون جنگو ، فلسک و fast api برای برنامه نویسی انواع وب سایت های پیشرفته و حرفه ای مناسب است.
پایتون برای پروژه های وب که از حجم بالای کاربران برخوردار است مناسبه البته ترافیک بسیار بالا را شاید به کندی حل بکنه و بجاش از نود جی اس یا گولنگ استفاده میشود ولی در نوع خود فریمورک جنگو زبان پایتون سرعت توسعه ی پروژه های وب را بسیار افزایش میده
گولنگ زبان برنامه نویسی نسبتا جدیدی نسبت به پایتون و پی اچ پی هست و از محبوبیت کمتری هم نسبت به آنها برخوردار است چون زبان برنامه نویسی تخصصی تری است . یکی از مهم ترین دلایل که برنامه نویسان به سمت زبان برنامه نویسی گولنگ مهاجرت میکنند پرفرمنس عالی این زبان در بحث برنامه نویسی وب است.
سایت هایی که ترافیک بالایی دارند یا اصطلاحا از نوع بیگ دیتا حساب میشوند برای کنترل بار ترافیک بسیار بالا گولنگ واقعا عالی هست
همچنین این زبان یک زبان ایستا شبیه به سی و سی پلاس پلاس میباشد.
این زبان برنامه نویسی تقریبا ساده است و اگر قبلا زبان های برنامه نویسی مثل java یا سی پلاس پلاس را کار کرده باشید به راحتی میتوانید گولنگ را یاد بگیرید و در برنامه نویسی وب استفاده کنید.
محبوبیت گولنگ رو به افزایش است و در پروژه های بزرگی نیز استفاده میشود ، اگر به فکر یادگیری آن هستید و نگران آینده هست معطل نشوید و همین الان شروع کنید چون احتمال زیاد آینده ی این زبان در برنامه نویسی بک اند عالی خواهد بود.
نود جی اس برپایه ی زبان برنامه نویسی جاوااسکریپته ، در واقع نود جی اس یک محیط اجرایی یا runtime هست که به شما اجازه میده با زبان برنامه نویسی javascript در سمت بک اند ، برنامه نویسی وب انجام بدهید.
هدف اصلی بوجود آمدن نود جی اس کنترل ترافیک های بالا در وب ، پروژه های آنی یا realtime و سرعت پاسخگویی بالا بوده است.
به همین علت بیشتر پیام رسان ها و اپلیکیشن های چت با نود جی اس نوشته میشود چون نیاز به برقراری ارتباط دائم با سرور دارند یا اصطلاحا پروژه های realtime هستند.
نود جی اس در زمان بسیار کمی که منتشر شده است توانسته به شدت محبوب شود و در بسیاری از پروژه های جهانی مورد استفاده قرار میگیرد.
جاوا یکی از زبان های برنامه نویسی قدیمی است که در پلتفرم های مختلفی کاربرد دارد. از برنامه نویسی نرم افزار دسکتاپ بگیر تا ساخت بازی و اپلیکیشن های موبایلی از جاوا استفاده میشود.
این زبان برنامه نویسی در سمت سرور یا backend نیز قابل استفاده است و با تخصص جاوا میتوانید انواع وب سایت ها را در زمینه های مختلف بسازید.
زبان جاوا نیز همانند زبان های پی اچ پی و پایتون ، برای دنیای وب فریمورک های کمکی زیادی دارد که شما بعنوان برنامه نویس جاوا باید یکی از این فریمورک ها را یاد بگیرید تا بتوانید در حیطه ی برنامه نویسی بک اند یا سمت سرور کار کنید. معروف ترین فریمورک های جاوا برای برنامه نویسی وب Spring Boot , Hibernate و ... میباشد.
اگه به برنامه نویسی علاقه دارین شاید توجه به اتفاقاتی که در سطح پایین میوفته هم براتون جالب باشه و هم آموزنده
برای خود من سوال بود که چطور یک پروژه که توسط برنامه نویس نوشته میشه به اجرا در میاد ، حالا ممکنه این پروژه یه اپ موبایل باشه و روی موبایل اجرا شه یا یه سایت باشه توسط سرور اجرا شه هیچ فرقی ندارن یه سری اصول و منطق هایی پشت ماجرا هست که اگه درک کنید کلی در برنامه نویسی پیشرفت میکنید.
در کل زبان های برنامه نویسی دنیا به سه دسته بندی تقسیم میشه که اگه این سه دسته بندی رو درک کنیم کامل میتونیم بفهمیم که چه اتفاقی در سطوح پایین برای اجرای یک پروژه ی برنامه نویسی میوفته :
ماشین در اینجا به هر دستگاهی اشاره میشه که قابلیت پردازش داره ، یا بهتره بگیم درون خودش یک CPU داره که اطلاعات را مثل کامپیوتر پردازش میکنه
گوشی موبایل هوشمند
ساعت دیجیتالی
تلویزیون های اسمارت
کامپیوتر یا لپتاپ
همه از این دسته هستند و اگه گفتیم ماشین منظور یه چنین دستگاه هایی هست.
اینا همشون قابل برنامه ریزی هستن یعنی ما بعنوان انسان میتونیم بهشون دستور بدیم و بگیم چیکار بکن
ولی این دستگاه ها زبون ما آدم ها حالیشون نمیشه یه زبان خاص برای خودشان دارن که بهش گفته میشه زبان ماشین
زبان ماشین متشکل از اعداده و شما بخای با این دستگاه ها صحبت کنید باید با زبان خود اون ماشین که ترکیبی از اعداد هست صحبت کنی
پس ماشین زبان انسان رو نمیفهمه و اگر با اعداد خاصی باهاش صحبت کنید دقیقا میفهمه چی میخایید. برنامه نویس ها دیدن که چنین گفتاری واقعا سخته و برنامه نویسا برای نوشتن ساده ترین برنامه ها باید کلی زمان بزارن درصد خطا بالا خواهد رفت و دیگر داستانا
اینجا بود که زبان اسمبلی اختراع شد.
همونطور که در بالا دیدید صحبت کردن با خود ماشین یعنی دستگاه هوشمند واقعا سخته ، شما بعنوان برنامه نویس نمیتونی یه اپلیکیشن موبایل رو صرفا با اعداد بنویسی
اینجا بود که دانشمندان کامپیوتر زبان جدیدی خلق کردن و گفتن ما بجای گفتن اعداد بهتره اونا رو تبدیل به کلمات انگلیسی کنیم و به کامپیوتر بگیم و این وسط یه مترجم بزاریم که اونا رو به زبان ماشین ترجمه کنه
اسم اون مترجم هم باشه اسمبلر
اینجا اسمبلر وظیفه داره که کلمات انگلیسی که برنامه نویس نوشته را به زبان ماشین تبدیل کنه و به ماشین تحویل بده در این صورت ماشین میفهمه که چه کاری باید انجام بده
دقت کنید که این کلمات دقیقا باید منطبق بر اصول برنامه نویسی زبان اسمبلی باشه درغیر این صورت خطا صادر میشه
بعد از اینکه زبان اسمبلی اختراع شد برنامه نویس با آن باز هم سخت و پیچیده تر بود ، استفاده مجدد بخشی از کدها وجود نداشت ، شرط گذاری سخت بود و خیلی پیچیدگی های دیگری وجود داشت
همین باعث شد تا دانشمندان کامپیوتر دست به کار شوند و زبان های سطح بالاتری نسبت به اسمبلی را بسازند که راحت تر و امکانات بیشتری نسبت به اسمبلی در اختیار برنامه نویسان بزاره
و اینجا بود که زبان های برنامه نویسی سطح پایین مثل سی و سی پلاس پلاس ساخته شده
سپس همین زبان ها نیز راحت تر شدند و در قالب زبان های سطح بالا مثل جاوا ، پایتون ، سی شارپ ، کاتلین ، پی اچ پی و ... ظاهر شدند
در این حالت شما یک زبان برنامه نویسی کاملا خوانا و نزدیک به زبان انگلیسی دارید و خیلی راحت کدنویسی میکنید . کدهای شما توسط یک کامپایلر یا یک مفسر به ماشین زبان ترجمه میشود و ماشین متوجه میشود شما چه چیزی نوشته اید.
برای اینکه برنامه نویس خوبی باشید باید این مبانی را کامل درک کنید و در این صورت هیچ مشکلی نیست که شما نتوانید حل کنید و به سرعت پروژه های برنامه نویسی را جلو میبرید
اما اگر درک درستی از برنامه نویسی نداشته باشید یا از دوره ی درک برنامه نویسی کسی استفاده کنید که شما را بیشتر گمراه کند ، ممکن است مدت های زیادی سردرگم شوید و مطالب برنامه نویسی برای شما گنگ باشد و تعجب کنید که چرا موفق نمیشوید.
بهترین دوره برای درک برنامه نویسی و یادگیری آن دوره ی 12 قدم شروع برنامه نویسی استاد نیکزاد میباشد. حتما در گوگل جستجو کنید و اگر قصد دارید برنامه نویسی را قوی شروع کنید و کامل درک کنید از این دوره ی خوب استفاده کنید.
اگه این مقاله رو میخونید به احتمال زیاد دنبال یاد گرفتن برنامه نویسی هستی و به احتمال زیاد هم به برنامه نویسی بعنوان یه شغل نگاه میکنی من میخام در این نوشته کامل شما رو راهنمایی کنم که بدونید چطور میتونید یک برنامه نویس و البته برنامه نویس موفقی بشید کافیه این مقاله را با حوصله تا انتها مطالعه کنید.
در این نوشته بطور خلاصه مورد های زیر را نوشته ام :
به زبان ساده ، برنامه نویسی یعنی نوشتن کدهایی که منجر به تولید یک نرم افزار ، سایت ، اپلیکیشن ، گیم یا هرچیز مشابه دیگر شود. کد چیه ؟ کد ها در واقع همان زبان برنامه نویسی هستند که شما با آن میتوانید به کامپیوتر بفهمانید منظور شما چیست و انتظار دارین چه کاری انجام بگیره
یک مثال ساده :
اپ موبایل در نظر بگیرید که میخواهید صفحه ی ثبت نام داشته باشد ، در این صفحه باید چند ورودی از کاربر بگیرید که شامل نام ، نام خانوادگی و ... باشد شما باید با کد اینها را تعریف کنید و برای هر اقدام بعدی هم با کدنویسی بگویید که موبایل چه کاری برای شما انجام دهد.
موبایل خود یک نوعی کامپیوتر کوچک است وقتی من میگم کامپیوتر منظورم تمام دستگاه هایی هست که توانایی پردازش اطلاعات دارن مثل موبایل ، تلویزیون هوشمند و حتی یک ماشین لباسشویی که هوشمند و قابل برنامه ریزی است...
برنامه نویس کسی هست که مهارت کدنویسی را یاد میگیره و این کدها را مینویسه تا کامپیوتر متوجه شه چیکار باید بکنه ، تمام اینها رو هم جمع شده و یک محصول نهایی تولید میشود.
برای نوشتن یک سایت فروشگاهی ممکن است نیاز باشه شما چند هزار خط کد بنویسید
یا برای نوشتن یه اپلیکیشن خدماتی ممکنه نیاز باشه شما هزار خط کد بنویسید
کدها به زبان برنامه نویسی نوشته میشن که هر حیطه ای زبان برنامه نویسی مخصوص خودش را داره
برای شروع و آشنایی اسم چند زبان برنامه نویسی را در زیر اورده ام که بهتر است در ذهن داشته باشید :
برنامه نویسی به حوزه های مختلفی تقسیم بندی میشه و شما براساس علاقه ی خود باید یکی را انتخاب کنید و وارد آن حوزه شوید ، زیرا هر حوزه ابزارهای خاص خود و زبان های برنامه نویسی خاص خود را دارد و شما باید دقیقا آنها را یاد بگیرید نه چیزی بیشتر نه چیزی کمتر. در لیست زیر حوزه های مختلف برنامه نویسی را آورده ام :
برای اینکه بفهمید دقیقا چه زبانی مناسب کدام حیطه ی برنامه نویسی است ویدیو زیر را ببینید
بعد از دیدن ویدیو بالا شما میدونید که کدوم زبان یا زبان ها را باید انتخاب کنید بعد باید برید سراغ یادگیری همون زبان ها و کم کم تخصص اون حوزه را کسب کنید.
برای شروع برنامه نویسی بهتر است از یک زبان خوب و کامل مثل سی پلاس پلاس شروع کنید ، از کتاب های آموزشی ، دوره های آموزشی آنلاین و ویدیو کلیپ های آموزشی که در سایت هایی مثل یوتیوب ، آپارات و ... منتشر میشود استفاده کنید. در شروع برنامه نویسی بهتر است مفاهیم پایه ای مثل متغیر ها ، شرط ها ، حلقه ها ، توابع و ... را کامل یاد بگیرید زیرا این مباحث مبنای اصلی زبان های برنامه نویسی هستند و تقریبا در هر زبان برنامه نویسی وجود دارند.
توجه کنید که در یادگیری برنامه نویسی ، مهمترین قسمت یادگیری اصول برنامه نویسی و منطق آن هست خود زبان زیاد مهم نیست.
و اینکه بهتر است ویدیو زیر را هم ببینید :
برنامه نویسی چیزیست که با تکرار و تمرین مداوم بدست میاد سعی کنید در شروع کار پروژه های کوچک انجام بدید و رفته رفته آنها را بزرگ کنید تا مهارت برنامه نویسیتون آرام آرام شکل بگیره
در ادامه ی مسیر برنامه نویسی بهتر است در اجتماع برنامه نویسان باشید و انجمن های مختلف برنامه نویسی شرکت کنید مثل انجمن استک اورفلو ( stackoverflow ) و ...
کلید موفقیت در برنامه نویسی به نظر من استمرار است استمرار در هرچیزی استمرار در یادگیری استمرار در کار کردن استمرار در حل مسائل و مشکلات و ... باعث میشود که نتیجه ی کار برای شما راضی کننده باشد.
شرکت در دوره ی آموزشی جامع و کامل در ابتدای کار خیلی مهمه و خیلی شما را جلو میندازه پس دنبال یک دوره ی آموزشی خوبی باشید تا با استفاده از آن بتوانید وارد دنیای برنامه نویسی باشید البته دوره ای که برای شروع انتخاب میکنید بهتر است شامل مبانی برنامه نویسی هم باشه مثل دوره ی ۱۲ قدم شروع برنامه نویسی که برای خود من در شروع برنامه نویسی عالی بوده.
بعد از اینکه آموزش برنامه نویسی را تمام کردید و چند پروژه ی بصورت تمرینی انجام دادید نوبت آن رسیده است که وارد بازار کار شوید مراحلی که در زیر برای شما آوردم حاصل تجربیات خودمه و صد در صد به شما کمک میکنه تا وارد بازار کار برنامه نویسی شوید.
برنامه نویسی یکی از پردرآمدترین و دردسترس ترین شغل هاست ، ولی اینم شرط داره شرطش اینه که شما واقعا یک تخصصی در یکی از حوزه های برنامه نویسی کسب کنید ، نمونه کارهای قوی داشته باشید و متعهدانه کارکنید. در این صورت است که شما میتونید از برنامه نویسی پول دربیارید
بصورت کلی شغل های برنامه نویسی دو دسته ان :
برنامه نویسی شغلیه که تو اینترنت هست و بخاطر همین تمایل به دورکاری داخلش زیاده و بخاطر همین مهم نیس شما کدوم شهر یا منطقه زندگی کنین به راحتی میتونید شغلی داشته باشین و کسب درآمد کنین کافیه یه لپتاپ داشته باشید و یه اینترنت
بعضیا که برنامه نویسیو شروع میکنن ، نمیتونند پروژه بگیرند این به معنی این نیست که پروژه نباشه ، مشکل اینه که نمیدونند چطوری باید پروژه رو بگیرن !
برای حل این مشکلم کارآموزی بصورت حضوری پیشنهاد میشه وقتی شما در محیط یه شرکت باشید که دو سه تا برنامه نویس رو ببینید سرعت پیشرفت شما را چندین برابر زیاد تر میکنه ، پس سعی کنید جایی پیدا کنید تا کارآموز باشید
مدت کارآموزی بین سه تا شش ماهه و معمولا هم نباید انتظار حقوق یا مزایا از سمت مدیر اون شرکت داشته باشین
بعد از طی کردن این مدت زمان بازار کار تقریبا دستتون میاد و بصورت دورکاری هم خیلی راحت میتونین کار کنین
برنامه نویسانی که بتونن از تخصص خود برای ایجاد کسب و کار شخصی خودشون استفاده کنن و اونو به درآمد برسونن از همه جلوتر هستن و درآمد بیشتری ام دارن ، سعی کنید تو این دسته بندی باشید
اگه از من بپرسید شغل برنامه نویسی نسبت به پزشکی راحت تره یا سخت تر قطعا میگم راحت تره ! فکر کنید شما پزشک متخصص هستید و باید روزانه با کلی آدم سر و کله بزنید زحمت و زمان خیلی زیادی هم میخاد استرس بالایی ام داره ولی برنامه نویسی خودت هستی و پروژت ! تکمیل که کردی پولت دستت میرسه
از نظر درآمد شاید پزشکی ابتدا بهتر باشه چون برای یه متخصص خوب همیشه کار و پول هست ولی برای برنامه نویس مبتدی ممکنه اولش هیچ درآمدی نباشه و باید مدت ها روی مهارت هاش کار کنه ولی اگه برنامه نویس پروژه هاشو عملی بکنه به نظرم درآمدش بعدا خیلی بیشتر از یه متخصص خواهد بود.
شخصیو میشناسم که اپلیکیشن مینویسه و در مارکت کافه بازار منتشر میکنه میزان درآمدش در ماه بین 200 تا 300 میلیون تومان متغیره
شخصی ام هست که استخدام یک شرکت استارتاپی هست بعنوان برنامه نویس لاراول و ماهانه حقوق ثابت 60 میلیون تومان میگیره
قطعا میانگین حقوق برنامه نویسی رو میتونید موارد بالا در نظر داشته باشید ولی خب میتونید مبالغ بیشتری ام کسب کنید و این بستگی به هوش و ذکاوت خودتون داره
برخی نمونه حقوق های برنامه نویسان را مشاهده کنید البته حقوق برنامه نویسان قطعا خیلی بیشتر از این اگهی ها میباشد و اینا فقط برای افرادی هست که متخصص یک حوزه ی خاص هستند و البته برنامه نویسی که حقوق ثابت میگیرد داستان درآمدش به همینجا ختم نمیشود بعد از کار در اداره میتواند پروژه های برنامه نویسی هم بگیرد و حقوق خود را مرتبا افزایش دهد.
خب حالا که به انتهای این نوشته رسیدی میخام ببینم قصد داری برنامه نویس بشی یا نه ؟ دنیای برنامه نویسی رشته ای آینده داره ، هر روز به تعداد افرادی که از تکنولوژی استفاده میکنن اضافه میشه
تا حالا دیدید مثلا تعداد گوشی هایی که فروش میره کمتر بشه
یا تعداد کاربرای اینترنت کم بشه ؟
این آمارها همیشه در حال بیشتر شدنه چون جهان در حال حرکت به سمت تکنولوژیه و این تکنولوژی رو برنامه نویسا میسازن
سلام مطالب زیر برگرفته از سایت ها و رزومه ی آقای نیکزاد میباشد. در این مقاله به معرفی یکی از موفق ترین برنامه نویسان ایرانی یعنی سام نیک زاد میپردازیم که استاد هم هستند.
سام نیک زاد متولد ۱۳۷۰ در استان آذربایجان شرقی و شهر تبریز میباشد.
من برنامه نویسی را با دوره های استاد نیکزاد شروع کردم و خداروشکر در این مسیر به هیچ مشکل خاصی برخورد نکردم و با استفاده از دوره ها و آموزش های استاد سام نیکزاد عزیز توانستم برنامه نویسی وب را کاملا مسلط شوم و سپس در شرکتی که مورد علاقه ی خودم بود استخدام شدم.
من برنامه نویسی موبایل با زبان برنامه نویسی kotlin را با دوره ی ایشان طی کردم و به برنامه نویسی کاتلین نیز مسط شدم
پشتیبانی ایشان در سایت آواسام خیلی عالی پاسخگوی مشکلات و سوالات بنده بودند و من کاملا از ایشان و تیم خوبشان راضی هستم.
البته جناب سام نیکزاد فراتر از یه استاد بودند و مشاوره های ایشان در کسب و کار و ... که بصورت آنلاین شروع کردم باعث شد درآمد من به مراتب افزایش پیدا بکند و همه ی اینها را مدیون ایشان و آموزش هایشان هستم.
دوره های آموزش برنامه نویسی استاد سام نیک زاد را میتوانید از سایت آواسام تهیه کنید که از نظر کیفیت و پشتیبانی عالی هستند.