برنامه نویسی از مشاغلی است که با پیشرفت علم IT (آی تی) تقاضای استخدام نیروی متخصص در این حرفه افزایش پیدا کرده است.در این پست می خواهیم با حقوق،جایگاه و بازار کار برنامه نویسی در ایران و جهان آشنا شویم.برنامه نویسی یکی از مشاغل بسیار مهم در زمینهی IT است که با پیشرفتهای روزافزون این بخش فراگیری این رشته افزایش یافته است. در کشور ما اکثر برنامه نویسان به حقوق و جایگاه واقعی یک برنامه نویس نخواهند رسید و در اکثر مواقع به یک کارمند عادی که علاقهای به شغل خود ندارند تبدیل میشوند.اما چرا بیشتر مواقع این اتفاق پیش می آید؟
Codefriend
دلیل اصلی این موضوع شناخت ناکافی بعضی از کارفرماها و از طرفی وجود افرادی با دانش و توانایی پایین در این بخش است.در ادامه به اختصار دو مورد از مشکلات اصلی این شغل را شرح می دهیم.
در حال حاضر تقاضای نیروی متخصص در زمینه برنامهنویسی بسیار مناسب و قابل قبول میباشد و اکثر سازمانها با ورود به زمینه و بخش IT به نیروی متخصص در این زمینه نیاز خواهند داشت. در ایران طی سالهای گذشته، میزان استخدام برنامه نویس کامپیوتر، مخصوصا آن گروهی که به زبانهای برنامه نویسی تحت وب تسلط بیشتری داشتهاند، با نرخ قابل قبولی در حال افزایش بوده است و به دلیل توسعه صنعت نرم افزار در داخل کشور پیش بینی میشود این روند همچنان ادامه یابد.
برنامه نویسی که در بخش دولتی استخدام شده باشد، مطابق با قانون مدیریت خدمات کشوری حقوق دریافت می کند. در بخش خصوصی، درآمد برنامه نویس کامپیوتر با توجه به عوامل مختلفی از جمله میزان تجربه، تخصص مهارت و نوع توافق صورت گرفته با کارفرما تعیین می شود و لذا ارقام متفاوتی دارد. همچنین برنامه نویسانی که به صورت شخصی کار می کنند(Freelancer)، میزان درآمدشان به تعداد پروژه هایی که می گیرند، بستگی دارد.
این موضوع با نفوذ IT به بخشها و شغلهای مختلف موجود در ایران ادامه خواهد داشت، بنابر این با چنین رشد و پیشرفتی در آینده نیاز به برنامهنویس متخصص افزایش خواهد داشت.پس میتوانیم به این نتیجه برسیم که بازار کار برنامه نویسی بستگی به مهارت و تخصص برنامه نویس میتوانید متغییر باشد.
در بروزترین تحقیق صورت گرفته در اواخر سال 1395 توسط تعدادی از متخصصان شغلی کشور، گروههای مختلف شغلی که در سازمانها وشرکتها استخدام بودند، از نظر درآمد مورد بررسی قرار گرفتهاند. بر این اساس متوسط حقوق و درآمد متخصصان حوزه فناوری اطلاعات و کامپیوتر در سمت های مختلف شغلی و در رده های مختلف سازمانی (کارشناس، سرپرست و مدیر) استخراج شده است.
میانگین حقوق 50% برنامهنویسان عادی بین 1.5 تا 3 میلیون تومان میباشد، که به طور کلی میانگین حقوق 2 میلیون را دارا میباشند
میانگین حقوق 50% برنامهنویسان ارشد بین 2 تا 4.5 میلیون تومان میباشد، که به طور کلی میانگین حقوق 3 میلیون را دارا میباشند.
میانگین حقوق 50% مدیر فنی (مدیر برنامهنویسان ارشد) بین 2.5 تا 5 میلیون تومان میباشد، که به طور کلی میانگین حقوق 3.7 میلیون را دارا میباشند.
چگونه برنامه نویسی را شروع کنیم؟ از کجا باید شروع کنیم و چطور باید برنامه نویسی رو یاد بگیریم؟ این ها سوال هایی هستند که دانشجویان کامپیوتر و یا کسانی که به برنامه نویسی علاقه مند شده اند زیاد از خود میپرسند. ما در این مقاله قصد داریم به زبان ساده به تمام سوال های شما برای شروع برنامه نویسی جواب دهیم.این پست برای کسانی که میخواهند تازه وارد دنیای برنامه نویسی شوند بسیار مفید خواهد بود، بنابراین اگر شما یک برنامه نویس هستید و میخواهید حرفه ای تر شوید پیشنهاد میکنیم این پست را تا آخر مطالعه فرمایید.
کدفرند،برگذاری دوره های آموزش رایگان و تخصصی برنامه نویسی
CodeFriend.ir
برای شروع کار باید تصمیم بگیرید تو چه حوزه ای میخواهید وارد شوید و برنامه نویسی کنید. میدانید که برنامه نویسی بیشتر از اون چیزی که فکرش را می کنید گسترده است و هر کس بهتره بجای اینکه تو همه حوزه ها دست ببرد ، فقط توی یک حوزه خاص و شاید بهتر باشه بگیم یک زبان برنامه نویسی خاص متخصص باشد. این رو به عنوان یک اصل پایه و مهم در نظر داشته باشید.
برنامه نویسی دسکتاپ در واقع برنامه نویسی تمام برنامه های کاربردی که توی کامپیوتر ها میتوان نصب و اجرا شود رو شامل می شود. مانند نرم افزارهای انبار داری، حسابداری، اتوماسیون های اداری و امثال این ها… در این حوزه می شود برای سازمان ها، شرکت ها برنامه نوشت، اما چون اکثرا سازمان ها با شرکت های بزرگ برنامه نویسی قرارداد دارند شما میتوانید به عنوان یک برنامه نویس در یکی از این شرکت های برنامه نویسی کار کنید و حقوق ماهیانه دریافت کنید.
همچنین میتونید برای خودتان یک پروژه های کوچیک را بنویسید و بفروشید که این کار هم درآمد و آینده اش کاملا نامشخص است. در حال حاضر داشتن یک شغل مناسب در این حوزه کمی سخت است اما همیشه کار برای افراد خلاق و متخصص وجود دارد.
برنامه نویسی وب از طراحی وب سایت ها تا نوشتن برنامه های تحت وب را شامل می شود. برنامه نویسی در این حوزه بسایر لذت بخش است. کارهای که شما در این حوزه انجام میدهید را خیلی ها میبینند. شما می توانید به راحتی برای خودتان و یا بسیاری از شرکتها کار کنید. هرچند در حال حاضر تقریبا هر سازمان، شرکت و شخصی یک وب سایت دارد و همچنین تعداد برنامه نویسان این حوزه خیلی زیاد هست اما برنامه نویسان وب با استفاده از خلاقیت و پشتکار می توانند براحتی در هرکدام از شرکت ها یا سازمان ها مشغول به کار شوند.
برنامه نویسی موبایل شامل برنامه نویسی نرم افزارهایی می شود که در گوشی های موبایل و تبلت ها می توانید نصب و اجرا کنید. در حال حاضر برنامه نویسان موبایل آینده خیلی خوبی دارند. شما در این حوزه خیلی می توانید پیشرفت کنید و چون قطعا در طی چند ساله آینده دنیا به سمت موبایل پیش خواهد رفت، هر شرکت یا سازمان یک اپلیکیشن خاص خودش را که روی موبایل نصب می شود خواهد داشت. پس شما میتونید به عنوان یک برنامه نویس موبایل در شرکتهای برنامه نویسی یک حقوق ماهیانه نسبتا خوب داشته باشید و اگرهم بخواهید بصورت مستقل کار کنید با داشتن ایده های خوب درآمد خوبی خواهید داشت.
برنامه نویسانی که میخواهد در حوزه موبایل کار کند نیز بین اندروید و IOS میتوانند تردید پیدا کنند. این سوال جوابش واقعا مشخص است: خب مسلم است اندروید! بیش از ۸۰ درصد گوشی های هوشمند سیستم عامل اندروید دارند و در ایران این رقم تا ۹۰ درصد افزایش پیدا کرده. آینده اندروید نیز با حمایت گوگل درخشان است.
پس شکی نیست که کدنویسی برای اندروید بهتر است. برای نوشتن اپلیکشن های اندروید نیز زبان جاوا را بهتر است یاد بگیرید. زبان جاوا یک زبان دوست داشتنی است و چون شما احتمالا قبلا با سی یا سی پلاس پلاس کار کرده اید کار با جاوا نیز برایتان راحت خواهد بود چون بسیار شبیه بهم هستند.
اگر از هرکسی که کمی با برنامه نویسی آشنایی دارد بپرسید که بهترین زبان برای شروع برنامه نویس چیست؟ بدون شک جوابش C یا C++ خواهد بود.C را میتوان یک زبان مادر دانست بطوری که خیلی از زبان های کنونی از این زبان متولد شده اند. برای شروع پیشنهاد ماهم سی یا سی پلاس پلاس یا جاوا است.
البته نیاز نیست همه چیز را یاد بگیرید در ابتدا بهتره مفاهیم کلی مثله متغیرها، انواع داده ها، آرایه ها، دستورات کلیدی مهم، تابع نویسی، کلاس ها، ارث بری، اشارگرها و امثال اینها رو یاد بگیرید. چون این مفاهیم در همه زبان ها وجود دارند و شما را آماده یادگیری زبان اصلی که میخواهید با آن کار کنید میکند.
شاید از هر کسی که اکنون برنامه نویس است بپرسید با چه روشی توانسته برنامه نویس را یاد بگیرد به شما جواب های متفاوتی بدهند. بعضی ها بر روی کتاب تاکید دارند چون معتقند بسیار منسجم است مخالفان نیز یادگیری از روی کتاب را واقعا خسته کننده میدانند. عده ای هم اینترنت را بهترین استاد می دانند چون اعتقاد دارند هرچیزی درآن یافت میشود مخالفان نیز میگوید اینترنت در واقع انبوهی از اطلاعات است که میتواند شما را سردرگم کند همچنین هرکسی میتواند آنها را تولید کرده باشد و معتبر نباشد.
یک عده هم رفتن به کلاس های رو به دلیل پروژه محور بودند پیشنهاد میدهد، مخالفان این روش یادگیری را استاد محور و متکی به دانش مدرس میدانند. فیلم های آموزشی شرکت های معتبر آموزشی هم روشی که است که بعضی ها پیشنهاد میدهد که در اینجا مخالفان حرفی برای گفتند ندارند. چون تمام ویژگی های خوب روش های قبلی را باهم دارد: منسجم است، بهترین اساتید جهان مدرس آنهایند، ارزان قیمت است و پروژه محور هستند.
روشی را برای یادگیری برنامه نویسی انتخاب کنید که ساده باشد و باعث شود از یادگیری لذت ببرید. اگر از من بپرسید چه روشی را برای یادگیری برنامه نویسی پیشنهاد میدهم بدون شک اولین گزینه من دیدن فیلم های آموزشی است.
با این توصیفات همین الان می توانید برنامه نویسی را شروع کنید،با استفاده از دوره های آموزشی کدفرند می توانید در کوتاه ترین زمان نتیجه دلخواه را بدست آورید.
تهیه کنند:سعید شیرزاد
الگوریتم اصلا چیست؟
دوستی داشتم که به اشتباه، به الگوریتم، میگفت اُلگوریتم (olgooritm) . این اسم غلط بود اما جالب بود. اُلگوریتم در واقع الگو و ریتم پیاده سازی یک مسئله است. ما یک الگو میسازیم تا به کمک آن مسئله را حل کنیم. به خاطر دارید در مطلب برنامه نویس کیست و چه ویژگی هایی دارد؟ برای شما درباره دم کردن چای گفتیم؟ مثالی که زدیم در واقع یک الگوریتم بود. پس یکی از توانایی های یک برنامه نویس، طراحی الگوریتم است. اما چطور؟ خیلی ساده است. به مسئله، به صورت مرحله به مرحله فکر کنید و آنرا به مراحل کوچک تر بشکنید. سپس به صورت دستوری، به کامپیوتر دستور بدهید! بیاید یک بار دیگر الگوریتم دم کردن چای را بنویسیم!
به آشپزخانه برو.
کتری را از آب پر کن.
کتری را روی گاز بگذار.
گاز را روشن کن.
صبر کن تا آب جوش بیاید.
چای را درون قوری بریز.
قوری را از آب جوش پر کن.
قوری را روی کتری بگذار.
به همین سادگی! ما معمولا جواب مسائل را میدانیم. فقط بلد نیستیم چطور آنها را به الگوریتم تبدیل کنیم. تعدادی مثال واقعی تر:
فرض کنید قرار است برنامه ای بنویسیم که دو عدد را جمع کند و حاصل را چاپ کند.
اولین عدد را بگیر.
دومین عدد را بگیر.
عدد اول و دوم را با هم جمع کن و حاصل را در حافظه نگه دار
حاصل را چاپ کن.
فرض کنید میخواهیم برنامه ای بنویسیم که مربع هر عدد را حساب کند. مربع یعنی عدد به توان ۲:
یک عدد را بگیر.
عدد را در خودش ضرب کن و حاصل را در حافظه نگه دار. (هر عدد به توان ۲ یعنی آن عدد در خودش ضرب شود)
حاصل را چاپ کن.
دقت کنید که تنها کاری که انجام میدهم، شکستن مسئله به مراحل کوچک تر و ساده تر، و نوشتن آنها به صورت امری است. همین و بس.
فرض کنید میخواهیم برنامه ای بنویسیم که عددی را از ورودی بگیرد و مشخص کند زوج است یا فرد.
ما جواب این مسئله را میدانیم. اما نمیدانیم پطور باید الگوریتم آنرا بنویسیم. من و شما میدانیم که هر عددی بر دو بخش پذیر باشد، زوج است. به همین سادگی.
یک عدد را بگیر
آن عدد را بر دو تقسیم کن و باقیمانده را در حافظه نگه دار
اگر باقی مانده صفر است (یعنی عدد ما بر دو بخش پذیر است) چاپ کن: “زوج”
اگر باقی مانده صفر نیست، چاپ کن: “فرد”
ممکن است استادان شما در دانشگاه، کمی متفاوت تر به شما درس داده باشند. مهم نیست! هدف الگوریتم، شکستن مسئله است. پس خیلی درگیر طرز نوشتن و قواعد نباشید. راحت باشید و آنطور که دوست داری بنویسید! هیچ قاعده مشخصی وجود ندارد که دست و پای شما را ببندد.
نکته مهم: شاید با این قبیل الگوریتم های وحشتناک مثل محاسبه ترانهاده ماتریس و محاسبه فاکتوریل چند عدد و سری فیبوناچی و … مواجه شده باشید. بگذارید خیالتان را راحت کنم. بعد از ۱۰ سال برنامه نویسی و حتی تجربه بستن نرم افزارهای مالی و محاسباتی، هیچ وقت به چیزی بیشتر از ۴ عمل اصلی ریاضی، احتیاج پیدا نکرده ام. اگر میخواهید برنامه نویس تجاری باشید، و استاد شما دارد به شما این الگوریتم های وحشتناک را یاد میدهد، استاد شما یک برنامه نویس نما است!
و اما تمرینات:
برنامه ای بنویسید که دو عدد را تفریق کند.
برنامه ای بنویسید که نمره دو تا از درس های دانش آموزی را گرفته، و معدل آن دو درس را بدهد. (معدل=مجموع نمره ها تقسیم بر تعداد آنها)
برنامه ای بنویسید که یک عدد را بگیرد و مشخص کند آیا بر ۵ بخش پذیر هست یا خیر؟ (راهنمایی: از باقی مانده استفاده کنید.)
برنامه ای را بنویسید که اول یک عدد بگیرد. سپس عدد دوم را بگیرد و مشخص کند عدد اولی بر دومی بخش پذیر است یا خیر (راهنمایی: از باقی مانده استفاده کنید.)
اگر در حل تمرین ها مشکلی داشتید، کامنت بگذارید. اگر شک داشتید که مسئله را درست حل کرده اید یا خیر، کامنت بگذارید تا شما را راهنمایی کنیم.
باور کنید نوشتن الگوریتم همین قدر ساده است!
درباره این سایت