در حال حاضر در ۴۶ سالگی زندگی به سر میبرم و اگر به صورت حرفهای به زندگیام نگاه کنم میبینم که ۲۶ سال است به برنامه نویسی مشغول بودهام. مطمئنا در این سالها تجربیات و درسهای بسیار زیادی را یاد گرفتهام که دوست دارم آن را با افراد مختلف چه مبتدی و چه حرفهای به اشتراک بگذارم. امیدوارم این موضوعات بتواند به شما کمک بکند تا در مسیر تبدیل شدن به برنامه نویسی بهتر حرکت کنید.
تجربه اول: هیچوقت نمیتوان همه چیز را دانست
مخصوصا در اوایل دوران برنامهنویسی من فکر میکردم که میتوانم همه چیز را در ارتباط با توسعه نرم افزار یاد بگیرم. همچنین این وضعیت یک توهم از آنچه که «من میتوانم هر کاری را بکنم» در من ایجاد کرد که براستی در اوایل کار کردنم به یک سم تبدیل شد.
هر زمان که قصد یادگیری یک چیز جدید را داشتم متوجه میشدم که با دنیایی از مفاهیم و تکنیکهای جدید روبرو هستم که چون نمیتوانم تمام این موارد را در کنار یکدیگر و همزمان یاد بگیرم سرخورده میشدم. به همین دلیل است که میگویم هیچوقت این فکر که میتوان همه چیز را به صورت تمام و کمال یاد گرفت در مغزتان درست نکنید، چرا که همواره ابزار، کتابخانه، فریمورک و یا زبان برنامه نویسی دیگری خواهد بود که شما هنوز آن را یاد نگرفتهاید و لزوما یادگیری آن نیز به شما کمکی نخواهد کرد.
جملهای که همواره باید در ذهن خودمان آن را تکرار کنیم این است که: بهتر است دریاچهای عمیق باشیم تا یک اقیانوس یک متری! بنابراین بهتر است در ابتدا روی یک موضوع خاص تخصص پیدا کرده و سپس سراغ موضوعات متفرقه بروید.
تجربه دوم: تیمهای توسعه را جدی بگیرید!
درست است که برای بیشتر ما فرایند یادگیری به صورت خودآموز شروع میشود اما با تواناتر شدن ما، موضوعاتی هستند که یادگیری آنها بیشتر در گروهها و تیمهای توسعه نرم افزار شکل میگیرند. به همین دلیل است که وارد شدن به کارهای تیمی و کار کردن با دیگر برنامه نویسها موضوع بسیار مهم دیگری است.
همواره سعی کنید اطراف خود را با افرادی که دارای تخصص در کارهای خود هستند و همچنین از روحیه کار تیمی برخوردار هستند پر کنید. این موضوع نه تنها شما را به لحاظ تخصصی به سطح جدیدی ارتقا میدهد بلکه مهارتهای نرم شما را نیز ارتقا میدهد.
تجربه سوم: کدها باید برای انسانها نوشته شود
تنها کار کردن یک نرم افزار و یک قطعه کد کافی نیست. همواره باید این موضوع را در نظر بگیرید که کدهای شما بعدا توسط دیگران و حتی خودتان خوانده خواهد شد و نیاز است که بعدا به خوبی بتوانید با این کدها ارتباط برقرار کنید.
اگر کدهای شما خوانا نباشند، بعدها زمانی که خودتان بخواهید ویرایشی در آنها ایجاد کنید این کار به یک معضل بزرگ تبدیل خواهد شد. همواره این موضوع را در نظر بگیرید که کدهایتان باید خوانا بوده و قابل فهم باشند.
تجربه چهارم: صبوری بهترین دوست شماست
عجول بودن در فرایند یادگیری و کاری میتواند به شدت خطرناک باشد. یکی از دلایل اینکه برنامه نویسی چه در فرایند یادگیری و چه در فرایند کاری یک رشته سخت تلقی میشود این است که نیازمند صبوری بسیار زیاد بوده و باید به خوبی بتوان با طاقت بسیار زیاد پیش رفت.
در فرایند یادگیری شما باید یاد بگیرید که صبوری خود را در فرایند یادگیری حفظ کنید. نباید در ارتباط با یادگیری کامل یک موضوع عجله به خرج دهید و تُند تُند پیش بروید. حتی اگر روزانه یک ذره از تکنولوژی را یاد بگیرید مطمئنا میتوانید در بازه زمانی مشخصی، روی یک موضوع تسلط پیدا کنید.
در فرایند همکاریهای تیمی نیز وضع به همین شیوه است. در ارتباط با همکارانتان صبر پیشه کنید و از همه افراد این انتظار را نداشته باشید که با یک سرعت پیش بروند.
در آخر این مورد یک جمله خارج از خاطرات این برنامه نویس بگویم و آن این است که: آهسته و پیوسته رو!
تجربه پنجم: پایبندی و پیوستگی اصل مهم است
انجام هر کاری به صورت پیوسته میتواند در سریعترین زمان ممکن شما را به چیزی که میخواهید برساند. قرار نیست ۲۰ ساعت کار را در یک روز انجام دهید بجای آن میتوانید با برنامه ریزی روزانه چند ساعت در یک هفته همه چیز را به درستی انجام دهید.
تکرار کردن یک کار در روزهای مختلف به شما این امکان را میدهد تا بتوانید بهتر از هر حالتی کارهایتان را انجام دهید. ممکن است به نظر کمی خسته کننده و زمان بر باشد اما در نهایت شما همیشگی خواهید بود!
تجربه ششم: همواره هم از کسی بهتر هستید و هم از کسی بدتر!
هیچوقت به این مسئله فکر نکنید که دوستانتان از شما خیلی جلوتر هستند چرا که دوستانتان نیز افرادی را دارند که از آن بهتر عمل میکنند و افرادی نیز هستند که شما از آنها جلوتر پیش میروید. این موضوع را از یک ضعف به یک نقطه قوت تبدیل کنید.
داشتن دوستانی که از شما اطلاعات بیشتری دارند یک نقطه ضعف نیست بلکه به این معناست که شما میتوانید از آنها چیزهای مختلفی را یاد بگیرید.
هیچگاه نسبت به این قضیه حسودی نکنید چرا که براستی یکی از دشمنان پیشرفت حسودی خواهد بود. حسودی باعث مایوس شدن و انجام ندادن کار درست میشود. بجای آن سعی کنید در کنار آنها پیشرفت کرده و با آنها هم قدم شوید.
تجربه هفتم: داشتن شبکه افراد مهم است
ارتباط داشتن با دیگران بسیار مهم است. به لطف شبکههای اجتماعی مختلف و بخصوص لینکدین شما این امکان را خواهید داشت تا با دیگرانی که از جنس شما هستند و با شما کار میکنند بیشترین ارتباط و همکاری را داشته باشید.
داشتن رزومه کاری مناسب، نمونه کارهای متفاوت، پروفایل حرفهای و... همگی باعث میشوند تا شما فرد حرفهایتری به نظر رسیده و در نتیجه فرصتهای شغلی را نیز درو کنید.
تجربه هشتم: تعطیلات را جدی بگیرید
قبل از اینکه شما یک برنامه نویس باشید یک انسان عادی هستید. انسانها برخلاف کامپیوترها به استراحت نیاز دارند و به همین دلیل است که باید به تعطیلات و امکانهای تفریحی توجه کنید. استراحت و تعطیلات شما کوتاه مدت و بلند مدت خواهند بود. برای مثال در بین یک روز کاری یک ساعت را به کارهای دیگر مشغول باشید. در بلند مدت نیز به یک مسافرت یا مواردی از این دست فکر کنید.
تجربه نهم: بیشتر شرکتها آنچه که شما فکر میکنید نیستند!
زمانی که آرزوی کار کردن در شرکتهای مختلف را داشته باشید باید با این واقعیت کنار بیایید که آنها شاید دقیقا شبیه به شرکتهایی که داخل شبکههای اجتماعی و سایتهایشان هستند نباشند. این موضوع مسئله بسیار مهمیست که کمتر کسی به آن توجه میکند.
به یاد دارم سومین شغلی که در یک شرکت کانادایی بود در نهایت با شکایت به پایان رسید این در حالی بود که براساس اطلاعات خوانده شده در شبکههای اجتماعی فکر میکردم این شرکت یکی از بهترین شرکتها در سطح کشور کاناداست!
در پایان
مطمئنا بیشتر ما در حوزه مهندسی نرم افزار تجربیات بسیار زیادی داشتهایم از این جهت گفتن آنها به دیگران کمک میکند تا بهتر مسیر خود را پیش ببرند.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید