آشنایی با شغل و آموزش برنامه نویسی میتواند بسیار جذاب باشد. تا آمدیم دربارهی شغل برنامه نویسی بنویسیم، سر و کلهی یک جوان هزار ماشاالله رعنا و تحصیلکرده هم در کویر خشک کسبوکار پیدا شد که درحال گشتن و نیافتن بود. جوان ِ ماجرای ما به باغی زیبا و پر دار و درخت رسید که از دیوارهای بیرونیاش اسکناس آویزان کرده بودند. جوان جان چشم از باغ برنمیداشت و دلش میخواست ببیند داخل این نمای پراز سبزی و اسکناس چیست؟
خلاصه بعد از کلی تلاش وارد باغ شد و دید عدهای درحال یادگیری و زحمت شبانهروزی هستند و مدام در مورد اخبار جدید و تازههای کارشان باهم حرف میزنند. جوان حیران ما از کاروبار این بچهها پرسید و فهمید همگی مشغول برنامه نویسی هستند. بله درست فهمیدید به جوان ماجرای ما از برنامه نویسی، در باغ سبز نشان داده بودند! این شد که ما عزممان را جزم کردیم تا زیر و بم شغل برنامه نویسی را دربیاوریم و بگذاریم جلوی تمام جوانها! خدا را چه دیدید شاید خوششان آمد و ماندگار شدند!
پیشنهاد مقاله: شغل مناسب من چیست؟ راهنمای انتخاب بهترین شغل
آشنایی با شغل و آموزش برنامه نویسی و سختیهای آن ؛ که عشق آسان نمود اول ولی افتاد مشکلها
دنیای برنامه نویسی از بیرون زیبا و دوستداشتنی است. عدهای از درآمد بالای بعضی برنامه نویسها تعریف میکنند و خیلیها هم عاشق فضای خلاقانه و دوستداشتنی این رشته هستند. اصلا جوان جویای کار داستان ما هم به همین هوا وارد باغ باصفای سر راهش شد ولی از آنجایی که همیشه همه چیز از دور زیباتر و خواستنیتر است کمکم ورق برگشت و حقایق و سختیها یکییکی رو شدند. دوست ما بعد از کلی گشتوگذار و صحبت با ساکنان باغ درمورد سختیهای برنامه نویسی به این نکتهها رسید:
- یادگیری برنامه نویسی به همین سادگیها نیست. باید برای آشنایی با شغل و آموزش برنامه نویسی کمر همت را حسابی ببندید و تمرین و مطالعهی مستمر داشته باشید. کسی که وارد دنیای برنامه نویسی میشود باید خودش را برای یک یادگیری عمیق و طولانی مدت آماده کند.
- شما در دنیای برنامه نویسی با یک شغل پر از خلاقیت، تلاش، پشتکار و تحقیق طرف هستید. روزی که اسم برنامه نویسی را میشنوید حسابی برایتان جلب توجه میکند و زمانیکه به اسم برنامه نویسان درصدر لیست پولدارترینها مواجه میشوید، شوق و ذوقتان چند برابر میشود ولی نباید پیچیدگی و سختیهای این مسیر را نیز ندیده بگیرید.
- یکی از سختیهای دیگر ابتدای مسیر برنامه نویسی، انتخاب یک زبان برنامه نویسی مناسب است. خیلیها مدت زیادی سر انتخاب زبان مناسب میمانند و حتی چند باری از این شاخه به آن شاخه میپرند تا درنهایت بتوانند به یک انتخاب درست برسند.
- شغل برنامه نویسی صبر میخواهد. حالا انتظار صبر ایوب هم از شما نداریم ولی بهتر است بدانید قرار است وارد حوزهای شوید که حوصلهی از غوره حلوا ساختن را داشته باشید.
- خیلی از برنامه نویسها با مشکلات جسمی زیادی مثل چاقی، دیابت، کمردرد، مشکلات چشمی، درد مچ دست و انگشتان، درد شانه و… دست و پنجه نرم میکنند. یک برنامه نویس مجبور است ساعتها پشت سیستم بنشیند و کد بزند یا درمورد کارش جستوجو و تحقیق کند.
این یکجا نشستن و بیتحرکی ممکن است کار دست برنامه نویس بینوای ما بدهد و دچار مشکلات جسمی بشود. جوان خوش قدوبالای داستان ما هم بعد از شروع برنامه نویسی اگر حواسش به خودش نباشد ممکن است بعد از چند سال چاق و بیمار شود.
- حالا شاید مشکلات جسمی را بتوانید یک گوشهی دلتان بگذارید ولی با مشکلات روحی چه میکنید؟ برنامه نویسان بهخصوص فریلنسرهای این حوزه که ساعتها و روزهای زیادی در انزوا و تنهایی کد میزنند، درخطر ابتلا به افسردگی قرار دارند.
- سندروم ایمپاستر یا Imposter Syndrome، یکی دیگر از مشکلاتی است که درکمین برنامه نویسهاست. این سندروم به احتمال زیاد یقهی خیلی از برنامه نویسانی که در تیم یا گروه کار میکنند را خواهد گرفت.
کسانی که به سندروم ایمپاستر مبتلا میشوند دائم فکر میکنند بقیه ازشان بهتر کار میکنند و خودشان و کارشان ارزشی ندارند. این افراد حتی گذشتهی پربار و باشکوهشان را هم داخل پستو میگذارند و درهمه حال خودشان را نسبت به دیگر اعضای گروه یک عقبمانده و بیاستفاده تصور میکنند.
- سندروم Real Programmer یا برنامه نویس واقعی: این سندروم این تصور را در برنامه نویس بهوجود میآورد که هر چقدر سختتر کارکنی باارزشتری و یک برنامه نویس واقعی کسی است که حتی به جای تفریح و گردش نیز برنامه بنویسد.
در مورد این سندورم یک کتاب هم به نام پیادهروی مرگ نوشته شدهاست. البته اعتقاد این دسته از برنامه نویسها بارها توسط محققان رد شده است. پژوهشگرهای دانشگاه استنفورد بعد از چند بررسی به این نتیجه رسیدند برنامه نویسانی که 40 ساعت در هفته کار میکنند، بازدهیشان از دستهی دیگر که 60 ساعت در هفته مشغول برنامه نویسی هستند، بیشتر است.
جوان جویای کار و شاید جویای نام داستان ما اینها را که شنید، همان اول کار حساب دستش آمد و فهمید آشی که جلویش گذاشتهاند آنطور که فکر میکرد هم دهانسوز نیست. با همهی این حرفها پی برنامه نویسی را گرفت و حالا میخواست بداند رشته برنامه نویسی را کجا و چطور باید دنبال کند؟
پیشنهاد مقاله: آموزش برنامه نویسی سی شارپ با جاوا
گفتنیهای ناگفته در مورد آشنایی با شغل و آموزش برنامه نویسی
از بد یا خوب روزگار رشتهی مستقیم و سرراستی وجود ندارد که شما دنبالش را بگیرید و بعد یک برنامه نویس تمامعیار شوید. شرکتهای مختلف هم هنگام استخدام برنامه نویس خیلی دربند رشته و مدرک تحصیلی نیستند و بیشتر از هرچیز، مهارت، تسلط و تجربهی برنامه نویس برایشان مهم است.
بنابراین برای آشنایی با شغل و آموزش برنامه نویسی میتوانید خودتان به صورت خودخوان آموزش ببینید یا پس از انتخاب زبان برنامه نویسی، در یک آموزشگاه آزاد ثبتنام کنید. اگر سن کمی دارید و میخواهید برنامه نویسی را دنبال کنید، میتوانید درهنرستان فنی یا کاردانش هم ادامهی تحصیل دهید و از همین حالا راهورسم برنامه نویسی را هرچند جسته و گریخته یاد بگیرید.
جدای از همهی حرفها عدهای هستند که دلشان میخواهد در یک رشتهی مرتبط با برنامه نویسی درس بخوانند و بعدها مدرک دانشگاهی داشته باشند تا اگر خواستند در اداره یا سازمان دولتی کار کنند مشکلی نداشته باشند و تمام پیشبینیها را از قبل انجام داده باشند. باید بگوییم این افراد در چند رشته میتوان تحصیل کنند:
- رشتهی علوم کامپیوتر
- رشتهی مهندسی نرمافزار
- رشتهی مهندسی فناوری اطلاعات
- یا یکی از گرایشهای کارشناسی ارشد رشتهی کامپیوتر
پیشنهاد مقاله: معرفی شغلهای پردرآمد ایران و جهان
بحث شیرین پول و حقوق و آشنایی با شغل و آموزش برنامه نویسی
برنامه نویسی یکی از پردرآمدترین شغلهای دنیا است و برنامه نویسان چیزی درحدود 30 درصد از بقیهی شاغلان بیشتر درآمد دارند. کسانی مثل بیل گیتس درصدر جدول پولدارترینهای دنیا نشستهاند و ازقضای روزگار برنامه نویس هستند.
همهی اینها درست و منطقی ولی خب میدانید که اینجا ایران است و خیلی معادلههای درست و حلشدنی دنیا اینجا به بنبست میخورند. حالا واقعا حقوق و درآمد برنامه نویسی در ایران چطور است؟ آیا ارزشش را دارد که وقت و انرژی بگذاریم و بعد از سروکله زدن با زبانهای برنامه نویسی وارد کار در این حوزه شویم؟ باید بگوییم این قضیه به خیلی چیزها بستگی دارد:
- اول از همه بهتر است بدانید بازار کار برنامه نویسی در ایران نسبت به خیلی از شغلها بهتر است و احتمال اینکه شما یک برنامه نویس ماهر شوید و بیکار بمانید خیلی کم است. البته فریلنسری در این حوزه نیز طرفداران خاص خودش را دارد و باعث میشود تعداد بیکاران برنامه نویسی واقعا کم باشد.
- کسانی در برنامه نویسی به درآمد خوب و قابل توجه میرسند که یک شاخه را بگیرند، جلو بروند و مدام مانند یک گنجشک سربههوا از این شاخه به آن شاخه نپرند. کسانی که یک زبان برنامه نویسی را عمیق و خوب یاد میگیرند بعد از مدتی بهاحتمال زیاد به درآمد قابل توجهی میرسند.
- درآمد برنامه نویسی بسته به زبانی که یاد میگیرید متفاوت است و اصولا برنامه نویسان زبانهای برنامه نویسی موبایل مثل جاوا درآمد بیشتری نسبت به بقیه دارند. البته این موضوع نیز به موارد خیلی زیادی مثل تجربه، سمت و… بستگی دارد و برای دانستن بیشتر بهتر است نگاهی به مقالهی درآمد برنامه نویسی بیاندازید.
- برنامه نویسانی که در تهران زندگی میکنند درآمد بیشتری نسبت به برنامه نویسهای شهرستانی دارند. البته با روی کار آمدن استارتاپها و… وضعیت شغلی برنامه نویسان شهرستانی، برنامه نویسهای زن و… کمی بهتر شده است.
- خیلی از برنامه نویسها اعتقاد دارند درآمد و حقوقشان واقعا با دانشی که دارند و زحمتی که میکشند متناسب نیست. یک برنامه نویس باید مدام بهروز باشد و اطلاعات جدیدی درمورد کارش بهدست بیاورد و باید درآمدش نیز متناسب با سطح علم و اطلاعاتش بالاتر باشد.
- اگر اول راه برنامه نویسی هستید و درآمد چندانی ندارید ناامید نشوید. درآمد برنامه نویسان تازهکار خیلی خوب و چشمگیر نیست ولی بهمرور زمان که تجربه و سابقهی کارتان بیشتر میشود، درآمد بیشتری نیز خواهید داشت.
بهطوری که یک برنامه نویس فریلنسر تازهکار حدود یک تا یکونیم میلیون در ماه درآمد دارد ولی یک فریلنسر با سابقهی کار 10 ساله حدود 8 میلیون در یک ماه بهدست میآورد. این موضوع برای یک برنامه نویس دائمی هم صادق است. مثلا یک برنامه نویس دائمی تازهکار حدودا 2 میلیون درماه حقوق میگیرد ولی همان برنامه نویس با سابقهی کار ده ساله چیزی در حدود 7 میلیون درماه درآمد دارد.
- نمودار زیر بهتر وضعیت درآمد برنامه نویسان را نشان میدهد. البته ناگفته نماند که عدد و رقمها مربوط به سال 97 هستند و احتمالا تابهحال تغییرهای کموزیادی داشتهاند.
آینده برنامه نویسی قرار است به کجا برسد؟
خوب به دوروبرتان نگاه کنید؛ کامپیوتر، موبایل، وسایل الکترونیکی و… درلحظه به لحظهی زندگی این روزهایتان حضور دارند. خیلیها حتی دید و بازدیدهایشان را هم اینترنتی انجام میدهند و همهی اینها باعث رونق کار برنامه نویسان میشود.
بنابراین هرطور که فکر کنیم آیندهی دنیا در دست برنامه نویسان است. درهمین ایران خودمان حدود 40 گوشی تلفن هوشمند وجود دارد درحالی که تا سال 1393، فقط 17 میلیون نفر گوشی هوشمند داشتند.
اپلیکیشن کافه بازار را تقریبا همه میشناسند. آمارها نشان میدهد این اپلیکیشن روی حدود 37 میلیون گوشی هوشمند نصب شده و استفاده میشود. این یعنی بیشتر بار کار و تفریح ما این روزها روی دوش اپلیکیشنهای مختلف است.
بااستفاده از این برنامهها تاکسی اینترنتی میگیریم، قرارهایمان را تنظیم میکنیم، غذا سفارش میدهیم، بلیت سینما، قطار و اتوبوس رزرو میکنیم و حتی اوقات بیکاریمان را به بازی با انواع اپلیکیشنهای سرگرمی میگذرانیم. همهی اینها نشان میدهد نیاز دنیا و حتی ایران بهمرور زمان به برنامه نویسی بیشتر میشود که کمتر نمیشود.
البته محققان پیشبینی میکنند در ده سال آینده یک زبان برنامه نویسی یکپارچه روی کار میآید که تمام برنامهها با آن نوشته و کدگذاری میشوند. زبان پایتون تاحد زیادی این قابلیت را دارد چون هم زبان سادهای است و هم کدهایش بسیار به زبان انگلیسی نزدیک هستند.
حتی کارشناسان میگویند در آینده، آشنایی با شغل و آموزش برنامه نویسی مثل خواندن و نوشتن برای همه لازم و حتی اجباری میشود و دانشآموزان و دانشجویان باید مفاهیم پایهی برنامه نویسی را درک کنند.
بههرحال هرطور و از هر طرف که به عرصهی برنامه نویسی نگاه کنید رد پایش را چه در زمان حال و چه در آیندهتان میبینید؛ پس اگر برای انتخاب برنامه نویسی بهعنوان یک شغل دائمی و چندین و چند ساله تردید دارید به توصیهی ما شکتان را کنار بگذارید و اولین قدم را برای یادگیری بردارید. برنامه نویسی از آن دسته شغلهایی است که حالا حالاها جا برای کار و فعالیت دارد.
پیشنهاد این مقاله : پوت کمپ آموزش برنامه نویسی
وظایف برنامه نویس ؛ از کد زدن تا دیباگ و تست کردن برنامهها
آقای جویای کار داستان ما کموبیش چیزهایی در مورد برنامه نویسی فهمید ولی دائم باخودش فکر میکرد برفرض که برنامه نویسی یاد گرفتم و مشغول بهکار شدم، دقیقا باید چه کارهایی بهعنوان یک برنامه نویس انجام دهم؟
برنامه نویسهای زیادی در باغ برنامه نویسی مشغول کار و فعالیت بودند ولی جناب جویای کار از دیدنشان چیزی دستگیرش نمیشد. فقط تعدادی زن و مرد میدید که یا مشغول تایپ کردن و نوشتن هستند یا باهم صحبت و مشورت میکنند. خلاصه بعد از پرسوجو چیزهایی در مورد وظایف برنامه نویس فهمید:
- وظایف برنامه نویس از اداره، شرکت یا سازمانی به شرکت و سازمان دیگر فرق میکند و اینطور نیست که تمام برنامه نویسها در همهجا وظایف مشترکی داشته باشند. ولی خب کلیاتی وجود دارد که همهی برنامه نویسان کموبیش برطبق آنها جلو میروند.
- درواقع گروه مهندسان نرمافزار شرکتها طرحهایی را آماده میکنند و برنامه نویس پس از اینکه حسابی روی طرحها مطالعه و بررسی کرد کد میزند و طرحهای مهندسان نرمافزار را به دستورالعملهای مناسب برای کامپیوتر تبدیل میکند.
- برنامهها و کدها را با استفاده از زبانهای مختلفی مثل جاوا، پایتون و… مطابق بانظر کارفرما، مشتری یا مهندسان شرکت مینویسد.
- برنامههایی که قبلا توسط خودش یا بقیهی برنامه نویسان شرکت نوشته شده را متناسب با شرایط و نیاز بازار یا کارفرما بهروز میکند یا تغییر میدهد.
- ایراد برنامههای قدیمی را بررسی و برطرف میکند.
- برنامه نویسان برای نوشتن بهتر و راحتتر برنامهها، از کتابخانههای زبانهای برنامه نویسی مورد نظرشان استفاده میکنند.
- یکی دیگر از وظایف برنامه نویس این است که اطلاعات و فناوریهای جدید را دنبال کند و یاد بگیرد.
- هر برنامه نویس با سیستمهای مختلفی کار میکند که باید مدام آنها را بررسی کند و ایرادهایشان را ازبین ببرد.
- برنامه نویسان بهطور دائم با تحلیلگران سیستم، کارشناسان شبکه و… در ارتباط هستند و سعی میکنند عملکرد سیستمهای مورد نظرشان را بهبود ببخشند.
- جدا از همهی این وظایف، برنامه نویسان به شکل و ظاهر نرمافزارهایشان هم اهمیت میدهند و برای این که به یک ظاهر بهتر برسند با گرافیستها هم همکاری میکنند.
اگر بخواهیم خیلی خلاصه بگوییم برنامه نویس نقشهی راه را به کامپیوتر یا سیستم میدهد و در مراحل بعدی این نقشه را مدام بررسی و آنالیز میکند. اگر در هرجای نقشه مشکلی بهوجود بیاید این وظیفهی برنامه نویس است که مشکل را حلوفصل کند و بهعبارتی مسیر خراب شده را ترمیم یا در اصطلاح خودشان دیباگ کند. یک برنامه نویس در مسیر بررسی نقشهی راه سیستمها با مهندسین و پرسنل فنی هم درارتباط است و وضعیت پروژه را برایشان توضیح میدهد.
مهارتهای برنامه نویسی که سر بزنگاه به کمک برنامه نویس میآیند
وارد هر مسیری از زندگی که بشوید فرقی نمیکند، قبل از هرچیز باید مهارتهای مورد نیاز آن مسیر را داشته باشید. برنامه نویس نیز برای اینکه بتواند با چالشهای سر راهش موجه شود و یکییکی حلشان کند باید مهارتهای خاصی داشته باشد! مهارتهایی مثل:
- تفکر تحلیلی: برنامه نویس باید تفکر تحلیلی داشته باشد؛ دراینصورت بهتر میتواند کدها و نتایجشان را درک کند.
- تمرکز بالا: برنامه نویسی که هنگام کار تمرکز کافی نداشته باشد هرلحظه درمعرض خطا و اشتباه است. خطاهایی که شاید بعضیهایشان تاوان سنگینی داشته باشند. داشتن تمرکز کافی باعث میشود کدها بدون اشتباه نوشته شوند و یک کل منسجم و یکپارچه را تشکیل بدهند.
- توجه به جزئیات: کسی به درد برنامه نویسی میخورد که جنبیدن یک پشه نیز از نظرش دور نماند. این توجه به جزئیات است که باعث میشود کار برنامه نویس درست جلو برود و از اشتباههای احتمالی جلوگیری شود.
- داشتن قدرت حل مسئله: برنامه نویسی چیزی که زیاد دارد پیچیدگی و مسئله است. کسی که میخواهد برنامه نویس خوبی شود باید سرش درد کند برای حل مسئله و هضم پیچیدگیها.
- خلاقیت: برنامه ریزی و خلاقیت آبشان توی یک جوب میرود و اتفاقاً بدجور هم میرود. این برنامهنویسهای خلاق هستند که نیاز کاربران را میشناسند و به شیوهای جدید بهشان پاسخ میدهند. برنامههای پرطرفدار و اسمورسمدار را همین برنامه نویسان خلاق نوشتهاند.
- روحیهی کار تیمی: بعضی از برنامه نویسان مجبورند در یک تیم برنامه نویسی کار کنند و برای همین باید روحیهی کار گروهی و توانایی همکاری با برنامه نویسان دیگر را داشته باشند.
جمعبندی مقاله در یک دقیقه
هر شغلی سختیهای خودش را دارد. بیشتر شغلها از بیرون زیبا و پرپول هستند ولی واردشان که میشوی میبینی آن پول و اعتبار هدیه به کسانی است که حسابی آموزش دیدهاند، از جان و دل کار کردهاند و خلاصه خون جگر خوردهاند. برنامه نویسی از همان شغلها است.
شغل برنامه نویسی پراز هیجان، خلاقیت و تلاش است ولی روی خوشش را فقط به کسانی نشان میدهد که زحمت کافی میکشند و برای رسیدن به هدفشان تلاش میکنند. یککلام بگوییم و بس؛ اینجا جا برای کسانی که میخواهند ره صدساله را یکشبه بروند جایی نیست.