اگر به عنوان یک توسعه دهنده استخدام شدید یا به دنبال یک شغل مناسب هستید، این مقاله به شما کمک می کند، با مهارت هایی که به عنوان یک توسعه دهنده junior  لازم دارید آشنا شوید. قبل از ورود به جزئیات، باید مسئله ای را روشن کنم: به عنوان یک junior، انتظار نمی رود همه چیز را بشناسید! دنیای برنامه نویسی خیلی بزرگ است و دائما بزرگتر می شود. پس هر برنامه نویس با توجه به پروژه هایی که انجام می دهد، رشد می کند.

مهارت های اصلی

چه بخواهید روی برنامه های دسکتاپ کار کنید چه برنامه های وب و موبایل، مواردی هست که حتما باید بدانید.

مهارت های اصلی

ساختار داده ها و الگوریتم ها:

حتی اگر مدرک دانشگاهی در رشته علوم کامپیوتر ندارید باید بدانید که الگوریتم و ساختمان داده الفبای برنامه نویسی هستند. پس به شما پیشنهاد می دهم حداقل یک ماه برای یادگیری این موارد زمان صرف کنید. ممکن است شگفت زده شوید که اکثر شرکت های بزرگ مانند مایکروسافت، اپل و آمازون بخش قابل توجهی از مصاحبه های فنی خود را به ساختار داده ها و الگوریتم ها اختصاص می دهند، نه ASP.NET 5 یا WPF ! زیرا آنها می خواهند ببینند شما می توانید مثل یک برنامه نویس فکر کنید یا نه؟

اگر با برخی از سر فصل ها مشکل دارید، اشکالی ندارد! ادامه بدهید. فقط مطمئن شوید که اصول اولیه لیست ها، پشته ها، صف ها، درخت ها و hash table ها را درک می کنید. سعی کنید برخی از این موارد را با آرایه، حلقه و شرط پیاده سازی کنید. همچنین الگوریتم های جست و جو را پیاده سازی کنید.

پایگاه های داده:

SQL Server رایج ترین سیستم مدیریت پایگاه داده (DBMS) در میان توسعه دهندگان .NET است. اطمینان حاصل کنید که با اصول پایگاه های رابطه ای و نحوه ایجاد جداول، ویو ها و stored procedures در SQL Server آشنا هستید. T-SQL زبان پرس و جویی است که ما برای پرس و جو یا تغییر داده در یک پایگاه داده SQL Server استفاده می کنیم. مطمئن شوید که با دستورات SELECT، INSERT، UPDATE، DELETE، JOIN و GROUP BY به خوبی آشنا هستید.

ORM: هنگام استفاده از پایگاه داده رابطه ای، ما اغلب از Object/Relational Mapper (ORM) برای ذخیره یا بار گذاری اشیا در پایگاه داده استفاده می کنیم. تعداد زیادی ORM وجود دارد از جمله Entity Framework، nHibernate، Dapper، PetaPoco و …  اما Entity Framework رایج ترین ORM در بین برنامه نویسان است.

برای توسعه وب

ساختن برنامه های کاربردی وب اساسا از ساختن برنامه های دسکتاپ متفاوت است. یک برنامه وب حداقل شامل دو قسمت است: یکی که در مرور گر کاربر (front-end) اجرا می شود و یکی که بر روی سرور (back-end) اجرا می شود. هر زمان که صفحات وب را در مرور گر خود مشاهده می کنید، یا روی دکمه ها و پیوندها کلیک می کنید، یک درخواست (request) از مرور گر شما به سرور ارسال می شود. درخواست در سرور پردازش می شود، برخی از اطلاعات از پایگاه داده فراخوانی می شود یا در پایگاه نوشته شده و نتایج به مرور گر شما بازگردانده می شود.

توسعه دهندگان وب اغلب در سه گروه طبقه بندی می شوند:

  1. توسعه دهندگان Front-end
  2. توسعه دهندگان Back-end
  3. توسعه دهندگان Full-stack : کسانی که هر دو قسمت Front-end و Back-end را انجام می دهند

شما باید یکی از این گروه ها را با توجه به علایق خود انتخاب کنید. توسعه دهندگان Full-stack اغلب فرصت های شغلی بیشتری دارند زیرا می توانند هر دو قسمت Front-end و Back-end را انجام دهند.

توسعه فرانت اند

به عنوان یک توسعه دهنده Front-end، شما باید حداقل با اصول اولیه HTML، CSS و جاوا اسکریپت آشنا شوید.

HTML زبان نشانه گذاری است که برای ایجاد ساختار برای یک صفحه وب استفاده می کنیم. بر خلاف زبان های برنامه نویسی مانند سی شارپ، دستورات مربوط به منطق ندارد. ما از CSS برای زیبا کردن صفحات استفاده می کنیم. CSS تماما در مورد رنگ ها، استایل ها، فونت ها و … هست. در نهایت ما از جاوا اسکریپت برای اضافه کردن رفتار به یک صفحه وب استفاده می کنیم. چه اتفاقی می افتد زمانی که شما یک دکمه را کلیک کرده یا یک عنصر را بکشید و رها کنید.

توسعه بک اند - asp

ASP.NET MVC چارچوب غالب (در میان توسعه دهندگان سی شارپ) برای ساخت برنامه های کاربردی وب بر روی سرور است. به عنوان یک توسعه دهنده ASP.NET MVC، باید با برخی از مفاهیم اولیه HTML، CSS و جاوا اسکریپت آشنایی داشته باشید. بنابراین، من پیشنهاد می کنم که شما با توسعه ی Front-End شروع کنید و سپس به سمت Back-end بروید تا به یک توسعه دهنده Full-stack تبدیل شوید.

برای توسعه دسکتاپ

تصویر توسعه دسکتاپ

اگر می خواهید برنامه های دسکتاپ را برای ویندوز بسازید، شما به مهارت هایی متفاوت با HTML، CSS و جاوا اسکریپت نیاز دارید. شما باید با XAML، WPF یا Windows Forms آشنا باشید.

 

منبع: http://bit.ly/2kq7xwk