smart
5 سال پیش توسط smart مطرح شد
7 پاسخ

تبدیل شدن به توسعه دهنده ارشد

وقت بخیر. من یکی دو سالی هست که با لاراول کار میکنم و تا الان چند پروژه فروشگاهی و ... با لاراول انجام دادمو تا حد بنظرم متوسطی لاراول رو بلدم. ولی هدفم اینه که تبدیل به یه توسعه دهنده ارشد بشم یعنی بتونم به خودم بگم "یه لاراول کار کاملا حرفه ای". تا الان هم چندین دوره لاراول رو مشاهده کردم.
1- چه مراحلی رو باید برم تا تبدیل به یه توسعه دهنده ارشد بشم؟ آموزش خاصی اگه هست ممنون میشم معرفی کنید(انگیسی باشه هم خوبه)
2- لطفا همین مورد رو برای php خام هم راهنمایی کنید
3- من توی یه مقاله خودم بهترین روش حرفه ای شدن مطالعه کدهای بقیه س. بجز گیت هاب جایی هست که من بتونم مثلا یه پروژه کامل رو دانلود کنم و مطالعه کنم ؟ جایی که مطمئن باشیم کدهاش حرفه ای و معتبر هست؟؟

البته میدونم که تمرین و تمرین و تمرین مهمترین چیزه. ولی خب باید موارد یا مسیر حرفه ای شدن رو از یه جایی بلد شد و طبق اون تمرین کرد.
ممنونم.

@ali.bayat
@hesammousavi


ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
1

یه روش خوب اینه که شما بعد از یکی ۲ تا دوره آموزشی که گذروندید، پروژه‌ای رو استارت بزنید که با ساختارش آشنایی ندارید مثلا اگر پروژه‌های آموزشی تون حول محور فروشگاهی بوده، سعی کنید یه اپلیکیشن با ساختار متفاوت ایجاد کنید مثلا یه شبکه مجازی

با رفع چالش هایی که برای پیاده سازی همچین پروژه‌ای دارید ، مسلما نکات زیادی رو در مورد لاراول یاد خواهید گرفت.


و نکته خیلی مهم این که: هر قدر هم که لاراول عالی باشه... این فریم‌ورک برای توسعه دهنده هایی هست که به مباحث کلیدی زبان PHP تسلط کامل داشته باشند. مهمترین این موارد شامل :

  • شئ گرایی
  • الگوهای طراحی
  • قوائد SOLID
    میشه گفت لاراول بر مبنای تمام این موارد و مباحث پیشرفته تر ساخته شده..

اما در مورد توسعه دهنده ارشد یا senior شدن:

Senior به توسعه دهنده‌ای می گند که بیش از هفت سال تجربه کار دارد. اما این تعریف به نظر جامع و کامل به نظر نمی‌رسد. شاید بهتر باشد بگوییم توسعه‌دهنده‌ای است که حالت خاص ذهنی داشته باشد. بنابراین حتی کسی که بعد از ۶ ماه تجربه به چنین حالت ذهنی برسد می‌تواند یک توسعه‌دهنده ارشد باشد. اما چنین حالتی معمولا بعد از سال‌ها مطالعه و تجربه در طول زمان به دست می‌آید.

شما زمانی می‌توانید خود را توسعه دهنده ارشد بنامید که:

  • بتوانید چرخه عمر کل توسعه نرم افزار را از ابتدا تا پایان مدیریت کنید
  • بتوانید پروژه های خود را به صورت شخصی کاملا مدیریت کنید
  • زمانی که شما دیگران را هدایت می‌کنید یا دیگران برای راهنمایی به شما مراجعه می‌کنند

یک Senior لازم است صلاحیت‌های فنی کافی داشته باشید. تا زمانی که به یک معماری درست (بهینه) دست نیافتید استراحت نکنید. لازم است اطلاعات زیادی بیاموزید. این مسئولیت ارتباطی با زبان برنامه‌نویسی نخواهد داشت. به عنوان برنامه‌نویس ارشد خواهید دانست که یک کد یا راه حل درست به نظر نمی‌رسد و می‌دانید(و توانایی آن را دارید) که چطور آن را حل کنید. کابوس همیشگی زندگی با کد بد را خواهید داشت. اگر این اتفاقات برای شما نیفتاده است احتمالا هنوز ارشد نیستید…


اما در مورد دوره های آموزشی در سایت های فارسی زبان راکت گزینه خوبی هست و بین انگلیسی ها Laracasts, Udemy, Lynda گزینه‌های معتبر و جامعی هستند.


mahdi khanzadi
تخصص : backend developer at Snapp mar...
@khanzadimahdi 5 سال پیش آپدیت شد
0

توسعه دنده های ارشد حداقل ۱۰ سال سابقه کار و تجربه دارند. اما توی ایران همه کسایی که دو سال برنامه نویسی میکنن اسم خودشون رو توسعه دهنده ارشد میزارن! من ادم میشناسم ۶ ماه تازه شروع به کار کرده و میگه توسعه دهنده ارشده!
و اینکه توسعه دنده ارشد باز خودش شاخه های کاری داره. رشته کامپیوتر در بخش برنامه نویسی و توسعه نرم افزار شاید بیشتر از ۳۰ نوع شاخه کاری داره و خیلی از شاخه های کاریشو توی ایران اصلا نمیدونن چی هست! فقط یه تعریف ازش میدونن اما دقیق نمیدونن وظایف فرد توی اون شاخه کاری چیه و چه چیزایی رو نیاز داره تجربه کنه .

و در اخر بگم هیچ ادمی با دیدن فیلم اموزشی از فلان سایت و فلان ادم معروف و چهارخط کد زدن توسعه دهنده ارشد نمیشه! ارشد بودن شاید زیاد ربطی به کدنویسی نداشته باشه بلکه باید اصول طراحی و پیاده سازی رو بدونید و بتونید کارها رو به نحوه صحیح مدیریت کنید.

مد نظر داشته باشید در تمامی پروژه ها نوشتن کد و کلا کد زدن مرحله ی اخر کار هست! قبل از کد زدن کلی فرایند هست که باید به درستی انجام بشه. کد رو هرکسی میتونه طی یکی دو ماه یاد بگیره و شروع کنه به کد زدن. یه مشت دستورات تکراری هست که توی همه زبان ها مشترکه و فقط شکلش عوض میشه.


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
1

سلام
@smartgarden2016

مقدار تایم دقیقی رو که اصلا نمشه به عنوان پارامتر حساب کرد
تسلط کافی روی زبان های مختلف
تجربه مناسب نسبت به حل مسئله و کد
انجام پروژه های متعدد و به قول معروف دست تند در کد زنی و ....
این موارد به نظر من ملاک ها هست
اما در 4 چوب اصولی و منطقیش!! به قول معروف هر دمبیلی نه!
منطقی و علمی
حالا این میتونه توی 1 سال به دست بیاد
میتونه توی 3 سال به دست بیاد
میتونه تو 10 سال به دست بیاد!


smart
@smartgarden2016 5 سال پیش آپدیت شد
0

دوستان ممنون از جوابتون

پس میشه گفت اون بخش فنی و کدزنی که با فیلم و داکیومنت میشه یاد گرفت یه بخشی از senior شدن هست.
خب حالا واسه اون بحث اصول معماری و پیاده سازیش یا مثلا مدیریت چرخه کامل نرم افزار یا افزایش توانایی حل مسئله و این موارد رو چطور میشه توشون پیشرفت کرد؟ مخصوصا توانایی حل مسئله که این روزا از همه چیز مهمتر شده
مثلا منبع مطالعاتی مناسبی هست ؟

برای مثال من وقتی یه پروژه میگیرم مثلا فروشگاهی اول میام ببینم چه امکاناتی داره:

  • پنل مدیریت : مدیریت کاربران - مدیریت محصولات- مدیریت تخفیف ها- مدیریت بلاگ- مدیریت دیدگاه ها - مدیریت سفارشات و ...
    بخش عمومی: احراز هویت- پروفایل کاربری- سبد خرید- سفارش و درگاه بانکی- وبلاگ - دیدگاه ها و ...
    بعد میام واسه این قسمت ها بررسی میکنم ببینم چه جدول هایی نیاز هست و هرجدول چه فیلدهایی داره و ارتباط بین جدول ها چطوره.

در نهایت هم دیتابیس و مدل ها و کنترلرها و ویوها رو ایجاد میکنم و شروع میکنم به کدنویسی.
الان این روش درسته؟ اون چرخه نرم افزار که بحث شد اینجا رعایت میشه؟

@ali.bayat
@Alimotreb
@khanzadimahdi


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
1

فرایند تولید نرم‌افزار که به چرخهٔ حیات تولید نرم‌افزار معروف است یکی از موضوعات مهم در تولید یک سیستم است که اکثرا در ایران مورد توجه قرار نمی‌گیرد این فرایند باعث می‌شود محصول نهایی ما نه تنها از لحاظ فنی بلکه از لحاظ علمی و مهندسی نیز صحیح طراحی شود. فرایند توسعه نرم‌افزار به یک سری از فعالیت‌های مهندسی نرم‌افزار اطلاق می‌شود که با هدف مدیریت چرخه حیات (life) یک سیستم نرم‌افزاری برنامه ریزی و طراحی می‌شود.

در کل می‌توان گفت مراحلی را که در طی توسعه و تولید نرم‌افزار سپری می‌شوند را چرخه حیات تولید وتوسعه نرم افزار (Software Development Life Cycle) می‌گویند.


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش آپدیت شد
0

سلام
@smartgarden2016

ببینید چرخه تولید نرم افزار که دوست خوبمون جناب بیات ، شماتیکش رو گذاشتن ، بسیار درست و دقیق هست!

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

همین چیزایی که برای فروشگاه مثال زدید ، همه اینا رو با خیلی معماری های دیگه ای هم میشه نوشت!

انالیز اولیه و برآورد کردن ، و تطبیق مسئله با روش های متنوع حل ، از فنون و مهارت برنامه نویس هست!

این مهارت هم فقط با تمرین و تکرار و انجام پروژه های مختلف ، دیدن سورس کد های خیلی دیگر از برنامه نویسان و به دست و پنجه نرم کردن با انواع چالش های برنامه نویسی به دست میاد.


smart
@smartgarden2016 5 سال پیش مطرح شد
0

ممنون از همگی بابت جوابهای خوبتون


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام