چالش بزرگ فارغالتحصیلان رشته مهندسی نرمافزار
یکی از بزرگترین مشکلاتی که فارغالتحصیلان رشته مهندسی نرمافزار در ایران دارند این است که نمیدانند از چه نقطهای باید کار حرفهای خود را آغاز کنند و آیا با اطلاعاتی که از دوران دانشجویی بهدست آوردهاند این شانس را دارند تا شغلی هماهنگ با رشته تحصیلی خود پیدا کنند یا خیر. هنگامیکه قصد ارسال ایمیل کاری برای شرکتی را دارید، مدام این افکار وارد ذهنتان میشوند:
- آیا رزومه من به اندازه کافی متقاعدکننده و تاثیرگذار است که در این حوزه شغلی پیدا کنم.
- من در این حوزه فردی تازهکار هستم و اطلاعات کافی برای انجام درست اینکار را ندارم.
- با توجه به اینکه تجربه کاری من در گذشته در حوزه دیگری بوده است، چگونه اطمینان حاصل کنم که در این حوزه شکست نخواهم خورد.
اگر اینها افکاری هستند که هنگام تغییر شغل به سراغتان میآیند؛ باید بگوییم شما تنها نیستید. این ترسها کاملا منطقی هستند. خوشبختانه، شما میتوانید اقداماتی انجام دهید و گامهای درستی بردارید و به سؤالات قطعی و تعیینکنندهای پاسخ دهید که شما را در مسیر رسیدن به اولین شغلتان در حوزه مهندسی نرمافزار ثابتقدم میکنند. برای این منظور کافی است بر مبنای برنامه پنج مرحلهای زیر گام بردارید تا موفق شوید:
- ابتدا باید بفهمید به چه کاری در حوزه مهندسی نرمافزار علاقه دارید.
- اصول اولیه را بیاموزید.
- پروژهسازی کنید.
- برای موقعیتهای شغلی مهندسی نرمافزار درخواست دهید.
- اگر در گذشته مصاحبههایی را انجام دادهاید از نکات مثبت و منفی آن مصاحبهها برای موفقیت در مصاحبه بعدی استفاده کنید.
۱. تصمیم بگیرید قصد ورود به چه حوزهای از دنیای مهندسی نرمافزار را دارید
از این موضوع اطلاع دارید که توسعه نرمافزار حوزههای مختلفی دارد؟ توسعه فرانتاند (طراحی سمت کاربر)، توسعه بکاند (سمت سرور)، مهندس امنیت، مهندس دوآپس، مهندس استقرار نرمافزار، مهندس تضمین کیفیت، مدیر پروژه تیمهای نرمافزاری و غیره. موارد یادشده، محبوبترین عناوین شغلی این روزهای دنیای فناوری اطلاعات هستند که تقریبا همه آنها به مدرک مهندسی نرمافزار نیاز دارند. بنابراین پرسش اصلی این است که دوست دارید بهعنوان مهندس نرمافزار به چه حوزهای وارد شوید. بهطور معمول، مهندسان نرمافزار، دانشآموختگان رشته مهندسی نرمافزار یا مهندسی تکنولوژی نرمافزار هستند و بیشتر تمایل دارند بهعنوان برنامهنویس برنامههای سازمانی، توسعهدهنده بانکهای اطلاعاتی یا توسعهدهنده وب به دنیای فناوری اطلاعات وارد شوند. برای ورود به هر یک از این حوزهها، ابتدا باید آشنایی کاملی با زبانهای برنامهنویسی آن حوزهها داشته باشید.
۲. اصول اولیه توسعه نرمافزار را بیاموزید
همانگونه که اشاره کردیم، قبل از ارسال درخواستهای شغلی، لازم است اطلاعاتی در خصوص یک یا دو زبان برنامهنویسی کسب کنید. اما از کجا باید شروع کرد؟ منابع بسیار خوبی در این رابطه وجود دارند، اما تکنیکی که در اینجا به آن اشاره میکنیم، یکی از کاربردیترین روشهایی است که برنامهنویسان متبحر در ابتدای کار خود از آن استفاده کردهاند و موفق شدهاند.
حضور در کلاسهای آموزشی
- حضور در این کلاسها بهصورت حضوری یا آنلاین، ویدیوهای آموزشی یا بوتکمپهای برنامهنویسی، کمک میکنند تا از فردی که در این صنعت حرفهای است، تجربه کسب کنید و مطالبی را بیاموزید. همچنین، تعامل با افرادی که همانند شما میخواهند به این حوزه وارد شوند یا تغییر شغل بدهند، نکات ارزشمندی به شما میآموزد.
وقت بیشتری را به مطالعه اختصاص دهید
- پس از گذراندن این کلاسهای آموزشی کوتاهمدت، مطالعه و یادگیری متوقف نمیشود. پس از تسلط بر اصول برنامهنویسی، میتوانید خودآموزی را بهطور جدی دنبال کنید. به سراغ کتابها، مقالات و مطالب مرتبط با برنامهنویسی بروید؛ بهویژه کتابهایی که برای مبتدیان بسیار کاربردی هستند.
اگر میخواهید یادگیری خود را روی مبانی برنامهنویسی و علوم کامپیوتر متمرکز کنید، حوزههای کلیدی آموزش شما باید شامل موارد زیر باشند:
- اصول برنامهنویسی : متغیرها، دستورات شرطی، حلقهها، توابع و غیره.
- الگوهای طراحی : نحوه طراحی برنامهها به گونهای که قابل نگهداری باشند و بهراحتی بتوان منطق آنها را درک کرد.
- چارچوبهای محبوب: تسلط بر چارچوبهای محبوبی مثل React، Angular، Express، Rails و غیره برگ برنده بزرگی در اختیارتان قرار میدهد. با اینحال، مهم است که آموزش خود را بر مبنای اصول استاندارد برنامهنویسی دنبال کنید.
مطلب پیشنهادی:
- آشنایی با مشاغل نرمافزار
- پردرآمدترین شغلهای دنیای نرمافزار
- طراح نرمافزار کیست؟
- کارشناس تحلیل و تست نرمافزار کیست؟
۳. پروژهسازی کنید
همیشه پروژهای برای کار کردن داشته باشید. با تمرین کردن روی پروژههای واقعی، میتوانید از مهارتهایی که آموختهاید بهشکل عملی استفاده کنید. بهعنوان مثال، اگر در حال خواندن یک مطلب آموزشی در مورد نحوه ساخت یک رابط کاربری با React هستید، سعی کنید وبسایت نمونه خود را با استفاده از React بسازید. با اینکار شما همزمان دو کار خوب و عالی برای حرفه خود انجام میدهید:
- تمرین و تقویت مهارتهای قابل انتقال.
- ساخت یک نمونه کار در حوزه مهندسی نرمافزار با توجه به مطالعات موردی و اثبات مفهومی.
۴. درخواست کار
با توجه به اینکه هر ساله استارتاپهای زیادی به دنیای کسبوکار وارد میشوند و شرکتهای کوچک و بزرگ تصمیم میگیرند فعالیتهای تجاری خود را گستردهتر کنند، در تمامی این موارد شرکتها به مهندسان نرمافزاری نیاز دارند که در پیشبرد اهداف تجاری به آنها کمک کنند. وقتی صحبت از استارتاپها در مقابل شرکتهای تثبیتشده بهمیان میآید، تفاوتهای قابلتوجهی وجود دارند که باید به آنها دقت کنید. بهطور مثال، یک استارتاپ جدید ممکن است امتیازات بیشتری به کارمندان خود دهد، مانند زمان استراحت که البته ممکن است به ساعات کاری بیشتری در آخر هفته منجر شود. از سوی دیگر، یک شرکت قدیمیتر ممکن است مجموعه مشخصتری از نقشها و مسئولیتها را تعریف کرده باشد و ساختار بهتری را برای رشد کارکنان فراهم کند.
در نهایت به این نکته دقت کنید که شرکتها یکسان نیستند، اما الگویی که اخیراً دیده میشود این است که استارتاپها با ارائه انعطافپذیرهای بیشتر برای کارمندان، انگیزههای قویتری در افراد ایجاد میکنند. البته بهخاطر داشته باشید که استارتاپها بهطور طبیعی احتمال موفقیت کمتری در بلندمدت دارند.
۵. از هر مصاحبه بهعنوان یک تجربه یادگیری استفاده کنید
مصاحبههای شما ممکن است شامل چند مرحله باشد. علاوه بر این، هیچ دو شرکتی مصاحبههای یکسانی ندارند، اما بهطور معمول روند انجام مصاحبهها اینگونه است:
- مصاحبه اولیه با استخدامکننده یا مدیر استخدام که چندان فنی نیست.
- مصاحبه دوم که فنیتر است و با یک مهندس تیم انجام میشود و مجموعه مهارتهای شما را ارزیابی میکند.
- ملاقات با سایر اعضای تیم که معمولاً شامل یک چالش کدنویسی است.
- مصاحبه نهایی با مدیر شرکت که میتواند شامل پیشنهاد کار برای شما باشد!
- یادآوری چند نکته برای فرآیند مصاحبه حائز اهمیت است. اول از همه، اکثر شرکتهای مدرن فناوری که میخواهند شما را استخدام کنند، تنها بهدنبال مهارتهای فنی شما نیستند. آنها نمیخواهند فقط صدای شما را بشنوند که یک سری اصطلاحات فنی را به زبان میآورید و میخواهید نشان دهید که باتجربه هستید. آنها میخواهند در مورد شما، علایق، کنجکاوی، انگیزه برای یادگیری و انگیزه برای رشد و پیشرفت شما در آن شرکت اطلاعات کسب کنند. گرچه داشتن مهارت در سطح پایه جزو ضروریات است، اما شما میخواهید شرکتها بفهمند که فرد مناسبی برای آنها در بلندمدت هستید و میتوانید یک مهندس نرمافزار باکفایت در کنار آنها باشید.
- هر مصاحبهای که انجام میدهید نوعی آزمون تطبیق فرهنگی تلقی میشود. پس کنجکاو باشید و سوال کنید.
- بخش فنی مصاحبه اغلب ترسناکترین بخش آن است. در طول مصاحبه فنی یا چالش کدنویسی، گاهیاوقات مجبور میشوید کد را با دست روی یک تخته سفید در حالی که دیگران شما را تماشا میکنند، بنویسید. اینکار میتواند ترسناک و دلهرهآور باشد، مگر اینکه به هدف واقعی این مصاحبه فکر کنید. وقتی خودتان را برای چالش کدنویسی آماده میکنید، مهم است بهخاطر بسپارید که این چالش سخت طراحی شده است. یک چالش کدنویسی خوب، قرار نیست در کوتاهمدت بهسرانجام برسد. بلکه هدف این است که نظر فرد مصاحبهکننده را به مجموعه مهارتهای فعلی خود جلب کنید و توانایی خود را برای عبور از مشکلی که وظیفه حل آنرا بر عهده گرفتهاید، بهرخ بکشید.
- وقتی درگیر چالش کدنویسی میشوید، مصاحبهکننده دوست دارد فرآیند فکری شما برای حل مسئله را درک کند. چگونه ممکن است از یک راهکار سریع به یک راهحل و استدلال پشت آن برسید. در چالش کدنویسی، آنها میخواهند روند کار شما را در عبور از مشکل مشاهده کنند. بدیهی است که برای شروع چالش کدنویسی، باید اصول اولیه برنامهنویسی را بیاموزید و به نقطهای برسید که حداقل بتوانید به مصاحبهکننده نشان دهید که چگونه مشکل را فرموله میکنید و یک راهحل بالقوه ارائه میدهید. هر مصاحبه یک تجربه یادگیری است. این نکات را در ذهن داشته باشید. سعی کنید بهترین تلاش خود را انجام دهید تا در نهایت به هدف خود یعنی رسیدن به شغل مهندسی نرمافزار دست پیدا کنید؛ جایی که دنیای کاری شما از آن نقطه واقعاً آغاز میشود.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟