مهارت های نرمی که هر توسعه دهنده ای باید داشته باشد
چند هفته پیش با فردی مصاحبه میکردم که قصد داشت به یک توسعه دهنده تبدیل شود، او نگران این بود که به اندازه کافی بر روی مسائل فنی مسلط نیست، البته مسائل فنی بخش مهمی برای یک توسعه دهنده به حساب می آید، به نظر شما به چه شخصی می توانیم واژه توسعه دهنده را نسبت دهیم.
این فرد چنین سوالی را از من پرسید. من هم خلاصه این چنین پاسخ دادم : البته توسعه دهنده بزرگ باید از مهارت های فنی خوبی برخوردار باشد، این غیرقابل انکار است اما چیزی که شما را در حرفه برنامه نویسی فوق العاده می کند، مهارت های نرم شماست.
این پاسخ او را متعجب کرد و ممکن است موجب تعجب شما هم شده باشد، اما من بر روی این موضوع اصرار دارم، مهارت های نرم همیشه مهم تر از مهارتهای فنی هستند زیرا زمانی که مهارت های نرم را به دست آورید به صورت طبیعی مهارت های فنی را هم خواهید داشت. اما حالا بیایید ببینیم این مهارت ها کدامند.
- کنجکاو باشید همیشه دنبال یادگیری چیزهای جدید باشید، یادگیری در میان عموم حتی بهتر است.
- صبر و حوصله داشته باشید و همیشه سخت کار کنید.
- خلاق و فعال باشید، موضوع را در نظر گرفته و تصویر بزرگی از آن در ذهن خود داشته باشید.
- مغرور نباشید، دیگران را مسخره نکنید، انتقادات را با مهربانی پاسخگو باشید.
- نحوه برقراری ارتباط با دیگران را یاد بگیرید و به صحبت های دیگران گوش فرا دهید.
- به دیگران کمک کنید، شما بیشتر از آن چیزی که فکر میکنید مفید هستید.
- کارها را سازماندهی کنید، دقیقه نودی نباشید، بدانید که باید چه کاری انجام دهید و این کار را چه موقع به انجام برسانید.
کنجکاوی و یادگیری مداوم
بیایید با کنجکاوی شروع کنیم، این موضوع بسیار اهمیت دارد زیرا افق های جدیدی را بر روی شما میگشاید. کنجکاوی یعنی تمایل به یادگیری مداوم و کشف چیزهای جدید. هیچگاه سوالات خودتان را در مورد انجام کاری پنهان نکنید و سعی کنید از همه جا سر در بیاورید. موقعی که چیزی را یاد گرفتید سعی کنید با دوستان خود به اشتراک بگذارید، حتی اگر اشتباه باشد این کار برای شما منافع زیادی خواهد داشت.
صبر و پشتکار
حتما شنیده اید پشتکار، کلید موفقیت است و این مورد به خصوص در مورد توسعه برنامه های کامپیوتری کاملاً درست است. با تلاش می توانیم به سرعت موارد مورد نظر خود را فرا بگیریم، زمانهایی هست که احساس می کنید دیگر پیشرفتی نخواهید داشت مثلاً زمانی که ساعت ها بر روی یک باگ احمقانه وقت صرف کرده اید، اینجا جایی است که میخواهید کل پروژه را متوقف کنید، اما باید کمی صبر داشته باشید.
همانطور که چیزهای جدید یاد می گیرید، تجربههای جدیدی نیز خواهید آموخت باید بدانید که کار سخت همیشه جواب خواهد داد. البته من نمی گویم تمام وقت خود را صرف کدنویسی کنید، تفریح و استراحت هم برای شما بسیار حیاتی است.
خلاقیت و فعال بودن
حل مشکلات و کشف و راه های جدید برای نگاه به چیزها، هسته کسب و کار ماست. بنابراین پیدا کردن راه حل های جدید برای ما مهم است، باید به چیزهای مختلفی نگاه کنیم و دیدگاه مناسبی در مورد نحوه انجام کارها به دست آوریم. با بهبود محصولات، ایجاد کتابخانه های جدید و سریع تر کردن چیزها با چالشهای جدیدی روبرو می شویم و البته در حل مسائل بهتر می شویم و شاید حتی کار بزرگی انجام دهیم که همه را شگفت زده کند.
برای پیدا کردن چنین راه حل هایی باید فعال باشید
البته صبر و خلاقیت نیز در اینجا اهمیت دارند، موضوع خاصی را در نظر بگیرید و سعی کنید همیشه تصویری بزرگ از کار مورد نظر را در ذهن خود داشته باشید، شما باید بدانید راه حل های خود را کجا و کی به کار ببرید. به عنوان مثال می توانید بخشی از پروژه خود را به صورت متن باز منتشر کنید. این کار آگاهی مردم را نسبت به پروژه و یا شرکت شما بسیار افزایش خواهد داد. بنابراین به عنوان فرد و یا شرکتی فعال و پاسخگو در قبال مردم دیده خواهید شد.
مغرور نباشید
مغرور نباشید و از کسی که بیش از حد به کدهای خود می بالد و دیگران را مسخره میکند، دوری کنید. معمولا چنین افرادی انتقاد پذیر نیستند. صرفا به خاطر اینکه چیزی را نمی دانی به معنای این نیست که نالایق هستید، صرفا به خاطر اینکه سوال میپرسید، به این معنا نیست که چیزی نمی دانید. صرفا به خاطر اینکه شما چیزهای بیشتری نسبت به یک فرد میدانید به این معنا نیست که شما برتر از او هستید.
می توانید توسعه دهنده بسیار خوب و موفقی باشید، در حالی که بسیاری از موضوعاتی را که مربوط به حوزه تخصصی شما نباشد، ندانید باید فروتن و افتاده باشید و انتقادات را با آغوش باز پذیرا باشید. اگر کسی به شما بازخورد درستی را منتقل کرد، آن را جرم تلقی نکنید از نکات گفته شده یاد بگیرید و بهتر شوید. اگر در حال کار در یک تیم هستید از برنامه نویسی جفتی به منظور بازبینی مجدد کد ها استفاده کنید.
ارتباط برقرار کردن
به نظر من مهم ترین و سخت ترین مهارت، برقراری ارتباط است. فهم و درک همدیگر کار آسانی نیست، از طرفی چیزی که میگوییم متفاوت از چیزی است که در مورد آن فکر میکنیم، افراد می توانند برداشت های متفاوتی نسبت به صحبتهای شما داشته باشند. علاوه بر این اکثریت وسیعی از مردم مایل نیستند به صحبت های دیگران گوش دهند، آنها فقط وانمود می کنند که به صحبت ها توجه می کنند و بیشتر دوست دارند در مورد داستانهای خود صحبت کنند، چیزهایی که در موردش فکر کرده و آنها را انجام دادهاند.
با این حال به عنوان یک توسعه دهنده نمی توانید به این روش عمل کنید. شما علاوه بر اینکه با توسعه دهندگان دیگر در ارتباط هستید، با مدیران و مالکان برنامه نیز در ارتباط هستید. پس باید به صورت واضح توضیح دهید که چرا در مورد انتخاب های تکنیکی اختلاف نظر دارید.
همدلی و کمک به دیگران
به عنوان یک توسعه دهنده باید روحیه کمک به دیگران را داشته باشید، همیشه سعی کنید دانش خود را با دیگران به اشتراک بگذارید، زیرا در این صورت می توانید خودتان نکات تازه تری را یاد بگیرید.
سازماندهی
آیا وظایف را به کسانی که غیر قابل اعتماد هستند، محول می کنید؟ مطمئناً خیر. اگر کارها سازماندهی نشود و وظایف به موقع انجام نشود هیچ کس راضی نخواهد بود. مطمئناً شما نمیخواهید جای چنین شخص نامنظمی باشید. اگر وظایف خود را به خوبی انجام دهید به این معنا خواهد بود که افراد به شما اعتماد میکنند و مسئولیت های بیشتری به شما می دهند.
سعی کنید تمام این مهارت های نرم را فرا بگیرید، وقتی در مورد موضوعی کنجکاو می شوید مدام آن را دنبال کنید و چیزهای جدید یاد بگیرید. خلاق و فعال باشید و در کارهای خود صبر داشته باشید.
منبع: لرن سورس