هر ساله هزاران مهندس نرم افزار مشتاق از دانشگاهها، بوتکمپها و دورههای مختلف فارغ التحصیل میشوند. آنها برای مطالعه و یادگیری کد نویسی تلاشهای بسیاری کردند و اکثراً بااستعداد هستند. آنها لیاقت جایگاه بهتری را دارند اما متاسفانه خیلیها به خاطر نداشتن آگاهی کافی از این صنعت کنار گذاشته میشوند.
در این مقاله موضوعاتی را به اشتراک میگذارم که به من کمک کرد تا بتوانم در حرفه خود به جایگاه بهتری برسم. رقابت در مهندسی نرم افزار نیز وجود دارد. برای دیده شدن در این حوزه، باید تواناییهای مشخصی داشته باشید. ایجاد یک شهرت آنلاین یا ساخت نمونهکار مستلزم سختکوشیهای زیادی است. نمیتوانید در یک شب به آن دست پیدا کنید. ابتدا حوزههایی که در آن ضعف دارید را شناسایی کرده و سپس مطابق با آنها عمل کنید.
در ادامه با یکدیگر چند نکته مهم در این زمینه را مطالعه خواهیم کرد:
مفاهیم نظری
به عنوان یک مهندس باید تمام مفاهیم اساسی در کارهای خود را درک کنید. ساختار دادهها و الگوریتمها مهمترین مفاهیمی است که باید آنها را بفهمید. تقریباً هر فریمورک، کتابخانه یا پکیجی که در کارهای روزمره خود بکار میگیرید، از یک یا چند ساختار داده استفاده میکند. باید با سیستمهای نرم افزاری بزرگ نیز آشنایی داشته باشید. اکثر شرکتها معمولاً از شما انتظار دارند که درک خوبی از نحوه کارکرد این سیستمها داشته باشید. از آنجایی که ما در کارهای روزانه خود از ساختارهای داده استفاده نمیکنیم، برخی از توسعه دهندگان باتجربه باور دارند که یاد گرفتن آن بیفایده است. شاید یک سری از توسعه دهندگان اصلاً از آن استفاده نکنند، اما بیشتر شرکتها از ساختارهای داده و الگوریتمها برای تست کردن تواناییهای حل مسئله شما استفاده خواهند کرد. بنابراین یاد گرفتن آن هیچ ایرادی ندارد.
مشارکتهای متن باز
معمولاً مشارکتهای متن باز از جانب توسعه دهندگان جوان دست کم گرفته میشود اما به نظرم میتواند مدرکی عالی برای نشان دادن تواناییهای فنی شما به دیگران باشد. با همکاری کردن در پروژههای متن باز، اشتیاق خودتان را به کد نویسی و برنامه نویسی نشان میدهید. معمولاً توسعه دهندگان جدید نمیدانند که در این زمینه باید از کجا شروع کنند. فکر میکنم بهترین راه میتواند شرکت کردن در مسابقاتی مانند Hacktoberfest، Google’s Summer of Code و سایر مسابقات متن باز باشد.
نمونهکارها
در دست داشتن یک مجموعه خوب از پروژهها برای حرفه شما بسیار اهمیت دارد. این کار به شما کمک میکند تا مهارتهای فنی خود را مطابق با پشتههای مختلف به نمایش بگذارید. اگر بتوانید چیزهایی را با استفاده از پشته MERN بسازید، میتوانید ثابت کنید که در ReactJS مهارت دارید. این موضوع به دیگران نشان میدهد که شما میتوانید با استفاده از آموختههای خود چیزهای خارقالعادهای را خلق کنید. یکی دیگر از مزایای داشتن نمونهکار این است که هر کسی قادر به دیدن کدهای شما خواهد بود. به همین دلیل آنها میتوانند از بهترین متدها و استایل کدنویسی شما مطلع شوند. میتوانید آن را به عنوان یک SaaS بفروشید یا آن را برای کمک به دیگران متن باز کنید.
جامعه
تعامل برقرار کردن با جوامع محلی، یکی دیگر از راههای دیده شدن به عنوان یک مهندس نرم افزار است. جوامع برنامه نویسی محلی از بخشهای مختلفی تشکیل شده است. میتوانید برای پیدا کردن افراد همفکر با خود به آنها ملحق شوید. جوامع محلی به طور مرتب مسابقات و رقابتهایی را برگزار میکنند که در آن جوایز مختلفی برای برندگان در نظر گرفته میشود. حتی به برخی از این برندگان پیشنهاد کار داده خواهد شد. من شخصاً کسی را میشناسم که از طریق برنده شدن در این مسابقات، در یک شرکت تکنولوژی استخدام شد. میتوانید در رویدادهای اجتماعی، فرصت سخنرانی کردن داشته باشید.
ارتباطات
تمام نکات گفته شده در بالا به شما کمک میکند تا به روابطی خوب دست پیدا کنید. رویدادها، حضور در جوامع و مشارکتهای متن باز به شما کمک میکند تا با دوستان توسعه دهنده و مهندس نرم افزار خود در ارتباط باشید. شبکهسازی باعث به وجود آمدن ارتباطات معنادار میشود. افرادی که دارای ارتباطات معنادار هستند، میتوانند از روشهای مختلفی به شما کمک کنند. اگر با شما و کارهایتان آشنایی داشته باشند، جلوی دیگران از شما تعریف خواهند کرد. گاهی اوقات آنها مسبب استخدام شدن شما در یک شرکت خواهند بود. معمولاً امروزه استخدام شدن در مقامهای مهم به ارتباطات شخصی بستگی دارد. هیچ کارفرمایی نمیخواهد یک شخص تازهوارد را در جایگاهی مهم استخدام کند. شبکهسازی به شما در پیدا کردن شغل کمک خواهد کرد و میتواند نقش یک کاتالیزور را در پیشرفتهای شغلی شما ایفا کند.
نتیجه
داشتن مهارتهای فنی خیلی خوب است اما باید کارهای خود را تبلیغ کرده و آنها را به نمایش بگذارید. اگر بهترین برنامه نویس باشید اما کارهای خود را در خفا انجام دهید، دستاوردها و کارهایتان هرگز دیده نخواهد شد. شبکهسازی فرصتهای بسیاری را به روی شما باز میکند. به شخصه بعد از ملاقات و تعامل برقرار کردن با افراد مختلف، توانستم به فرصتهای شغلی متعددی دست پیدا کنم. این کار را به شما نیز پیشنهاد میکنم.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید