درود دوستان! ۱۰ آیتم آخر از مجموعه پستهای ۴۰ تجربه برای توسعهدهندههای تازهکار رو بررسی میکنیم.
۳۱. شغل برنامهنویسی فقط برنامهنویسی نیست
بله! این حرفه فقط محدود به حل مسائل فنی نمیشه. مهارتهای ارتباطی مناسب، یکی از مهمترین ویژگیهای یک برنامهنویس آیندهدار هست. شانس موفقیت توی این حرفه حد زیادی بستگی به این داره که چطوری سوال کنیم، چطوری با افراد تیم در ارتباط باشیم، چطور رزومه بفرستیم، چطوری مصاحبه کنیم و ... .
توانایی برقراری ارتباط و ارائه ایدهها و افکار، ویژگی بزرگ همه افراد موفق دنیاست. سوالی که همیشه از افراد میپرسم اینه که اگه به شما سورسکد فیسبوک یا گوگل رو بدن، کفایت میکنه که به اندازه اونها موفق بشی؟
۳۲. یاد بدیم تا بهتر یاد بگیریم
آموزش دادن یکی از تأثیرگذارترین شیوههای یادگیری هست. چرا؟ چون وقتی میخوایم چیزی رو آموزش بدیم، مجبوریم تا درک درستی از موضوع بدست بیاریم.
۳۳. قهوه و تم دارک لازم نیست
اگه عاشق قهوه نیستین و فقط از تمِ دارک استفاده نمیکنید، شما مشکلی ندارید! باز هم میتونید برنامهنویس باشید و کارهای بزرگ انجام بدین 😉
۳۴. قبل از همکاری با یک شرکت، اون رو کاملاً بررسی کنید
رئیس و تیم خوب، هزاران بار بهتر و ارزشمندتر از حقوق خوب هست. اگر از طرف شرکتی برای شما درخواست همکاری اومده، اون شرکت و سوابقش رو کاملاً بررسی کنید و ببینید کارمندهایی که اونجا کار میکردن چه نظری درباره این شرکت دارن.
۳۵. هر چی زودتر با الگوها آشنا بشید
الگوهای طراحی یا به قول معروف Design Pattern ها، راهِ حلهای عمومی برای مسائل عمومی هستن. دونستن این الگوها و همچنین اصولی مثل SOLID و DRY و KISS توی کدنویسی تمیز و بهینه بسیار کمککننده هستن.
البته افراط توی استفاده از این الگوها، کیفیت کد و نگهداری اون رو کم میکنه و باعث پیچیدگی برنامه میشه. قبل از استفاده از هر الگویی، باید مشکل رو شناسایی کنیم.
۳۶. سادهتر، بهتر
شاید فکر کنیم که هر چقدر کدهای پیچیدهتر بنویسیم، سطح اعتبار ما بالاتر میره. ولی تجربه دقیقاً برعکس این قضیه رو نشون میده. همونطور که قبلاً بررسی کردیم، ما کدها رو فقط برای ماشین نمینویسیم. بلکه اول برای خودمون و بعد برای دیگران این کار رو انجام میدیم. با کیفیتترین کدها سادهترین و قابل فهمترین اونهاست: کدی که به راحتی قابل خوندن و درک باشه. و باید بدونیم که مهارت کدنویسی ساده، به سادگی به دست نمیاد. هر چقدر بیشتر کدنویسی کنید و با تجربهتر بشید یاد میگیرید که کدهای سادهتری بنویسید.
۳۷. هر کسی یه جوری یاد میگیره
ویدئو، متن، مستندات یا کلاسهای آموزشی حضوری و مجازی؟ اینها همه روشهای متفاوت یادگیری هستن. هر کسی سبک و سرعت یادگیری متفاوتی داره که هر کدوم مزیتهایی نسبت به همدیگه دارن. زمانی که شروع به کار کردم، بیشتر منابع متنی (اکثراً کتابهای آقای جعفرنژاد قمی) و مستندات در دسترس بودن.
۳۸. سلامتی: اولویت اول
ما بعضی از کارها مثل رانندگی رو بدون تفکر انجام میدیم. اما برنامهنویسی یک کار کاملاً فکری هست و هر لحظه از اون - حتی برای نوشتن یک if ساده - به تمرکز و دقت نیاز داریم. اگر خواب و تغذیه مناسبی نداشته باشیم، علاوه بر اینکه پیشرفتی نخواهیم داشت، باعث آسیب به خودمون میشیم. با استراحت و تغذیه مناسب، ورزش کافی و یک ژستِ درست نشستن، میتونیم تا آخر عمر از برنامهنویسی لذت ببریم.
۳۹. رایگان کار کنید، اما ارزان نه!
کارهای رایگان انجام دادن مثل مشارکت توی پروژههای اپنسورس و به اشتراک گذاشتن اطلاعات شخصی فواید بیشماری داره. علاوه بر یادگیری، باعث افزایش اعتبار و محبوبیت شما و همچنین کمک به بهتر شدن جامعهی نرمافزار میشه. به همین دلیل هست که توی چند سال گذشته غولهای نرمافزاری دنیا مثل مایکروسافت به اپنسورس توجه بیشتری نشون دادن.
اما کسی که دستمزدی پایینتر از حد متعارف دریافت میکنه، اول از همه به خودش و بعد به بقیه افراد این جامعه بیاحترامی کرده. اگر قراره برای کارِتون دستمزدی دریافت کنید، حتماً ارزش کار خودتون رو حفظ کنین تا دیگران برای شما، زحمتی که کشیدید و هم جامعهی نرمافزار احترام قائل بشن.
۴۰. مهمترین تجربه
صفت «اشتیاق به یادگیری» جزو جدانشدنیِ یک برنامهنویس خوب و آیندهدار هست. آخرِ همه این نکتهها، به مهمترین تجربهای که میشه اشاره کرد، اینه که تمایل داشته باشید که تجربه کنید و یاد بگیرید 😉
خب دوستان، با به اشتراک گذاشتن این نکات امیدوارم کمکی کرده باشم تا بهتر و بهتر بشیم و جامعهی نرمافزار کشومون برسه به چیزی که استحقاق داره 😉✌️
ایده نوشتن این پست از به ذهنم رسید.
