مشاوره رایگان

دسته بندی و سطح مهندسین نرم افزار _ تازه کار، کارشناس و متخصص

5.0| از 1 نظر

نردبان شغلی توسعه دهنده گان نرم افزار اساسا از سه پله تشکیل شده است: تازه کار، کارشناس و متخصص. در صنعت، این اصطلاحات برای انتصاب و تعیین سطح حقوق و مسئولیت ها استفاده می شود.

آگاهی از سطوح تخصص توسعه دهنده منجر می شود که انتظارات دقیق تری از یک مهندس نرم افزار داشته باشیم. همچنین این تمایز نه تنها محاسبات داخلی گسب و کار را بهبود می بخشد، بلکه منجر به بهبود ارتباطات بین فروشندگان و مشتریان می گردد و تعاملات را موثرتر می سازد. با تمایز این عناوین شغلی، مشتری نیز درک بهتری از سطوح شایستگی در صنعت IT خواهد داشت.

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

رویکردهای ارزیابی تخصص در توسعه نرم افزار

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

مدل دریفوس در زمینه ی کسب مهارت به شناسایی 5 مرحله ی کسب و تسلط بر مهارت ها می پردازد. اندی هانت در کتاب خود، تفکر و یادگیری عملی: اصلاح زنده افزار، مدل دریفوس را به توسعه نرم افزار اعمال می کند. نویسنده از مدل دریفوس برای ساختاربندی تغییرات پایه ای که در طی فرآیند یادگیری رخ می دهند، استفاده می کند. این امر به وی امکان بررسی این که چطور برنامه نویسان در مراحل مختلف فرآیند توسعه را درک کرده و آنها را مورد بررسی قرار می دهند و همچنین چگونگی شکل دهی مدل های ذهنی کمک می کند.

کارآفرینی

5 مرحله ی مدل دریفوس مهمترین تغییرات را در طی مسیر از تازه کار بودن تا متخصص شدن شرح می دهد.

منبع کتاب یادگیری و تفکر عملی: اصلاح زنده افزار خود توسط اندی هانت

 

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

کارآفرینی

منحنی بهره وری

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

 

ماتریس شایستگی برنامه نویس. ماتریس مجموعه مهارت های برنامه نویس توسط سیجین جوزف، یک رهبر فناوری با بیش از 15 سال تجربه در طراحی و ساخت محصولات نرم افزاری توسعه داده شد. ماتریس یک ساختار سه-سطحی دارد که با توزیع نقش تازه کار-کارشناس-متخصص همبستگی دارد. همچنین ماتریس شامل سطح 0 می شود که به نظر ما برابر با یک مهندس نرم افزار در سطح آموزشی است. در حالی که انتظارات دانش فنی هر سطح تخصص را شرح می دهیم، به این منبع ارجاع می کنیم.

کارآفرینی

رویکردهای ارزیابی تخصص مقایسه شدند

کارآموز:تازه از مدرسه فارغ التحصیل شده است

 

برخی از شرکت ها برنامه های کارآموزی دارند که از مهندسین در سطح پایین که فقط دانش تئوری دارند و تجربه کاری ندارند، استفاده می کنند. در این مورد، عنوان شغلی مبتدی، کارآموز است.

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

زمانی که در مورد دانش فنی صحبت می کنیم، کارآموزان اساسا محدود به استفاده از IDEهایی نظیر ویرایشگرهای متنی برای کدزنی بدون استفاده از ویژگی های اضافی آنها هستند. آنها به ندرت با API کار می کنند و اغلب باید به مستنداتشان رجوع کنند. جدا از سکوی کاری مرکزی که در آن متخصص هستند، با هیچ چارچوب کاری دیگری آشنا نیستند و فقط ایده ی مبهمی در مورد این که پایگاه داده چیست، دارند.

توسعه دهندگان کارشناس: از طریق آزمون و خطا

حضور به عنوان توسعه دهنده ی کارشناس دشوار است، چون آنها اغلب می آیند و می روند. کارفرمایان تمایل دارند که توسعه دهندگان کارشناس را برای قراردادهای کوتاه مدت یا فریلنسر استخدام کنند و این کار را برای کاهش هزینه قرارداد انجام می دهند. با این وجود، برگ برنده ی تازه کاران، انگیزه و انرژی است که بسیاری از افراد متخصص دیگر ندارند. تازه کاران می دانند که تلاشی که صرف می کنند، آنها را قادر به حرکت سریعتر به مرحله بعد خواهد کرد.

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

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

مبتدیان پیشرفته از دنبال کردن قوانین ثابت شروع کرده و اصول کلی را بر اساس موقعیت های مشابهی که با آنها سروکار دارند، فرموله سازی می کنند. مشکل اصلی این است که زمینه های بزرگتر را اغماض می کنند یا شاید آنها را نامرتبط در نظر می گیرند.

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

مجموعه مهارت ها و وظایف فنی سطح تازه کار

  1. IDE. تازه کاران واسط کاربری را مورد بررسی قرار می دهد و با استفاده از نوار وظیفه به طور موثر با IDE تراکنش دارد.
  2. API. آنها می دانند که چطور APIهایی که به طور مکرر استفاده می شوند را مدیریت کنند.

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

توسعه پایگاه داده. تازه کاران تکنیک های طراحی پایه ای DB، ویژگی های ACID و تراکنش ها را می دانند. همچنین یک تازه کار می تواند پرس و جوهای select ساده برای بازیابی اطلاعات از پایگاه داده را بنویسد.

زبان های برنامه نویسی. توسعه دهندگان تازه کار معمولا با یک زبان برنامه نویسی آشنا هستند. آنها زبان را به درستی انتخاب کرده و یک راه حل شبه-پایدار را پیاده سازی می کنند که اکثر مشکلات را در موارد استفاده خاص حل می کند.

سکوهای کاری و ابزارها. تازه کاران تجربه تخصص در رابطه با سه سکوی کاری را دارند. آنها از جایگزین های ابزارهای معروف و استاندار آگاه هستند.

وظایف روزمره. به تازه کاران معمولا به حداقل وظایف پیچیده، وظایفی که تاثیر کمی بر محصول نهایی دارند، انتصاب می یابد.

کار تیمی و چشم انداز تازه کاران

کار مستقل. حتما تازه کاران نیاز به نظارت از نزدیک دارند. آنها نیاز به نظارت قوی برای رشد مهارتهایشان دارند. هر تازه کار برای کار در تیم باید با تیم همکاری کرده و حداکثر دانش ممکن را جذب کند.

نگرش. مساله ای که در رابطه با تازه کاران مطرح است، این است که به جای این که بر توسعه تمرکز داشته باشند، بر کد تمرکز دارند. این مساله مانع از این می شود که چشم انداز گسترده ای داشته باشند.

توسعه دهندگان سطح کارشناس: آدم های زحمتکش دنیای برنامه نویسی

توسعه دهندگان تازه کار با بیش از سه سال تجربه می توانند از مهارت های خود به عنوان متخصصین سطح-میانی (کارشناس) استفاده کنند. برخی اوقات توسعه دهندگان کارشنان تحت عنوان «آدم های زحمتکش دنیای برنامه نویسی» در نظر گرفته می شوند که حداکثر تاثیر را با استفاده از کدهای معمولی ارائه می کنند.

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

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

مجموعه مهارت ها و وظایف فنی کارشناسان

  1. IDE. توسعه دهندگان کارشناس بعد از استفاده از IDE برای یک مدت، کلیدهای میانبر را برای عملیات تکراری یاد می گیرند که منجر به تسریع کارشان می شود.
  2. API. توسعه دهندگان سطوح میانی دانش عمیق و یکپارچه ای در مورد APIهای اصلی دارند.

چارچوب های کاری. کارشناسان در مدیریت پایگاه داده مهارت دارند. آنها می توانند طرح های DB نرمال را طراحی کنند، در حالی که پرس و جوهایی که صادر می شوند را مد نظر قرار می دهند. توسعه دهندگان میانی در استفاده از ویوهای پایگاه داده، رویه های ذخیره شده، تریگرها و انواع داده ای که توسط کاربر تعریف شده اند (UDT) مهارت دارند. آنها در تکنیک نگاشت شی-رابطه (ORM) که برای تبدیل داده بین سیستم هایی با نوع ناسازگار استفاده می شود، مهارت دارند. آنها برای تسریع پردازش پرس و جوها، شاخص های خوشه ای و غیرخوشه ای را اعمال می کنند.

زبان های برنامه نویسی. هر توسعه دهنده ی کارشناس برنامه نویسی عملکردی را درک کرده و می داند که چه زمانی و چطور مفاهیم عملیاتی را در هر زمانی اعمال کند.

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

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

کارتیمی و چشم انداز کارشناسان

کار مستقل. توسعه دهندگان سطح میانی می توانند کار را با با نظارت کمتر ارائه کنند، در حالی که به کارهای به نسبت متداول انتصاب داده شوند.

کار تیمی. توسعه دهندگان کارشناس به طور فعالانه با اعضای تیم، از جمله طراحان، تحلیلگران و معماران مشارکت دارند.

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

اثر دانینگ-کروگر

بسیاری از توسعه دهندگان کارشناس تحت تاثیر دانینگ-کروگر هستند که مانع از رشد کاری بیشترشان می شود. این پدیده ی روانشناختی شرح می دهد که دانش اندک، چه چیز خطرناکی می تواند باشد. توسعه دهندگان با اطمینان از خود، ممکن است در مورد مهارت هایشان غلو کنند که مانع از پیشرفتشان می شود. این شرایط یک نگرانی بزرگ در توسعه نرم افزار است. در حالی که این نوع رفتار می تواند برای کارمندان در هر سطح تخصص رخ دهد، اما توسعه دهندگان کارشناس بیشترین آسیب پذیری را نسبت به آن دارند.

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

کارآفرینی

نمایش بصری از اثر دانینگ-کروگر بر وابستگی توسعه دهندگان از تخصص و دانش خود.

منبع تصویر: توسعه دهندگان تازه کار: شما دیگر تازه کار نیستند، آماندو ابرو

 

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

توسعه دهنده ی سطح متخصص: حل کننده مساله

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

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

رویکردهای دیگر. بر اساس مدل دریفوس، تخصص را می توان به دو مرحله تقسیم کرد: ماهر (متخصص تازه کار) و متخصص.

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

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

متخصص بالاترین رتبه در مدل دریفوس است. بر اساس اظهارات اندی هانت، هر فرد می تواند با بیش از 10 سال تجربه به آنجا برسد. بنابراین متخصصان گونه های خاصی هستند. توسعه دهندگان متخصص تجربه خود را به شهود تبدیل می کنند. متخصصین بهترین تجربه ها را از مسئولیتها، فناوری ها و موقعیت های مختلف یاد می گیرند.

بر اساس مراحل هفت گانه ی تخصص مهندسی نرم افزار، این سطح دو نقش مدیر و پژوهشگر را در بر می گیرد.

مدیر یک متخصص ماهر و مربی خوب است که اساسا روش شناختی عمیقی دارد. مهمتر از آن، این توسعه دهنده ارزش سازمانی تولید را درک می کند.

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

مجموعه مهارت و وظایف فنی توسعه دهنده متخصص

داشتن مهارت های فنی بالا برای توسعه دهنده متخصص راحت است. توسعه دهنده متخصص باید در پی بدست آوردن دانش قابل تبدیلی باشد  که به وی امکان تشخیص و نوشتن کد به هر زبان برنامه نویسی را دهد. این دانش به سازگار شدن با تغییرات فنی نیز کمک می کند.

  1. IDE. تخصص به توسعه دهنده امکان نوشتن مایکروهای سفارشی جهت بهینه سازی جریان کاری می دهد.
  2. API. هر متخصص کتابخانه هایی برای افزودن عملکرد بهتر یا خودکارسازی فرآیندهای تکراری بدون نیاز به نوشتن کد برای آنها دارد.

چارچوب های کاری. متخصص دانش کافی برای ساخت چارچوب کاری سفارشی خود دارد.

توسعه پایگاه داده. هر متخصص در مدیریت پایگاه داده و بهره وری و بهینه سازی اندیس به خوبی شناخته شده است. آنها معمولا کار حساس، زدن پرس و جوهای select پیچیده را انجام می دهند. چون متخصصین ساختار یک پایگاه داده را از درون می دانند، با ویژگی های نگهداشت DB آشنا هستند. به خصوص تکرار DB. این ها روش هایی برای تبدیل داده از یک پایگاه داده اولیه به ثانویه هستند. توسعه دهندگان متخصص الگوریتم تایید دو-مرحله ای (2PC) را که برای هماهنگ سازی یک تراکنش توزیع شده به کار می رود، درک می کنند. آنها می توانند عملیات کندی که با استفاده از Cursor انجام می شوند را با عبارات join که کارآمدتر هستند، انجام دهند.

زبان های برنامه نویسی. علاوه بر برنامه نویسی تابعی و OOP، آنها با زبان های همروند و منطقی مثل ارلنگ و پرولوگ کار می کنند.

سکوهای کاری و ابزارها. متخصصین حرفه ای تجربه بیش از 6 نقش کاری را دارند. آنها می توانند دیباگرها یا سایر ابزارهای ضروری برای بهبود کار ایجاد کنند.

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

تیم کاری و چشم انداز متخصصین

کار مستقل. توسعه دهنده متخصص، توسعه دهنده ای است که راهنمایی ارائه می کند. آنها تیم را در اولویت قرار می دهند و همیشه سعی در مشخص کردن این دارند که چه کاری برای کمک به اعضای تیم می توانند انجام دهند. آنها مهارت های خوبی در ایجاد توازن بین مشتری و تیم دارند.

نگرش. توسعه دهنده متخصص هدف نهایی را مد نظر قرار می دهد-مشکلاتی که برنامه ی نوشته شده باید حل کند. یک نگرش طولانی-مدت، یک نقطه حیاتی در ارائه ارزش به کاربر.

کارآفرینی

ویژگی های سطوح توسعه دهنده ارشد

 

بعد از توسعه دهنده متخصص چه سطحی قرار دارد؟

توسعه دهنده متخصص یک نقطه پرش خوب برای گام بعدی روی نردبان است. برخی از توسعه دهندگان متخصص می خواهند نقش های فنی بیشتری داشته باشند، سایرین نقش های مدیریتی را ترجیح می دهند. در اینجا برخی از گزینه هایی که توسعه دهنده باید مد نظر قرار دهد، ارائه شده اند.

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

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

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

شرایط خارجی که بر سطوح تخصص تاثیر می گذارند:

در حالی که سطح تخصص توسعه دهنده را تعریف می کنیم، مد نظر قرار دادن معیارهای متغیر زیر که اساسا بر درجه بندی تاثیر می گذارند، مهم است.

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

پروژه. هر پروژه می تواند به شکل افقی یا عمودی مقیاس پذیر شود که در برگیرنده ی مجموعه های مختلف مهارت و تخصص است.

سازمان. ویژگی های سازمان نیز باید لحاظ شوند. ویژگی هایی نظیر اندازه شرکت و نیازمندی های فردی باید مد نظر قرار گیرند. کسب و کارهای کوچکتر معمولا به دنبال متخصصینی با مجموعه مهارت ها و مسئولیت های گسترده تر هستند. به عنوان مثال، یک مهندس در یک سازمان کوچکتر می تواند مسئول توسعه و استقرار محصول باشد. در مقابل در یک سازمان بزرگتر، نیاز به متخصصین با تجربه تری مثل یک مهندس برای مرحله خاصی از چرخه devops که با ابزار خودکارسازی خاصی کار می کند، باشد.

بسته به محل کار، دو برنامه نویس متخصص می توانند با هم بسیار متفاوت باشند. رابرت ریز، مدیر توسعه ارشد در تیم توسعه دیجیتالی روزنامه ی گاردین به این نکته اشاره می کند: «هنگام استخدام نیاز به توضیح در مورد این که توسعه دهنده متخصص کیست، داریم، نه تنها این توضیح به خودمان لازم است، بلکه به افرادی که خارج از سازمان هستند نیز لازم است».

نکته هایی در مورد انتخاب یک توسعه دهنده با تخصص درست برای پروژه شما

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

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

 

ممکن است از این مطالب خوشتان بیاید



نظر خود را بنویسید

ارسال نظر

زانیار رشیدپور

زانیار رشیدپور | 11/4/2021 11:23:46 AM

چه عالی توضیح میدین. راغب شدم دوره هاتونو ببینم