تجربه ی 1- ساله یک برنامه نویس اندروید (نوشته ایی پویا)

تجربیات منه برنامه نویس چرا -1 ساله ? چون هنوز یک سال نیست که برنامه نویسی رو به صورت جدی دنبال میکنم ولی تجربه های هرچند کم و محدود به مهارتم رو میخوام باهاتون به اشتراک بگذارم ، چرا که نوشته موندگاره .اومدیم و یک نفر اول راه بود یا سردرگم بود چه کنه و این مقاله رو خوند و براش مفید واقع شد.نکته : من این مقاله رو برای برنامه نویسان اندروید نوشتم اگر میتونید به زمینه ی فعالیتتون مرتبطش کنید پس بسم ا.. اول : از اینکه نمونه کار قوی ندارید و همین رو بهونه میکنید که نمیتونید کار کنید ،نترسید.(البته در ابتدای مسیر)خیلی از دوستان از جمله خود من در چند ماه گذشته به این فکر می کنند چون نمونه کار قوی ندارند پس باید بیخیال فریلنسری و یا کار بشن و باید کلی کار کنند بعد بتونن تو این جامعه پا بگذارند .وقتی که تونستید وارد دنیای اندروید شوید و با چم و خم مسیر آشنایی نسبی پیدا کردید لطفا دنبال کار کردن باشید . چرا که با کار کردن یاد خواهید گرفت.در ابتداری مسیر لازم نیست دنبال پروژه های خیلی بزرگ و خیلی پر سود باشید چرا که خیلی از کارفرما ها برای اینکه کمتر هزینه کنند به دنبال آماتور ها هستند و کار سبک می خواهند و این همان شروع کار شما به عنوا یک تازه کار هست. وقتی که کم کم پیشرفت کردید و به دانش و تجربه اتون اضافه شد به خودی خود پروژه های بزرگ را کار خواهید کرد .پس نگران نباشید.دوم : تا جایی که می تونید آموزش دنبال نکنید. یعنی چی? مثل من نباشید که بحثی که در حال حاظر به هیچ وجه نیاز شما نخواهد شد رو براش وقت بذارید و سعی کنید به بهترین شکل یادش بگیرید زیرا که اگر آموزشی رو به کار نبرید عملا فقط تایمتون رو از دست دادید همین! وقتی دیدید تونستید درک کنید برنامه نویسی اندروید چیه ، شروع کنید پروژه زدن واسه خودتون و هرچیو که نیاز داشتید بپرسید و آموزش مربوطه رو از یوتیوب دنبال کرده و سپس آن را پیاده کنید ! به همین راحتی زیرا که حتما افرادی در اطراف شما هستند که n شب پر از باگ رو به صبح رسوندند.پس با اینکار هم یاد میگیرید هم نمونه کار خواهید داشت .سوم: از گرفتن و کار کردن روی پروژه های بزرگ نترسید.توصیه من به شما دوستان روی پروژه های کوچیک که محدود به دانش فعلی شماست کار نکنید ، چرا که در این صورت چیز جدیدی رو یاد نمیگیرید پس با گرفتن کاری که در ذهن خودتون قادر به انجام 40 درصد اون هستید توانایی خودتون رو به چالش بکشید بسیار لذت بخش است.پ . ن : دوستان عزیزی بودن که بعد از خوندن این تجربه ی سوم ذهنیت خودشون رو روی این دو خط نوشته غالب کرده بودند . ببیند دوستان عزیز منظور من این نبود که شما کار ارزون بگیری یا نمیدونم از ارزش کارت بیاری پایین . اصلا همچین چیزی در نوشته ام نیست . منظور من این بود که شمایی که حالا یک ساله کار میکنی و حس میکنی میتونی در یک چالش موفق باشی و یا اینکه میخوای یه چالش بزرگتر از تجربت رو انتخاب کنی همراه هم تیمیت و دوستت میتونی شروع کنی و نترسی . همین .اگر صحبت من مشکل داره لطفا بگید و ممنون .چهارم : گوگل شرکت و پشتیبان پلتفرم توسعه دهندگی ما است پس چرا دوست نداریم همراهش باشیم?توسعه دهندگان اندروید گوگل ماهانه و شاید هفتگی کنفرانس هایی را برای به عرضه گذاشتن امکانات جدید برای این پلتفرم برگزار میکنند و ابزارها و کتابخانه هایی برای برنامه نویسانش پیشنهاد میدن ، چرا ما تابع آن نباشیم?مسلما که بهترین دست آوردها را به همراه خواهد داشت پس از کنفرانس هاش و ابزارهاش غافل نشید .پنجم : کلاس خصوصی یا خود خوانی ؟لازم نیست به دنبال آموزش های گران قیمت باشید و یا اینکه کلاس های خصوصی شرکت کنید چرا که جامعه ی آماری توسعه دهندگان این پلتفرم به قدری وسیع است که موتور جستجوی گوگل و یوتیوب میتواند حمایت کاملی از شما داشته باشد.ششم : استفاده از کدهای آماده و کتابخانه های موجود و اختصاص تایم برای سنجش دانش خودگیت هاب دنیای اوپن سورس در اختیار شماست چرا با اون دوست نباشیم? هفته ای یکبار یک سورس خوب رو در اندروید استودیو ایمپورت کنید و یک ساعت باهاش کار کنید و اگر 30 درصد دستخط برنامه نویس اشو متوجه شدید پروژه رو ببندید ! عالیه ، تبریگ میگم بهتون شما تونستید دستخط یک برنامه نویس دیگر رو متوجه بشید و این نماینگر سطح دانش شماست.از سنجش خود در پیش خود خجالت نکشید.هفتم : برای دل خودتون کد بزنید.بیکار نشینید به جز بعد از اتمام یک پروژه ی سنگین .برای خودتون کد بزنید و رایگان بذارید مارکت که با یک تیر دو نشون زده باشید هم به ارتقای مهارتتون کمک کردید و هم به نمونه کارهای شما کمک میکنه. پس تا جایی که میتونید کد بزنید.اگر تایمشو دارید روزانه کد بزنید .هشتم : بایگانی و نگهداری و مستند برداری فراموش نشود.همیشه نوت برداری کنید و حین کد زدن کامنت بنویسید که وقتی بعد از یک ماه خواستید کد خودتون رو استفاده کنید متوجه شید که چه کرده اید . همیشه کد بزنید و نگه دارید چرا که روزی به کارتون میاد.نهم : قاعده و قانون نام گذاری یعنی همان Naming Convention را برای کد نویسی تمیز و منظم رعایت کنید.طبق این مقاله کوتاه عمل کنید.دهم : مقاله بخوانید .بله هر مقاله ایی که مربوط به برنامه نویسی و حوزه ی IT میشه رو بخونید . سایت های خوب خارجی مثل مدیوم و ایران مثل ویرگول. روزانه ۲۰ دقیقه رو بهش اختصاص بدید . در آخر اثر مرکب خودشو نشون میده.یازدهم : استفاده از سورس کنترل در منظم تر شدن و حفظ و نگهداری کد خود تلاش کنید.سورس کنترلی که برنامه نویسان از اون استفاده میکنند git هست و سایت هایی مثل گیت لب و گیت هاب هم محیطی برای ذخیره و نگهداری سورس ما به کمک git هستند.اگر به استفاده از گیت عادت کنید میتونه کمک بزرگی به شما بکند.دوازدهم : دوستان برنامه نویس هم خوب بخورید هم خوب بخوابید.یک عده از دوستان برنامه نویس که دوستان خودمم هم هستند اعتقاد دارند که برنامه نویس اونیه که شب ها کار میکنه و کم میخوابه و اونی که خوابش تنظیمه سوسوله .با اینکه اشتباهه . درستش این هست که باید ببینید که چه ساعاتی از روز رو میتونید ساعت های با بازدهی بالای خودتون در نظر بگیرید که بهترین کارایی رو داشته باشید.گاهی اوقات دوستان میگن که شب ها ساعت های بازدهی ما هست و من میگم اگر که میتونید تغییرش بدید ولی حالا اگر زیادی سعی کردید مشکلی نداره شما عضو اون درصد کم باشید.ولی خواب شب برای سلامتی سلول های خاکستری مغز تون و هم چنین تثبیت داده هایی که در طول روز باهاشون مواجه شدید , بسیار مفید هست.و اینکه خوب تغذیه کنید . حتما چیز های مقوی برای تقویت عضلات و ذهن رو در هنگام کار یا در طول روز مصرف کنید. و مراقب سلامتی و زیباییتون باشید.سیزدهم : توقف نکنید . از شروع نترسید و دنبال این نباشید که کسی به شما مسیر را نشان دهد.دوستانی رو میبینم که در گروه های تلگرام یا انجمن های مربوطه میان سوال میکنن که - دوستان بین وب و اندروید کدوم رو انتخاب کنم ؟و کلی فیدبک و پاسخ هایی رو میگیرن (که کاری به صحیح و غلط بودنش ندارم) که باعث آشفتگی اشون میشه و همین باعث گمراهی و گرفتن انرژی منفی میشه.یه توصیه میکنم : به حرف هیچ کس جز خودتون توجه نکنید. هیچ کس جز شما , ‌خود شما رو نمیشناسه . نمیدونه در چه محیطی زندگی میکنید . نمیدونه که قوای جسمی و تواناییتون در گیرایی مطالب چجوریاس . نمیدونه که چقدر تایم دارید . نمیدونه سیستم شما چیه . نمیدونه که به چی علاقمند هستید و ...همه چی رو تست نکنید که به علاقتون برسید . خیلی راحت یک بازه ی زمانی رو انتخاب کنید و تحقیق کنید (نه سوال کردن از دوستان بی تجربه در گپ ها) و هدف و ويژن خودتون رو انتخاب و سریعا به دنبالش برید.چهاردهم : خودتون برای حل مشکتون , سعی کنید.دوستانی هستند که به هر دلیلی قبل از اینکه مراجعه کنند به مرورگر شون و چیزی که میخواهند رو سرچ کنند , سریع میان در فروم ها و یا گروه ها میپرسند.این هیچ مشکلی نداره ولی چه موقع ؟! زمانی مشکلی نداره که شما تمام جستجوهاتو انجام دادی و کلی سرچ کردی و به اصل موضوع رسیدی و متوجه شدی ولی الان از یه نفر که خبره تر هست نظر میخای و سوالات پیرامون اون مطلب رو ازش میپرسی نه اینکه بهش بگی بهم نمونه کد بده :| نمونه کد توی گیت هاب موجوده فراموش نکن .تا جایی که میتونی سرچ کن و خودت دنبال حل مسیله خودت باش که هم یاد بگیری چجور سرچ کنی هم حین سرچ کردن با دوتا موضوع دیگه آشنا بشی.پانزدهم : به دنبال جمع کردن رزومه باشید دوستان وقتی که دیدید که میتونید با برنامه نویسی راحت باشید و با دنبال کردن موضوعی قادر به حل مشکل و خطاتون هستید پس به دنبال کسب تجربه و قید اون در رزومه اتون باشید . جوری که بتونید بعد از یکسال یک رزومه ی ترو تمیز داشته باشید که به عنوان یک برنامه نویس متوسط قبول شید که بعد ها بشه به تجربه هاتون اضافه کنید ولی از داشتن یک رزومه غافل نشید حتی اگر در نیمه ی راه هستید . شانزدهم : یک معماری خاص رو برای پروژه های خود انتخاب کنید هر پلتفرمی برای توسعه دهندگانش معماری به همراه دیزاین پترن های خاص خودشو آماده کرده که برای منظم تر شدن و بالا رفتن سطح کد در clean code و ..نیاز هست . مثلا برای اندروید معماری MVVM و دیزاین پترن های مرتبط خیلی معمول هست . حتما از آن استفاده کنید فعلا تا اینجا تونستم بنویسم اگر باز تجربه ایی یادم اومد قیدش میکنم.