چگونه وارد بازار کار برنامه نویسی شویم
نحوه استخدام برنامه نویس به چه صورت است
استخدام برنامه نویس: به دلیل اینکه هر روزه شرکتهای بیشتری به نرمافزارهای موبایلی و یا تحت وب نیاز دارند، نیاز به استخدام برنامه نویس نیز هر روز در حال افزایش است. وظیفه یک برنامهنویس تولید نرمافزارهایی است که ما به صورت روزانه در گوشیهای موبایل و یا کامپیوتر خود از آنها استفاده میکنیم. امروزه میلیاردها گوشی موبایل در سطح دنیا وجود دارد و روی هر کدام از آنها نیز هزاران نرمافزار مختلف نصب شده است. وظیفهی شما به عنوان برنامه نویس این است که این نرمافزارها را برای مشتری ایجاد و از آنها نگهداری کند.
شغلهای مرتبط به برنامهنویسی معمولا با حقوقهای بالا و موقعیتهای شغلی وسوسهانگیز همراه هستند. با این وجود اینکه چگونه باید به یک برنامه نویس موبایل تبدیل شوید و یا چگونگی استخدام به عنوان برنامه نویس خیلی مبهم است. در این راهنمای جامع ما تمامی اطلاعاتی که باید برای استخدام به عنوان برنامه نویس و یا فعالیت به عنوان برنامه نویس فریلنسر داشته باشید را جمعآوری کردهایم.
استخدام برنامه نویس
در صورتی که به برنامه نویسی علاقه دارید ولی هنوز مطمئن نیستید که چرا باید این مسیر را به عنوان حرفه شغلی خودتان انتخاب کنید، بهتر است موارد زیر را با دقت مطالعه کنید.
- درخواست برای استخدام برنامه نویس هر روز در حال رشد است. در زمان نگارش این مقاله فقط در یکی از وبسایتهای استخدامی بیش از ۳ هزار آگهی استخدام فعال وجود دارد. البته این اعداد هر روز در حال پیشرفت هستند و هر روزه افراد بیشتری به برنامه نویس نیاز خواهند داشد.
- این کار میتواند خیلی متنوع و جذاب باشد. شما به عنوان یک برنامه نویس در پروژههای مختلفی از فروشگاه آنلاین گرفته تا بازی سازی و برنامههای موبایل مشارکت خواهید داشت. تقریبا تمامی مهارتهایی هم که یاد میگیرید در این مهارتها قابل انتقال هستند. این بدین معنی است که فقط وابسته به یک شغل نیستید.
- کار شما میتوانید کاملا منعطف باشد. از آنجایی که بخش بزرگی از کار شما خواندن و نوشتن کد است، تنها چیزی که به آن نیاز خواهید داشت فقط یک کامپیوتر است. این بدین معنی است که شما میتوانید از هرجایی و هر زمانی کار کنید. برنامهنویسهای زیادی وجود دارند که به صورت دورکاری در خانه و یا سفر کار میکنند.
چگونه به یک برنامه نویس تبدیل شوید؟
برای اینکه به یک برنامه نویس حرفهای تبدیل شوید به مهارتهای زیادی نیاز دارید و دو فاکتور خیلی مهم برای به دست آوردن مهارت وجود دارد: تمرین زیاد و داشتن یک برنامه نویس با تجربه به عنوان پشتیبان. برای اینکه به یک برنامه نویس ماهر تبدیل شوید شما به این دو فاکتور نیاز خواهید داشت. برای این منظور میتوانید از سه روش اقدام کنید:
بوت کمپهای برنامه نویسی
این بوت کمپها به شما کمک میکنند در طول مدت زمان کوتاهی از یک فرد بدون هیچگونه سابقهی برنامه نویسی به یک برنامه نویس حرفهای تبدیل شوید. شما در طول این دوره تمرینات موثر بسیار زیادی خواهید داشت و میتوانید از دیگر برنامهنویسهایی که مسئول برگزاری بوت کمپ هستند هم کمک بگیرید.
مشکلی که در صورت انتخاب این مورد ممکن است با آن مواجه شوید این است که این دوره ممکن است تا سه ماه طول بکشد و هزینه زیادی هم به شما تحمیل خواهد شد.
استفاده از یک راهنما
این مورد یک انتخاب استثنائی است. شما کدنویسی را آغاز خواهید کرد و از کمکهای یک برنامه نویس ارشد هم به عنوان راهنما و مربی استفاده خواهید کرد. این فرد ممکن است یک نفر از دوستان و یا حتی یکی از اعضای خانوادهی شما باشد. حتی ممکن است این فرد یک برنامه نویس حاذق باشد که فقط دوست دارد به شما کمک کند.
در این متد به اندازهی بوت کمپ به شما راهنمایی نخواهد شد ولی داشتن فردی که در زمان رسیدن به بنبست بتواند به شما کمک کند خیلی مفید است. همچنین اینکه یک نفر کارهای شما را تحت نظر داشته باشد و کمک کنید در مسیر درست بمانید در رشد شما موثر خواهد بود.
این گزینه با وجود اینکه خیلی فوقالعاده به نظر میرسد اما پیدا کردن راهنما خیلی سخت است. اکثر افراد هیچ برنامه نویسی را در اطرافیان خود ندارند و خیلی از برنامه نویسها هم مشتاق نیستند که به شما کمک کنند. به همین خاطر ممکن است حتی در صورتی که فردی را پیدا کنید، او به درخواستتان پاسخ منفی بدهد و شما هم باید به خواستهی آنها احترام بگذارید.
استخدام به عنوان برنامه نویس مبتدی
این گزینه ممکن است کمی تقلب به نظر برسد زیرا قبل از اینکه بتوانید به عنوان برنامه نویس کار کنید باید برنامه نویسی را بلد باشید. اما در ادامه به شما آموزش خواهیم داد که چطور میتوانید بدون داشتن راهنما و یا استفاده از بوت کمپ به عنوان برنامه نویس کار کنید. زمانی که به عنوان برنامه نویس استخدام شوید برای تمرین برنامه نویسی پول میگیرید.چه چیزی بهتر از این؟!
همچنین کار کردن به عنوان برنامه نویس باعث خواهد شد جنبهای از برنامه نویسی را ببینید که در زمان درس خواندن نخواهید دید: جنبهی کسب و کار. این بخش تاثیر بسیار زیادی در رشد شخصی شما خواهد داشت زیرا ایجاد محصولی که هیچکس به آن نیاز ندارد هیچ مزیتی نخواهد داشت. همچنین سر و کله زدن با مشتری مهارتی است که برای یادگیری آن به زمان زیادی نیاز خواهید داشت.
نوشتن یک پلن
از آنجایی که همه توانایی رفتن به بوت کمپ را ندارند و یا فردی را نمیشناسند که به عنوان راهنما در کنار آنها باشد، در ادامه به شما کمک خواهیم کرد اولین شغل خودتان را به عنوان برنامهنویس پیدا کنید.
پیدا کردن شغل مناسب
برای ایجاد یک پلن مناسب باید یک هدف برای خودتان داشته باشید. در اینجا هدف ما پیدا کردن یک شغل مناسب در کمترین زمان ممکن است. هرچقدر زودتر شما کار موردنظر خود را پیدا کنید، زودتر قادر خواهید بود برنامه نویسی را به صورت روزمره تمرین کنید. همچنین امکان استفاده از کمک برنامه نویسهای ارشد و کسب درآمد را هم زودتر خواهید داشت.
روشهای بسیار زیادی برای شروع کار به عنوان برنامه نویس وجود دارد، از علوم داده گرفته تا هوش مصنوعی و توسعه بازی. ولی سادهترین بخشی که میتوانید به عنوان یک مبتدی شروع به کار کنید، توسعه وب است. به یاد داشته باشید که شروع کار با طراحی وب به این معنی نیست که تا آخر عمر باید فقط مشغول طراحی وب باشید بلکه اطلاعات بسیار زیادی به دست خواهید آورد و میتوانید به راحتی فیلد کاری خود را عوض کنید.
در صورتی که عبارت استخدام برنامه نویس مبتدی را سرچ کنید احتمالا اولین چیزی که مشاهده خواهید کرد آگهی استخدام طراح فرانت اند است. با بررسی چند مورد از این آگهیها شرایط کلی که باید داشته باشید مشخص خواهد شد. این شرایط تقریبا شبیه به موارد زیر هستند:
- دانش فرانت اند: آشنایی با HTML، CSS و جاوا اسکریپت
- توانایی طراحی سایتهای واکنشگرا
- نمونه کار برای نشان دادن مهارت و تجربهی شما
- آشنایی با سیستمهای کنترل ورژن
دیگر مهارتهایی که ممکن است امتیاز محسوب شوند هم به شرح زیر هستند:
- آشنایی با کتابخانههای جاوا اسکریپت مثل: jQuery، AJAX و Bootstrap
- آشنایی با رفع عیب و Debug
طراحی پلن
اکنون که میدانیم برای استخدام برنامه نویس به چه مهارتهایی نیاز داریم، میتوانیم یک پلن برای نحوهی دستیابی به این مهارتها طراحی کنیم. شما باید این پلن را به صورت گام به گام انجام دهید زیرا در صورت آشنایی با موارد اولیه، یادگیری مواردی که در انتهای برنامه قرار گرفتهاند راحتتر خواهد بود.
HTML و CSS
این دو پایهی اکثر وبسایتهای امروزی هستند. در صورتی که میخواهید به عنوان برنامهنویس کار کنید باید به خوبی با این دو آشنا باشید و بتوانید از آنها استفاده کنید. خوشبختانه هزاران منبع رایگان و پولی در سطح اینترنت وجود دارد که به شما کمک میکنند این مهارتها را یاد بگیرید و در آنها استاد شوید.
در وبسایت مکتبخونه چندین دورهی مختلف وجود دارد که با استفاده از آنها میتوانید طراحی صفحات وب را یاد بگیرید. بهتر است با آموزش طراحی سایت ریسپانسیو و یا اصول HTML و HTML 5 و اصول CSS شروع کنید. این دورهها شما را با مبانی HTML و CSS آشنا خواهند کرد و در انتهای دوره میتوانید فرمهای مختلفی ایجاد کنید و با CSS به آنها زیبایی ببخشید.
پس از اتمام این دورهها بهتر است برای خودتان چند پروژه طراحی سایت تعریف کنید و آنها را به اتمام برسانید. این پروژهها به شما کمک میکنند از تمامی چیزهایی که تا به اینجا یاد گرفتهاید استفاده کنید و وبسایتهای مختلفی را خلق کنید.
کنترل ورژن
سیستم کنترل ورژن به سیستمی گفته میشود که شما میتوانید فایلهای خودتان را روی آن ذخیره کرده و بعدا بررسی کنید که در یک زمان خاص چه تغییراتی روی پروژهی خودتان اعمال کردهاید. از این سیستمها تقریبا در تمامی شرکتهای نرمافزاری استفاده میشود و آشنایی با مبانی آن کاملا ضروری است.
برای یادگیری کار با گیت بهتر است یک حساب Github ایجاد کنید و با قسمتهای مختلف آن کار کنید. در وبسایت مکتبخونه آموزشهای بسیار مفیدی برای کار با گیت هاب وجود دارد. شما میتوانید قبل از شروع پروژهی طراحی سایت خودتان با این وبسایت آشنا شوید و از آن برای کنترل این پروژهها استفاده نمائید.
اکنون که میدانید چطور با ورژن کنترل کار کنید، سعی کنید تمامی پروژههای خود را در یک ادیتور محلی مثل VS Code انجام دهید و پس از اتمام کار آنها را روی CodePen آپلود کنید. در صورتی که استخدام شوید باید کارهای خودتان را در یک ادیتور محلی انجام دهید و به همین خاطر ضروری است برای کسب تجربه الان هم این کار را انجام دهید.
روشهای متفاوتی برای استفاده از گیت هاب و یا دیگر سیستمهای کنترل پروژه وجود دارد ولی شما باید نحوهی ایجاد مخزن در گیت هاب، اتصال آن به یک فولدر داخل کامپیوتر، commit کردن کارهایی که انجام دادهاید و push کردن آن روی گیت هاب را یاد بگیرید. پس از اینکه نحوهی انجام این کار را یاد گرفتید میتوانید به عنوان بخشی از تیم برنامه نویسی کار کنید.
جاوا اسکریپت
جاوا اسکریپت زبانی است که در ۹۴٫۸ درصد از سایتهای سطح اینترنت استفاده شده است. با استفاده از این زبان برنامهنویسی میتوانید یک وبسایت ایستا را به یک سایت کاملا تعاملی و پویا تبدیل کنید. برای یادگیری جاوا اسکریپت هم میتوانید از دورههای مکتب خونه استفاده کنید. انجام دادن این مرحله خیلی ضروری است زیرا جاوا اسکریپت بخش عظیمی از وبسایتهای امروزی را تشکیل میدهد.
ایجاد آلبوم نمونه کار
برای نمایش دادن کارهایی که میتوانید انجام دهید، باید یک آلبوم نمونه کار داشته باشید تا آن را به کارفرماهای احتمالی نشان دهید. خوشبختانه به احتمال زیاد تا به اینجای کار ۱۰ پروژه مختلف را انجام دادهاید (۵ پروژه HTML و CSS و ۵ پروژه Javascript). حتما این پروژهها را روی گیت هاب ذخیره کنید تا کارفرماهای احتمالی آینده بتوانند نحوهی انجام کار شما را به خوبی مشاهده کنند.
پیدا کردن کار برنامه نویسی
در صورتی که تمامی مراحل این پلن را تا به اینجا به خوبی انجام داده باشید، احتمالا دارای تمامی نیازمندیهای کارهای مربوط به طراح وب سایت مبتدی خواهید بود. اکنون زمان آن رسیده است که به دنبال کار بگردید.
برای استخدام به عنوان برنامه نویس، به رزومه نیاز خواهید داشت. بنابراین در این مرحله باید یک روزمه برای پوزیشن طراح سایت ایجاد کنید. این رزومه باید نقاط قوت شما را بدون جلب توجه اضافی به مدت زمانی که مشغول برنامهنویسی بودهاید برجسته کند. همچنین نباید اشارهای به این داشته باشید که هیچگونه تجربهی تجاری در این زمینه ندارید.
اینکه برای چه موقعیتهای شغلی هم رزومه بفرستید خیلی مهم است. این نکته ممکن است اشتباه به نظر برسد ولی شما باید فقط برای موقعیتهایی اقدام کنید که حداقل ۸۰ درصد از نیازمندیهای آن را دارید. همچنین میتوانید اشاره کنید که به عنوان فردی که برنامهنویسی را به صورت خودآموز یاد گرفته است، احتمالا نیازمندیهای دیگر را هم سریعتر از دیگران یاد میگیرید.
البته این بدین معنی نیست که باید برای تمامی کارهایی که توانمندیهای آن را دارید اقدام کنید. فقط برای شرکتهایی رزومه بفرستید که فکر میکنید جذاب هستند و در صورتی که به شما پیشنهاد همکاری داده شود، قبول خواهید کرد.
استفاده از کاریابیها
کاریابیها یک ابزار خیلی مفید برای پیدا کردن اولین شغل شما محسوب میشوند. آنها دقیقا میدانند که شرکتها به دنبال چه فردی هستند، اغلب اوقات کارهایی را سراغ دارند که در سطح اینترنت پیدا نمیکنید و تلاش میکنند حتما استخدام شوید، زیرا روش کسب درآمد آنها بدین شکل است.
برای اینکه مطمئن شوید رزومه شما به دست تمامی کاریابیها میرسد باید در سایتهای مختلفی رزومه خودتان را ارسال کنید. با سایتهای معروف شروع کنید ولی از سایتهای کوچکتر هم غافل نشوید. خیلی از برنامهنویسها از تجربهی بد خودشان در مورد وبسایتهای کاریابی سخن میگویند اما شما حتما باید از آنها استفاده کنید.
رشد مستمر
احتمالا در هفتههای اولی که برای پیدا کردن کار اقدام میکنید موقعیت خیلی خوبی پیدا نخواهید کرد. در طول ماه اول ممکن است حتی به هیچگونه قرار مصاحبهای هم دعوت نشوید اما این موضوع به شما زمان میدهد تا مهارتهای خودتان را تقویت کرده و رشد کنید.
اکنون که تمامی مهارتهای پایه را یاد گرفتهایم، زمان آن رسیده است که به سراغ مهارتهای مورد نیاز اما غیر ضروری برویم. داشتن مهارتهای دیگر مثل این است که ابزارهای متفاوتی را داخل جعبه ابزار خودتان داشته باشید. این موضوع باعث خواهد شد کارفرماهای بیشتری به کار با شما علاقهمند شوند و شانستان برای دعوت شدن به جلسه مصاحبه افزایش یابد.
برخی از مهارتهایی که بهتر است یاد بگیرید به شرح زیر هستند:
یادگیری یک کتابخانه
کتابخانههای جاوا اسکریپت مختلفی وجود دارند که میتوانند زندگی را برای شما آسانتر کنند. یکی از محبوبترین کتابخانههای موجود jQuery است. این کتابخانه به شما کمک میکند با عناصر و توابع آرایهای و… بتوانید به راحتی کار کنید.
توصیه میکنیم قبل از هر چیز کار با jQuery را یاد بگیرید زیرا این کتابخانه روش بسیار خوبی برای شروع کار با کتابخانههای مختلف است. دورههای زیادی هم برای یادگیری این کتابخانه وجود دارد که به راحتی میتوانید با یک سرچ ساده آنها را پیدا کنید.
تکمیل مهارتهای HTML و CSS
پس از یادگیری کتابخانههای jQuery دوباره به سراغ HTML و CSS بروید و دورههای پیشرفتهی این دو را هم تکمیل کنید.
بهبود اطلاعات مربوط به CSS
در صورتی که جنبهی طراحی و برنامه نویسی فرانت اند را دوست دارید، دورههایی تحت عنوان Daily CSS Course وجود دارد که به شما آموزش میدهند تصاویر جالبی را فقط با کمک CSS و HTML خلق کنید. این تصاویر میتوانند سوژهی خوبی برای گفتگو در طول جلسهی مصاحبه باشند.
یادگیری نحوهی کار JavaScript
توانایی استفاده از جاوا اسکریپت فوق العاده است اما درک اینکه این زبان چگونه کار میکند به شما کمک خواهد کرد به یک طراح بهتر تبدیل شوید. این کار به شما کمک خواهد کرد بهترین کدهای ممکن را بنویسید. دلیل آن هم این است که یاد میگیرید کد شما چرا و چگونه مشکل را برطرف خواهد کرد.
در صورتی که با زبان انگلیسی آشنایی دارید و میخواهید درک عمیقتری از زبان جاوا اسکریپت داشته باشید مجموعه کتاب You Don’t Know JS را به شما پیشنهاد میکنیم. دو کتاب اول این مجموعه برای درک اصول و مبانی جاوا اسکریپت فوقالعاده هستند. درک این موضوع به شما کمک خواهد کرد به یک طراح سایت بهتر تبدیل شوید.
خلق پروژه
یکی از روشهای دیگر برای بهبود مهارتهای خودتان ایجاد پروژههای مختلف و کار روی آنها است. این پروژهها میتوانند هر چیزی باشند اما بهتر است هدف شما کار روی تکنیکهایی باشد که در آنها مشکل دارید و یا از ابزارهایی استفاده کنید که تجربه کمتری در آنها دارید. برای مثال در صورتی که توانایی کار با آرایهها را ندارید، سعی کنید یک نرمافزار لیست خرید ایجاد کنید یا در صورتی که کار با استایلدهی را بلد نیستید میتوانید یک کپی دقیق از یک وبسایت واقعی ایجاد کنید.
این پروژهها در نهایت باید به بهبود مهارتهای شما کمک کنند. بنابراین در صورتی که یک پروژه برای شما خیلی راحت یا خیلی سخت است، دست نگه دارید و پروژه دیگری را آغاز کنید که در سطح مناسبتری است.
برای برخی پروژههایی که تعریف میکنید ممکن است نیاز باشد که یک مهارت کاملا جدید را یاد بگیرید. یادگیری در حین انجام پروژه یکی از بهترین روشهای یادگیری برای برخی افراد است.
مصاحبه
پس از اینکه برای تعدادی موقعیت شغلی مختلف اقدام کردید و به بهبود مهارتهای خودتان پرداختید، به احتمال خیلی زیاد به جلسهی مصاحبه دعوت خواهید شد. اینجاست که باید واقعا بدرخشید. مقالههای بسیار زیادی در مورد پروسهی مصاحبه و نحوهی انجام آن در سطح اینترنت وجود دارد. به همین خاطر ما خیلی در مورد این موضوع صحبت نخواهیم کرد اما نکات کلیدی که در این مقالات به شما گفته خواهد شد به شرح زیر هستند:
- رزومه خودتان را به خوبی بشناسید
- شرکت مورد نظر را بشناسید
- از مهارتهای خودتان استفاده کنید
- به موقع در جلسه مصاحبه حاضر شوید
- مودب و با اعتماد به نفس باشید
- از مصاحبه کننده در مورد کار موردنظر سوال بپرسید
- پس از مصاحبه، حتما نتیجه آن را پیگیری کنید
در صورتی که این نکات را دنبال کنید، احتمال استخدام شما به عنوان برنامه نویس افزایش خواهد یافت. اگر هم استخدام نشدید، حتما پیگیر باشید و نظر مصاحبه کننده را بپرسید تا از آن در مصاحبه بعدی خودتان استفاده کنید.
سخن نهایی
در صورتی که به دنبال استخدام به عنوان برنامه نویس هستید باید تلاش کنید در سریعترین زمان ممکن به عنوان طراح سایت مبتدی استخدام شوید تا بتوانید تجربهی کافی را کسب کنید و امکان استفاده از تجربیات برنامهنویسهای دیگر را هم داشته باشید. برای پیدا کردن چنین شغلی باید:
- HTML ،CSS و جاوا اسکریپت را یاد بگیرید
- یک آلبوم نمونه کار از پروژههای کوچک داشته باشید.
پس از اینکه این کارها را انجام دادید زمان آن خواهد رسید که برای موقعیتهای شغلی مختلف اقدام کنید. در این زمان برای مصاحبه آماده شوید و سعی کنید مهارتهای خودتان را گسترش دهید تا پیشنهاد استخدام برنامه نویس را دریافت کنید.