این روزها افراد بسیار زیادی هستند که دوست دارند وارد دنیای توسعه اپلیکیشن و مهندسی نرم افزار شوند. از طرفی دیگر افراد بسیار زیادی نیز هستند که در حال حاضر وارد این دنیا شده اما دوست دارند بدانند که آیا در مقطع کنونی میتوانند خودشان را با ارزش ببیند یا خیر.
خب باید بگوییم که برنامه نویسی در دنیای کنونی یک حوزه کاری بسیار پر طرفدار و داغ است. به همین دلیل است که افراد بسیار زیادی تلاش میکنند تا در این زمینه تواناییهایی را کسب کنند. برنامه نویسی شغلیست که جدای از تواناییهای ذهنی و منطقی، شما را به داشتن خلاقیت و نوآوری نیز وا میدارد. به همین دلیل است که تقریبا افراد مختلف با تواناییهای متفاوتی در قسمتهای مختلفی از فرایند توسعه نرم افزار مشارکت داشته و همین موضوع باعث شده تا منعطف بوده و برای بیشتر افراد فرصت ورود را داشته باشد.
جدای از این موضوعات، در دنیای برنامه نویسی همواره یکسری شاخص وجود دارد که با در نظر گرفتن آن میتوان به صورت کلی به این نتیجه رسید که آيا یک برنامه نویس فرد تواناییست یا خیر؟ آیا یک برنامه نویس مسیر کاری و حرفهای اش را درست پیش میرود یا خیر؟
در این مقاله از وبسایت راکت قصد داریم به بررسی چند مورد از این شاخصها بپردازیم. با این نکته شروع بکنیم که این تنها چند شاخص کلی بوده و ممکن است افراد زیادی باشند که شاخصهای بیشتری را مد نظر گرفته و به همین دلیل موضوعات را سختتر از این مقاله در نظر بگیرند. اگر شما شاخص دیگری جدای از این موارد در نظر دارید خوشحال میشویم آنها را مطالعه کنیم.
از طرفی دیگر ما مواردی که مربوط به اصل واضح برنامه نویسی میشود را چندان در نظر نمیگیریم. برای مثال همه میدانیم که دانستن حداقل یک زبان برنامه نویسی، به برنامه نویس بودن فرد مربوط میشود و اگر کسی این حداقل را نداشته باشد به صورت کلی برنامه نویس به حساب نمیآید در نتیجه کلا اگر حتی شاخصهای زیر را داشته باشد باز هم یک برنامه نویس به حساب نمیآید!
تواناییهای نرم یا Soft Skills
برای بسیاری از افراد برنامه نویسی تنها نشستن پشت یک لپ تاپ و کدنویسی در یک ادیتور است! اما حقیقت را بخواهید محیطهای حرفهای چیزهای بسیار بیشتری را از شما میخواهند. در نتیجه کدنویسی تمام آنچیزی نیست که یک برنامه نویس باید داشته باشد. داشتن یکسری مهارت و توانایی نرم یا Soft Skills به شما این امکان را میدهد تا در مسیری که در آن قدم گذاشتهاید و یا میگذارید موفقتر عمل کنید.
منظور ما از تواناییهای نرم، تواناییهای عمومی یک فرد در یک تیم کاری است. داشتن توانایی تعامل، منظم و مرتب بودن، اولویت دادن به کارها، دوری کردن از موضوعات غیر مرتبط به کار در حین کار کردن، جمع کردن تمرکز و... را میتوان از مهمترین این تواناییهای نرم دانست. البته نه فقط توسعه دهندگان بلکه همه افرادی که در یک محیط تیمی فعالیت میکنند باید از این ویژگیها برخوردار باشند.
داشتن خلاقیت بالا و ذهن نقد محور (نقد پذیر و منتقد) هم برای بالا بردن تواناییهای نرم بسیار واجب و ضروری است. یکی از کتابهایی که میتواند در زمینه توسعه تواناییهای نرم به شما کمک بسیار زیادی بکند کتابیست با عنوان «Soft Skills: The Software Developer's Life Manual» نوشته «John Sonmez». در این کتاب به صورت فصل بندی شده و دقیق در ارتباط با تواناییهای نرم مختلف صحبت به عمل آمده و همچنین از اصلیترین موضوعات در ارتباط با کلیت این موضوع توضیحات و تجربههای بسیاری ارائه شده است.
در جریان بودن
برخی از برنامهنویسها از به اشتراک گذاشتن خود ترس دارند. دلایل بسیاری زیادی نیز برای این موضوع وجود دارد:
- ترس مسخره شدن
- ترس اینکه ایدههایشان دزدیده شود
- ترس اینکه کسی از دانششان استفاده کند
- و...
در ارتباط با موضوع اول باید بگویم که هیچکسی در مراحل اول عالی و همه چیز دان نیست و حتی در مراحل بالاتر نیز باز هم به صورت تمام و کمال کامل نیست. در نتیجه از اینکه کسی به شما بگوید اشتباه میکنید و چیزهایی مانند این نترسید و سعی کنید اشتباهات خود را قبول کرده و در بهبود آنها پیش بروید.
در ارتباط با موضوع دوم این را بگویم که ایدههای عالی بسیار زیادی وجود دارند و اگر خود شما توانایی اجرایی کردن آنها را ندارید چه بهتر که افراد دیگری این کار را انجام دهند (البته با کسب اجازه از شما!)
در ارتباط با موضوع سوم باید بگویم که حوزه توسعه نرم افزار چنان بزرگ است که تقریبا این روزها غیر ممکن است شما چیزی را بدون آنکه دیگران بدانند، بدانید. برای مثال اگر تکنیک جدیدی را برای پیادهسازی آرایه در پایتون میدانید و فکر میکنید که اطرافیانتان آن را نمیدانند (با این فرض که حق با شماست) تنها یک سرچ ساده بکنید تا متوجه شوید دهها آموزش در یوتیوب و استک اور فلو وجود دارد که همان چیز را آموزش میدهند!
گفتن این موارد به این دلیل بود که شما به عنوان یک برنامه نویس باید خود را در جریان شبکههای اجتماعی مربوط به برنامه نویسی بگذارید و حتی یک وبلاگ داشته و یا در انجمنهای برنامه نویسی شرکت کنید. همیشه چیز تازهای برای یادگیری وجود دارد و همیشه افراد جدیدی نیز وجود دارند که پیدا کردنشان میتواند به ادامه مسیر شما کمک بسیار بزرگی بکند.
جستجوگر و کنجکاو بودن
حقیقتا برنامه نویس خوب کسیست که مدام به دنبال تکنیکها و روشهای جدید در دنیای برنامه نویسی میگردد. اگر فکر میکنید که شما باید ثابت و ایستا یک موضوع خاص را بدانید و کاری به هیچ چیز دیگر نداشته باشید سخت در اشتباه هستید. تا آنجایی که ما تجربه کردهایم و میدانیم، برنامهنویسی چیزی نیست که ثابت بماند، همواره در حال تکامل و پیشرفت بوده و به همین دلیل است که شما نیز باید همواره در بخشهای مختلف اینترنت سَرَک کشیده و موضوعات جدید را پیدا کنید.
یکی از تواناییهای مهمی که برنامه نویسان باید داشته باشند توانایی جستجو کردن و پیدا کردن منابع آموزشی مناسب و جاهایی است که میتواند به پرسشهایشان پاسخ بدهد. همیشه روی دوست کناریتان یا برنامه نویسی ارشد شرکت حساب نکرده و سعی کنید روی پای خودتان بایستید.
در پایان
برنامه نویس بودن به مثابه تبدیل شدن به یک فرد همه فن حریف نیست و الزاما هم نباید به این شکل به آن فکر کرد. اما یک برنامه نویس باید از تواناییهای کلی برخوردار باشد. در این مقاله سعی کردیم تا شما را با اصلیترین این تواناییها آشنا کرده و به عنوان یک شاخص آن را برای شما نمایان کنیم. حال با در نظر گرفتن این موارد میتوانید به این نتیجه برسید که در مسیر تبدیل شدن به یک برنامه نویس حرفهای چه مواردی را کم دارید.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید