برنامه نویسی و چالش ها - قسمت دوم

خب امروز تصمیم گرفتم قسمت دوم این پست رو بنویسم که شاید قسمت اخر باشه و شایدم ادامه داشته باشه. توی قسمت قبل بیشتر بحث حول تازه کارها بود و کسانی که میخوان تازه برنامه نویسی رو شروع کنن (اگه نخونید می تونید از اینجا بخونیدش?). توی این قسمت میخوام راجع به ادامه موضوع هایی که گفتم صحبت کنم و مباحث بیشتر برای کسانی هست که برنامه نویسن یا مدتی میشه که شروع کردن.خب اول از همه میخوام برای کسانی که مدتی میشه برنامه نویسی رو شروع کردن صحبت کنم و بگم چه چالش هایی دارید و چه کارایی رو بهتره انجام بدید و چه کارایی رو نه. اول از همه هم میرسم به مهم ترین، قشنگ ترین و شاید سخت ترین قسمت کار برای بعضی ها که قسمت درآمد هستش. شما هرچقدرم که به برنامه نویسی علاقه داشته باشید و با عشق کارتون رو شروع کنید، باید به فکر کسب درآمد ازش باشید، چون من خودم به شخصه معتقدم اصولا اگه از کاری نشه پول درآورد، انجام دادنش برای مدت طولانی وقت طلف کردنه اگه منبع درآمد دیگه ای ندارید. و بجز نظر شخصیمم فکر نمی کنم برنامه نویسی حاضر باشه صبحا پاشه و برای هیچی پروژه یکی دیگه رو انجام بده و در آخرم سودی ازش نبره. پس حالا میدونیم که این موضوع مهمی هست و شما دیر یا زود باید بهش فکر کنید. من خودم تا سال 5 امی که کار میکردم برام چندان مهم نبود که فکر می کنم از کم تجربگی بود یا شاید میخواستم بیشتر یادبگیرم که درآمد بیشتری داشته باشم.موردی بعدی که حول همین هم هست و میخوام راجع بهش صحبت کنم، روش های کسب درآمد از این کار هست. به صورت کلی 2 راه برای کسب درآمد به عنوان یک برنامه نویس وجود داره. کار به صورت ریموت یا فریلَنسِری (freelancer) و یا کار به صورت حضوری که خودش به قسمت های مختلفی تقسیم میشه. روش اول که از اسمش معلوم هست چیه. شما به عنوان برنامه نویس توی خونه هستید و پروژه دیگران رو ریموت انجام میدید. توی این نوع شما از روش های مختلفی برای کاریابی استفاده می کنید. کسی میتونه شمارو به دیگران معرفی کنه یا بدین براتون تبلیغات انجام بدن. اما راه های ساده تری هم هست مثل سایت های کاریابی که من اسمی ازشون نمی برم ولی با سرچ "سایت های فریلنسری ایرانی" (بعدا میگم چرا فقط نوشتم ایرانی) می تونید توی اون سایت ها ثبت نام کنید، برای خودتون رزومه بنویسید و بین کار هایی که کارفرما ها منتشر کردن بنا به مهارتتون به یکی پیشنهاد بدید (راجع به همین پیشنهاد هم صحبت می کنم). روش بعدی که برای کار کردن و کسب درآمد گفتم، کار به صورت حضوری بود. اینجا دیگه قضیه تا حد زیادی با فریلنسری فرق داره و شاید بشه گفت تنها شباهتشون، رزومست. با تفاوت که اونجا رزومه اهمیت بیشتری داره و اینجا علاوه بر رزومه، شما باید واقعا توی کار عملی مهارت داشته باشید. اما قبل از اینکه به مبحث رزومه برسم، میخوام راجع به روش های کار حضوری و غیر حضوری صحبت کنم. این روش ها معمولا به صورت تمام وقت، پاره وقت، پروژه ای و استخدامی هستن که الان هرکدومو جدا توضیح میدم:تمام وقت: شما توی این حالت به صورت تقریبا 44 ساعت در هفته که توی قراردادتون ذکر میشه، کار می کنید.پارت وقت: این نوع کار کردن هم شبیه به تمام وقت هست و اصلی ترین تفاوتش اینه که ساعت کار بین شما و کارفرما توافق میشه و هر ساعتی ذکر بشه توی قرارداد، همونقدر موظفید کار کنید.پروژه ای: توی این روش ساعت کار شما به صورت روزانه یا هفتگی ملاک نیست. نه اینکه مهم نباشه ولی اینجوری مثل تمام وقت یا پاره وقت نیست. شما توی این روش در واقع موظفید پروژه ای که با کارفرما طی کردید رو طی زمان مشخص تحویل بدید. مثلا فرض کنید کارفرما از شما یک سایت رو طی 1 ماه میخواد. می تونید 24 ساعته کد بزنید و چند روزه تحویل بدید، یا اینکه مثلا روزی 5 ساعت کد بزنید و سر 1 ماه تحویل بدید. درواقع کارفرما اهمیتی نمیده که چقدر روزی کار میکنید، اون فقط طی زمان توافق شده پروژه رو آماده می خواد.استخدامی: توی این روش که مطمئن ترین روش کاری هست، شما استخدام یک شرکت میشید و هر ماه ازشون حقوق می گیرید. بیمه دارید و از مزایاش هم بهره مند میشید.حالا که روش های کار رو فهمیدیم، اگه یادتون باشه گفتم توی کار حضوری علاوه بر رزومه، مهارت تخصصی شما هم ملاکه. یعنی مثلا اگه برای استخدامی رفتین یک شرکت، برنامه نویس سینیور (در مورد جونیور و سینیور دولپر توی پست های بعدی توضیح میدم) میاد و از شما چیز های مرتبط رو می پرسه و اصطلاحا شمارو برانداز می کنه. اما توی فریلنسری اینطور نیست و شما اگه لیست مهارت هاتون باشه PHP, JS, Ruby و اگه پایتون رو 10 درصد هم بلدید، پایتون رو هم جزو مهارت ها می نویسید و اگه کارفرما مثلا پروژش php باشه، فقط اون رو می بینه و تاثیری هم براش نداره، اما رزومه شما پر تره (اما همیشه سعی کنید چیزایی که واقعا مسلط اید رو بنویسید). به صورت کلی بخوام بگم، چه توی فریلنسری چه حضوری، بهتره همیشه نمونه کار داشته باشید، اینطوری اعتماد خیلی بیشتره.مورد بعدی گفتم که سایت های فریلنسری ایرانی رو سرچ کنید اگر میخوایید غیر حضوری کار کنید. دلیلش واضحه، ما از بس با دنیا خوبیم و همه دوسمون دارن که از همه جا تحریمیم، با این حساب کار کردن به صورت ریموت ابتدای کار برای شما خیلی سخت میشه و نقد کردن اون درآمد سخت تر از کار کردن اون پروژه می تونه باشه ( بجز روش هایی مثل استفاده از رمز ارز به جای پول ). پس اول کار برای اینکه حتی با نحوه کار کردن هم آشنا بشید، سعی کنید پروژه های داخلی رو بزنید.مورد بعدی میرسه به رزومه. توی سایت های کاریابی که میرین، میبینین نوشتن سابقه باید بیشتر از 3 سال باشه و شاید کلافه شید و بگید خب من اگه جایی کار نکنم، چطوری می تونم 3 سال سابقه کار داشته باشم؟ که باید بگم اینجا چون ایرانه سابقه کار دو جور معنی میشه. یک نوع که رایج تر هم هستش اینه که کارفرما منظورش اینه که شما مثلا باید 3 سال با پایتون کار کرده باشید، حالا یا شخصی برای خودتون یا برای جایی و کسی. اما مورد دوم که بعضا دیدم انجامش میدن، منظورشون اینه که شما 3 سال حتما برای دیگران کار کرده باشین. ولی خب اگه جایی دیدین نا امید نشید و معنی اول رو ملاک قرار بدید. برای سابقه کار راهی نیست جز اینکه واقعا کار کنید تا اون سابقه جمع شه. سعی کنید از کوچکترین پروژه ها تا بزرگترین رو تمیز کد بزنید، نگهشون دارید و با گیتهابم آشتی کنید، یه جا به کارتون میاد?.در مورد مطالعه هم بگم که برنامه نویس بودن حرفه ایه که شما باید تخصص داشته باشید و همیشه بروز باشید، سعی کنید هر روز دو یا چند مطلب جدید یاد بگیرید و دست از مطالعه برندارید. مطالعه نکردن برای برنامه نویس مثل سم می مونه. تو این مارکتی که روزانه زبان ها و فریمورک های زیادی منتشر میشن، یه روز نخوندن آدمو از رقباش عقب میندازه.مورد آخری هم که میخوام راجع بهش صحبت کنم، اینه که چرا جدیدا استقبال از برنامه نویسی زیاد شده؟ که خب طبیعیه. توی سایت های کاریابی حقوق بعضی پوزیشن های شغلی برنامه نویسی رو 10 و 20 و 30 میلیون به بالا زده که همین باعث میشه خیلیا دنبال این شغل و حرفه بیان، اما خب نمیدونن کسی که اون شغل رو می تونه بره و استخدام شه چندیین سال متوالی داره کد میزنه و از خیلی چیزاش گذشته. امیدوارم از این پست لذت برده باشید و کارآمد باشه، اگه چیزی رو فراموش کردم بگم، توی کامنت ها مطرحش کنید تا توضیح بدم و اگرم نظری دارید، خوشحال میشم مطرح کنید، سعی می کنم تا جایی که بشه جواب بدم. محتوای پست بعد از اونجایی که درگیر امتحاناتم فعلا معلوم نیست. اما باز تا پست بعد: شاد باشید ??