برنامه نویس مبتدی بودن آسان نیست. در این دوران کارهای زیادی برای انجام دادن دارید و باید از تمام اتفاقاتی که در شرکت شما رخ میدهد خبر داشته باشید. نکات پیش رو به شما کمک میکند تا به خوبی در این مسیر قدم بگذارید.
۱. از پرسیدن سوال نترسید
احتمالا پرسیدن سوال یکی از مهمترین مهارتها برای هر برنامه نویس است. همیشه باید سعی کنید تا چیز جدیدی را هنگام کار بر روی یک مشکل یا ویژگی یاد بگیرید. حتی اگر این فقط یک کانسپت جدید باشد که بعدها به کار شما بیاید.
علاوه بر این، بعضی مواقع با مواردی روبرو خواهید شد که قبلا توسط شخص دیگری حل شده است (مانند Stack Overflow). پس از درخواست کمک نترسید! بهتر است ۱۰ دقیقه را به جستجو در گوگل و پرسیدن سوال بپردازید. تا اینکه ۲ ساعت از وقت خودتان را برای رفع اشکال مسئلهای بگذارید. که قبلا توسط شخص دیگری حل شده است.
حتی اگر مستقیما به کسی کمک نکند. هر سوالی که پرسیده و پاسخ داده شود با افزایش دانش جمعی ما به طور غیر مستقیم به همه کمک میکند.
اگر شرکت شما دارای انجمنهای داخلی است که میتوانید در آن سوالاتی بپرسید، از آنها استفاده کنید! حتی اگر آنها مربوط به پروژه یا تیم خاص شما نباشند، سوال در مورد مسائل کلی به احتمال زیاد در طولانی مدت به شما کمک خواهد کرد.
۲. نگران مقام بالاتر نباشید
این مورد احتمالا مهمترین نقطه این لیست است. ساده است که درگیر ایده ارشدیت شوید و نگران این باشید که آیا به اندازه کافی به مقام ارشدیت رسیدهاید یا خیر تا یک کار خاص انجام دهید.
حتی اگر در ابتدا شکست خوردید، از اشتباهات خود بیاموزید و ادامه دهید. در صورت نیاز همیشه میتوانید درخواست کمک کنید. فقط به یاد داشته باشید که سابقه کار کاملا نسبی است. همیشه کسی وجود خواهد داشت که تجربه بیشتری از شما دارد، بنابراین اجازه ندهید که شما را از انجام کاری بازدارد، زیرا این کار در سوابق کاری یا پیشینه فعالیت شما تاثیر خواهد گذاشت.
۳. پیش قدم باشید
این نکته به عنوان یک توسعه دهنده مبتدی و برای موفقیت در توسعه نرم افزار به شما کمک میکند تا هنگام حل مشکلات یا پیاده سازی ویژگیها ابتکار عمل داشته باشد. این بدان معناست که فراتر از آنچه از شما خواسته شده است پیش بروید و مطمئن شوید که کارها برای اولین بار به درستی انجام شدهاند (همچنین بررسی کد شما را برای سایر برنامه نویس ها آسان میکند).
من شخصا این روش را مفید میدانم، زیرا به من این امکان را میدهد. تا در مورد دامنه مشکلی که در آن کار میکنم بیشتر بیاموزم. (که در هنگام کار با پروژههای بزرگ اغلب مورد نیاز است). پرسیدن سوال در این زمانها نیز میتواند مفید باشد. زیرا آنها در اغلب اوقات به بحث درباره دلیل تصمیم گیریهای فردی یا اتخاذ رویکردهای خاص منجر میشوند (این ممکن است به تصمیم گیری در آینده کمک کند).
حتی اگر ایدههای شما بلافاصله اجرا نشوند، ممکن است برای دیگران الهام بخش باشند یا حتی به نسخههای بعدی محصول راه پیدا کنند (قبلا بارها این اتفاق را دیدهام).
این امر همچنین به اعتماد سازی اعضای تیم شما کمک میکند، زیرا آنها میدانند آنچه که باید انجام شود را بدون راهنمایی خواستن از آنها انجام خواهید داد.
۴. کد خوبی بنویسید
این امر به ویژه هنگام کار در یک تیم با بسیاری از برنامه نویس ها (یا حتی کار به تنهایی) بیشتر صدق میکند.
با این حال، نوشتن کد خوب، خواندن و مرور کار شما را برای سایر برنامه نویس ها راحتتر میکند (که در طولانی مدت باعث صرفه جویی در وقت میشود). همچنین درک کد بعدی خود را برای شما آسانتر میکند (صرفه جویی در وقت در کوتاه مدت).
اگر تا به حال تستی ننوشتهاید، این قسمت دیگری است که میتوانید ابتکار عمل را به دست بگیرید و با خواندن درباره راهکارهای ﺁزمایش یا نوشتن چند تست ساده، درباره زبان یا فریمورک خود اطلاعات بیشتری کسب کنید.
با نوشتن تست، شما میتوانید به راحتی باگها برنامه نویس را اشکال زدایی کنید.
۵. کد بخوانید
این مورد کاملا واضح بوده، اما هنوز هم انجام دادن آن ضروری است. خواندن کد یک روش عالی برای یادگیری نحوه انجام کارها در پروژهها و زبانهای دیگر است. همچنین به شما این امکان را میدهد که ببینید برنامه نویسان هنگام نوشتن نرم افزار با چه مشکلاتی روبرو میشوند، این امر بعدها به شما در حل مشکلات کمک خواهد کرد.
اگر زمانی در کاری گیر کردید و نیاز به کمک شخص دیگری داشتید، توضیح مسئله بسیار مهم است. این به ارتباط بین برنامه نویسان و همچنین همکاری در پروژهها (که باید هدف اصلی هر برنامه نویس باشد) کمک میکند. همچنین، ممکن است با خواندن کد، ایدههایی برای پروژهایتان به شما ارائه شود!
۶. از دیگران یاد بگیرید
این نکته نیز باید واضح باشد، اما من فکر میکنم از اهمیت کافی برخوردار است که به هر حال میخواستم به آن اشاره کنم. از فرصتها برای یادگیری از دیگران استفاده کنید! به عنوان مثال، اگر کسی در مورد Stack Overflow سوالی بپرسد که شما پاسخ آن را میدانید، به آن پاسخ دهید! همچنین ممکن است دانش خود را با وبلاگ نویسی یا صحبت در نشستها یا کنفرانسها به اشتراک بگذارید. حتی اگر پاسخ شما ارتباط مستقیمی با وظایف برنامه نویس شما نداشته باشد، پاسخ دادن به سوالات هنوز ارزش دارد، زیرا هنگام انجام این کار احتمالا چیز جدیدی یاد خواهید گرفت (این امر ممکن است به حل مشکلات آینده که پیش خواهد آمد نیز کمک کند).
همچنین، حواستان به مقالات، فیلمها، پادکستها و کتابهایی باشد که ممکن است با آنچه که بر روی آن کار میکنید مرتبط باشد. اینها در اغلب اوقات میتوانند دلیل تصمیمات خاص و چگونگی بهبود آنها را توضیح دهند.
سرانجام، کتاب را فراموش نکنید! کتابها احتمالا یکی از بهترین راهها برای یادگیری چیزهای جدید هستند.
کتابهای عالی بسیاری وجود دارد که طیف گستردهای از موضوعات را پوشش میدهد. اطمینان حاصل کنید که هر کتاب را که انتخاب میکنید، موضوعات مرتبط با آنچه روز به روز انجام میدهید را پوشش میدهد!
۷. آنچه که یاد میگیرید را تمرین کنید
این یک روش عالی برای تقویت دانش شما در مورد یک موضوع است و همچنین یک روش آسان برای نشان دادن آنچه شما آموختهاید به دیگران (مانند مصاحبه کنندگان یا کارفرمایان بالقوه) است.
اگر بر روی یک پروژه بزرگ کار میکنید ممکن است کمی دشوارتر باشد، اما هنوز فرصتهایی برای تمرین آنچه یاد میگیرید وجود دارد. به عنوان مثال، شاید بتوانید برخی از ویژگیها را با استفاده از آخرین فناوری که شرکت شما تازه شروع به استفاده از آن کرده است، پیادهسازی کنید. در غیر این صورت، میتوانید برخی از ویژگیهای کوچک را با استفاده از این فناوری جدید و به اشتراک گذاری آن با اعضای تیم خود امتحان کنید.
نکته این است که حتی اگر قادر به استفاده از چیزهای جدید در محل کار خود نباشید، فرصتهای زیادی خارج از حیطه کار وجود دارد که میتوانید آموختههای خود را به نمایش بگذارید (مانند نشستها، کنفرانسها یا هکاتونها). همچنین میتوانید در مورد فناوریها و فریمورکهای مورد علاقه خود در وبلاگها پستی به اشتراک بگذارید. من قبلا مقالات و فیلمهای مفید بسیاری را در وبلاگها پیدا کردهام.
۸. نگران کسب تجربه نباشید
من فکر میکنم این مورد بیشتر در مورد توسعه دهندگان مبتدی که اخیرا از کالج یا مقاطع آموزشی فارغ التحصیل شده اند، به کار میرود. برای توسعه دهندگان مبتدی که تازه فارغ التحصیل شدهاند بسیار آسان است که به جای تمرکز بر یادگیری چیزهای جدید و توسعه مهارتهای خود، در ساخت رزومه خود و کسب تجربه در سطح ارشد تمرکز کنند.
با این حال، این رویکرد همیشه در طولانی مدت به خوبی جواب نمیدهد، زیرا منجر به این میشود که توسعه دهندگان مبتدی سعی کنند کارهایی را انجام دهند که هنوز برای آنها آماده نیستند (و پس از ناکامی ناامید شوند).
من به شما توصیه میکنم که بر روی یادگیری چیزهای جدید تمرکز کنید. در صورت امکان، از فرصتها برای ایجاد مهارتهای خود استفاده کنید و در هنگام مصاحبه به خود نسبت به سایر نامزدها برتری دهید (حتی اگر مستقیما به پیشنهاد کاری منجر نشوند).
حرف آخر…
توسعه دهندگان مبتدی باید واقعا بر اصول برنامه نویسی و ساخت پروژهها تمرکز کرده و در عین حال مهارتهای حل مسئله خود را نیز ارتقا دهند. این به شما کمک میکند تا با گذشت زمان به یک توسعه دهنده بهتر تبدیل شوید.