توسعه دهنده
سخت است که بگوییم این مرحله چقدر طول می کشد. کافی است بگوییم، در برنامه ریزی و تحقیق خود از میانبر استفاده نکنید. تصمیمات شما پایه و اساس همه چیزهای بعدی را تشکیل می دهد، به ویژه آنچه که در آینده خواهد آمد: تکمیل تحصیلات.
مرحله 2: تحصیل کنید
سفارش طراحی سایت با سایت دانان قهار
اکنون می خواهیم گزینه های آموزشی مختلف شما را با مزایا و معایب آنها مقایسه کنیم. همانطور که قبلاً گفتیم، میتوانید بین یک برنامه تحصیلی یا سایر گزینهها یکی را انتخاب کنید، اما برای شروع یک حرفه توسعهدهنده کامل بدون تحصیلات سخت خواهید بود.
تخمین زمان: این مرحله ممکن است بین 12 هفته تا 6 سال طول بکشد، به استثنای زمانی که برای درخواست و انتظار برای شروع یک برنامه صرف می کنید.
مرحله 3: تجربه دنیای واقعی را بدست آورید
کارفرمایان اغلب تمایلی به استخدام توسعه دهندگانی ندارند که خود را در نقش های قبلی ثابت نکرده اند. اما اگر به تازگی شروع به کار کرده اید، سابقه کاری شما ممکن است حاوی تجربیات مرتبط زیادی نباشد. کجا می توانید فرصت های عملی مورد نیاز خود را پیدا کنید؟
پروژه انجام پروژه با بهترین متخصصان
خوشبختانه، شما چند گزینه دارید. شما میتوانید در راستای هدف خود یعنی استخدام شدن برای اولین نقش توسعهدهنده کار کنید:
گذراندن یک برنامه کارآموزی
پیوستن به هکاتون ها
نوشتن کد با کیفیت برای پروژه هایی که خودتان یا به عنوان مشارکت کننده در پروژه های منبع باز تلاش می کنید
اگر در یک برنامه تحصیلی یا یک بوت کمپ هستید، اغلب به منابعی برای کشف این نوع فرصت ها دسترسی خواهید داشت. اگر به صورت انفرادی مطالعه می کنید، باید خودتان تحقیق کنید.
این منابع را بررسی کنید:
طراحی لوگو با بهترین طراحان لوگو
توسعه یک برند حرفه ای
ارتقا رزومه شما
حفظ پروژه های کدنویسی در مسیر
کمک به پروژه های منبع باز
شما قطعا باید تلاش های خود را در این تلاش های دنیای واقعی در یک نمونه کار حفظ کنید، که بعداً می توانید آن را به کارفرمایان بالقوه نشان دهید.
تخمین زمان: این مرحله ممکن است چندین ماه طول بکشد، اما شما می توانید تا آنجا که ممکن است در حین تحصیل خود، این کارها را انجام دهید.
مرحله 4: دریافت گواهینامه (اختیاری)
شما می توانید اعتبار خود را با دریافت گواهی توسعه نرم افزار تقویت کنید. ممکن است نتوانید این کار را در طول تحصیل یا بلافاصله پس از آن انجام دهید، زیرا برخی از ارائه دهندگان به تجربه قبلی توسعه نرم افزار از داوطلبان نیاز دارند. اما گواهینامه ها به عنوان راهی برای پیشرفت شغلی شما ارزش دارند که در آینده به آن توجه کنید.
توسعه دهندگان تمام پشته می توانند گواهینامه های عمومی توسعه نرم افزار زیر را بررسی کنند:
دارای گواهینامه حرفه ای چرخه حیات نرم افزار امن
برنامه نویس حرفه ای نرم افزار
CIW توسعه وب حرفه ای
GIAC Certified Web Application Defender (GWEB)
علاوه بر این، سایر گواهینامه ها بیشتر به قسمت پشتی مجموعه مهارت ها می پردازند:
برنامه نویس حرفه ای دارای مدرک C/C++
گواهینامه های Oracle (به عنوان مثال، SQL، MySQL، توسعه پایگاه داده)
گواهینامه حرفه ای در برنامه نویسی پایتون 1 گواهینامه
تخمین زمان: از آنجایی که بسیاری از گواهینامه ها برای توسعه دهندگان با تجربه طراحی شده اند، ممکن است چندین سال طول بکشد تا این مرحله به پایان برسد. زمان آماده سازی آزمون نیز باید در برنامه ریزی شما لحاظ شود.
مرحله 5: برای جستجوی شغل خود آماده شوید
اینترنت جستجوی شغل را آسان می کند. اما قبل از ارسال اولین درخواست خود، مقدمات زیر را در نظر بگیرید تا خود را برای موفقیت آماده کنید.
پورتفولیوی خود را صیقل دهید: با یک حساب رایگان GitHub، می توانید کدهای پروژه های فردی و منبع باز خود را در مخازنی که استخدام کنندگان و کارفرمایان بالقوه می توانند مشاهده کنند، نگهداری کنید. (به عنوان یک مزیت اضافی، تجربه عملی با کنترل نسخه را خواهید داشت که یک مهارت مهم برای هر توسعه دهنده ای است.)
مصاحبه های ساختگی انجام دهید: برای مطالعه مشکلات رایج کدنویسی، سؤالات فنی و سؤالات رفتاری و تمرین نحوه پاسخگویی به آنها زمان بگذارید.
شبکه: اتصال به توسعه دهندگان و شرکت های معتبری که ممکن است برای آنها درخواست بدهید می تواند به شما کمک کند تا در مورد فرآیند مصاحبه، ویژگی های شرکت و نکات دیگر اطلاعات کسب کنید. منابعی مانند گروه های فارغ التحصیل، لینکدین و سایر شبکه های اجتماعی ارتباط را آسان تر می کنند.
تخمین زمان: از سرمایه گذاری چند هفته تا چند ماه در این فعالیت ها پشیمان نخواهید شد.
مرحله 6: کارهای توسعه دهنده تمام پشته را جستجو کنید
وقتی احساس آمادگی کردید، یک نفس عمیق بکشید و جستجوی شغل خود را شروع کنید. میتوانید با استفاده از وبسایتهایی مانند ZipRecruiter، Dice، Glassdoor، Indeed و غیره برای موقعیتهای باز تحقیق و درخواست کنید. نرمافزار کاربردی شغل یا یک صفحه گسترده میتواند به شما در ردیابی همه برنامههای کاربردی و وضعیتهای مختلف آنها کمک کند.
تخمین زمان: اگر چندین ماه را صرف درخواست شغل و مصاحبه می کنید، تعجب نکنید، به خصوص در شرایط جوی کنونی، که در آن انجماد استخدام غیر معمول نیست. برای مصاحبه هایی که می تواند چندین دور در چهار هفته یا بیشتر باشد، آماده باشید. همچنین سعی کنید رد را شخصاً نگیرید، که می دانیم گفتن آن آسان تر از انجام دادن آن است. بسیاری از توسعه دهندگان موفق قبل از اینکه موقعیتی را کسب کنند، جستجوهای طولانی کار را انجام داده اند. علاوه بر این، مصاحبه یک مهارت است و هر چه مدت طولانیتر آن را تمرین کنید، احتمال پیشرفت شما و مصاحبه بعدی شما بیشتر میشود.
چقدر طول می کشد تا به یک دیو فول استک تبدیل شوید
عاشق
ممکن است برای تبدیل شدن به یک توسعه دهنده فول استک، از سه ماه تا شش سال زمان نیاز داشته باشید. جدول زمانی شما تحت تأثیر موارد زیر خواهد بود:
انجام پروژه متلب با بهترین برنامه نویسان
آنچه قبلاً می دانید (به ویژه مهارت های فنی)
چه مشاغلی داشته اید (و ارتباط آنها با این رشته)
چه تحصیلاتی کسب کرده اید (و ارتباط آن با توسعه وب)
آرزوهای شغلی شما
وضعیت بازار کار
با داشتن برخی مهارتهای فنی، تجربه، و مدرک در علوم کامپیوتر یا رشتههای مرتبط، ممکن است بتوانید پس از چند ماه جستجو در یک بازار قوی، به یک توسعهدهنده کامل تبدیل شوید. بدون آن مهارتها، آن تجربه و آن مدرک، میتوانید با راه بسیار طولانیتری روبرو شوید، بهویژه در بازاری که کمتر سالم است.
ما گفتهایم که نحوه کسب آموزش فنی شما بر جدول زمانی شما برای به دست آوردن یک شغل توسعهدهنده کامل تأثیر میگذارد. مانند موقعیتهای توسعهدهنده بکاند، کارفرمایان بالقوه ممکن است نامزدهای دارای مدرک CS را برای نقشهای فول استک ترجیح دهند، بنابراین این را در نظر داشته باشید. اما این یک قانون سخت و سریع نیست، و کدنویسی فارغ التحصیلان بوت کمپ یا زبان آموزانی که خود گام برمی دارند نیز می توانند مشاغلی را در توسعه تمام پشته راه اندازی کنند.
آماده شدن برای جستجوی شغل پس از پایان تحصیلات، به زمان بیشتری نیاز دارد، و همچنین مطمئن شوید که شرایط لازم برای پیوستن به صفوف توسعه دهندگان حرفه ای کامل را برآورده کرده اید.
شرایط لازم برای تبدیل شدن به یک توسعه دهنده فول استک
آموزش، تجربه در دنیای واقعی، و مهارت های فنی، همگی لازمه تبدیل شدن به یک توسعه دهنده فول استک هستند. ماهیت دقیق این نیازها به پیشینه و اهداف شخصی شما بستگی دارد.
تحصیلات
در این مرحله، شما باید ایده خوبی از گزینه های تحصیلی خود داشته باشید. با توجه به ترجیحات بسیاری از کارفرمایان، مدرک CS ممکن است برای دنبال کردن این رشته کاری منطقی باشد. اما همانطور که اشاره کردیم، تا زمانی که مفاهیم و مهارتهای ضروری برای این کار را به دست آورده باشید، میتوانید یادگیری را به روشهای دیگری دنبال کنید.
تجربه قابل اجرا
مجری ذیصلاح لیست مجریان نظام مهندسی اراک مجری ساختمان
مانند بسیاری از نقش های مرتبط، توسعه دهندگان مشتاق فول استک ممکن است بدون تجربه عملی قبلی در این زمینه استخدام شوند. اما کسانی که به تازگی شروع به کار کرده اند می توانند از طریق فعالیت های دیگری مانند:
کارآموزی در شرکتهای فناوری: حل مشکلات و کمک به برنامههای کاربردی در دنیای واقعی در حالی که با متخصصان با تجربه شبکه میشوید.
گواهینامه های حرفه ای: مهارت و تعهد خود را با قبولی در امتحانات در موضوعات مختلف توسعه نرم افزار نشان دهید.
مهارتهای فنی
حتی بیشتر از متخصصان فرانتاند یا بکاند، توسعهدهندگان مشتاق فول استک باید مجموعهای از مهارتهای فنی قوی داشته باشند. به این دلیل که این مهارت ها باید هر دو طرف توسعه وب را در بر گیرند. همانطور که مطالعه می کنید، چیزهای زیادی را که باید بدانید به دست خواهید آورد. اما برای تجهیز شما فقط به مربیان خود متکی نباشید. درعوض، ممکن است از ضعف یک توسعه دهنده خودآموخته استقبال کنید و خودتان به یادگیری ادامه دهید. تا آنجا که باید بدانید، ما مهارتهای مربوطه را به دستههای front-end، back-end و پیشرفته تقسیم کردهایم.
مهارتهای ضروری مقدماتی
استدلال منطقی
نحوه کار اینترنت (به عنوان مثال، مشتریان، سرورها، شبکه ها، صفحات وب)
اصول اولیه HTML، CSS و توسعه وب
زبان ها و فریم ورک های برنامه نویسی فرانت اند (مانند جاوا اسکریپت، ری اکت، انگولار، جی کوئری)
سیستم های کنترل نسخه (Git + سرویس های مخزن مانند GitHub)
استانداردهای امنیت وب
API ها و سرویس های RESTful
تست و اشکال زدایی (به عنوان مثال، تست واحد، تست عملکرد، تست قابلیت استفاده، تست عملکرد، تست رگرسیون)
طراحی گرافیک
مهارتهای ضروری در پشتیبان
زبان های انجام پروژه برنامه نویسی پشتیبان (مانند جاوا اسکریپت، پایتون، پی اچ پی، جاوا، سی پلاس پلاس)
فریمورکهای وب بکاند (مانند Node.js برای جاوا اسکریپت، جنگو و فلاسک برای پایتون، لاراول برای PHP)
پایگاه داده های رابطه ای (به عنوان مثال، PostgreSQL، MySQL)
پایگاه های داده NoSQL (به عنوان مثال، MongoDB، Cassandra، Firebase)
رابط های برنامه نویسی برنامه (API) (به عنوان مثال، REST، API های JSON، SOAP، gRPC)
ساختار داده ها و الگوریتم ها
قرار دادن "پشته" در "پول پشته": همچنین باید با پشته های فناوری مختلف برای توسعه وب و مزایا و معایب آنها آشنا باشید. در حالی که در نهایت می توانید همه آنها را یاد بگیرید، بهتر است فقط با یک پشته شروع کنید و بر اجزای آن مسلط شوید.
مهارت های پیشرفته
سایر فریم ورک های JS (مانند NextJS، Gatsby، NuxtJS)
دانش پایگاه داده پیشرفته (به عنوان مثال، ORM ها، ACID، تراکنش ها، مشکل N+1، عادی سازی پایگاه داده، نمایه ها، تکرار داده ها، استراتژی های اشتراک گذاری، قضیه CAP)
یکپارچه سازی مداوم و شیوه های استقرار مداوم (CI/CD).
الگوهای معماری (به عنوان مثال، برنامه های یکپارچه، میکروسرویس ها، SOA، CQRS و منبع رویداد، بدون سرور)
مفاهیم طراحی سیستم
کارگزاران پیام (مانند کافکا، RabbitMQ)
Containerization در مقابل مجازی سازی (به عنوان مثال، Docker، Kubernetes)
GraphQL (به عنوان مثال، آپولو، رله مدرن)
پایگاه داده های گراف (به عنوان مثال، Neo4j)
سوکت های وب
سرورهای وب (Apache، NGINX، Caddy، MS IIS)
مهارت ها و کیفیت های نرم
در نهایت، اگر می خواهید در محل کار برتر باشید، نباید از مهارت ها و رفتارهای نرم غافل شوید.
l کیفیت ها شما می توانید این شش ویژگی را برای تبدیل شدن به یک توسعه دهنده برجسته پرورش دهید.
میل به ساختن و خلق کردن
یک طرز فکر تیمی
مهارت حل مسئله خلاق
یکدلی
عزم
عشق به یادگیری
مصاحبه های شغلی به شما فرصت هایی می دهد تا این ویژگی ها را نشان دهید، اما پس از دریافت پیشنهاد، آنها را فراموش نکنید. با ادامه کار بر روی این مهارت ها، به ایجاد شهرت قوی در محل کار کمک خواهید کرد.
درآمد یک توسعه دهنده فول استک چقدر است؟
شما می توانید به عنوان یک توسعه دهنده تمام پشته، مانند بسیاری از مشاغل پردرآمد در فناوری، درآمد خوبی کسب کنید. اداره آمار کار گزارش می دهد که متوسط دستمزد توسعه دهندگان وب در ایالات متحده در سال 2020 77200 دلار در سال (37.12 دلار در ساعت) بوده است. اینها ارقام متوسط و البته چند ساله هستند، بنابراین حقوق یا دستمزد واقعی شما ممکن است متفاوت باشد. همچنین، به خاطر داشته باشید که حقوق شما می تواند با کسب تجربه، کسب گواهینامه ها و ارتقای شغلی افزایش یابد.
علاوه بر این، آن ارقام BLS ممکن است منعکس کننده کل غرامت برای توسعه دهندگان وب نباشد. به گفته Glassdoor، یک وبسایت آمریکایی که اطلاعاتی در مورد مشاغل و حقوق جمعآوری میکند، کل دستمزد یک توسعهدهنده وب در ایالات متحده 110,356 دلار در سال است که بر اساس میانگین حقوق 72,495 دلار است. غرامت باقیمانده می تواند از پاداش نقدی، کمیسیون و تقسیم سود باشد.
جبران خسارت مطمئناً مهم است، اما باید تقاضا برای توسعه دهندگان فول استک را نیز در نظر بگیرید. طبق پیشبینیهای BLS، انتظار میرود مشاغل توسعهدهنده وب از سال 2020 تا 2030 در ایالات متحده 13 درصد افزایش یابد، که سریعتر از میانگین برای همه مشاغل است. همچنین میتوانید «شغلهای توسعهدهنده کامل» را در Indeed، Glassdoor، Dice، Zip Recruiter و غیره جستجو کنید تا انواع موقعیتهای موجود را ببینید. نتایج جستجوی شما تقریباً به اندازه دادههای دولت جامع نخواهد بود، اما در عین حال شرح شغل در دنیای واقعی را مشاهده خواهید کرد. علاوه بر این، Glassdoor با استفاده از دادههای ناشناس از کارکنان فعلی و سابق، برآوردهای حقوق و دستمزد شرکتهای خاص را ارائه میکند.
برای تبدیل شدن به یک توسعه دهنده فول استک چه کاری باید انجام دهید
اگر تازه شروع کرده اید، مسیر تبدیل شدن به یک توسعه دهنده فول استک می تواند دلهره آور به نظر برسد. اما حداقل اکنون باید بدانید که چه چیزی در انتظار شماست: مراحلی که باید انجام دهید، مدت زمانی که ممکن است طول بکشد، مهارت هایی که باید یاد بگیرید، و انتظار دارید چه چیزی کسب کنید. اگر آماده شروع هستید، مرحله 1 این نقشه راه را مرور کرده و برنامه خود را تنظیم کنید.
پس از دستیابی به آن، باید برای شروع یادگیری آماده باشید! مهم نیست که چه مسیر آموزشی را طی می کنید، می توانید بلافاصله با دوره های توسعه تعاملی Educative شروع به ایجاد مهارت های فنی خود کنید.
موفقیت شما بهعنوان یک توسعهدهنده فول استک به تسلط بر مهارتهای بخش جلویی و پشتی وبسایتها و برنامههای کاربردی وب بستگی دارد. برای کمک به شما در یادگیری مهارتهای front-end، مسیر یادگیری Become a Front-End Developer را ایجاد کردهایم که نشانهگذاری و استایلسازی با HTML و CSS، تعامل با جاوا اسکریپت و راهاندازی یک وبسایت را پوشش میدهد. اگر می خواهید روی قسمت پشتی تمرکز کنید، مسیر یادگیری اصول برنامه نویسی وب را در نظر بگیرید. مهارت های برنامه نویسی اولیه در C++ و ملزومات back-end مانند پایگاه های داده و شبکه ها را آموزش می دهد. همچنین در صورت نیاز شما را با HTML، CSS و جاوا اسکریپت آشنا می کند.
یادگیری مبارک!
به یادگیری در مورد توسعه تمام پشته در Educative ادامه دهید
نحوه انتخاب پشته فناوری مناسب برای توسعه وب
شیرجه سریع به Firebase: سفر تمام پشته خود را شروع کنید
آیا می توانم یک توسعه دهنده تمام پشته پایتون باشم؟
بحثی را شروع کنید
پایتون انجام پروژه پایتون با برنامه نویسان پایتون
چرا حرفه ای به عنوان یک توسعه دهنده فول استک مجذوب شما شده است؟ این مقاله به شما کمک کرد؟ در قسمت نظرات پایین ما را آگاه کنید!