انجمن برنامه نویسان البرز

تبلیغات

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

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


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

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

  • مدیر پروژه :

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

معمولا عوام(مخصوصا کدنویسان) فکر میکنند که بیشتر کارهای یک پروژه را کدنویسان آن انجام میدهند. در واقع اینطور نیست.

  • تحلیلگر:

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

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

  • صاحب محصول (Product Owner)

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

  • طراح نرم افزار

طراح نرم افزار، بر اساس اطلاعات حاصل از تحلیل، مدل نرم افزار را طراحی میکند. مثلا کلاس ها را طراحی میکند و عملیاتی که نرم افزار انجام میدهد را پایه ریزی میکند.

  • طراح UI (Frontend Developer)

طراح UI کسی است که ظاهر یک نرم افزار را میسازد. در سیستم های مبتنی بر وب، این ظاهر از طریق HTML/CSS/… ساخته میشود و در سیستم های دیگر، بسته به پلتفرم توسعه، از تکنولوژی های مختلفی استفاده میشود.

  • برنامه نویس Baackend

مسئول برنامه نویسی Backend در واقع همان کسی است که عوام به او برنامه نویس میگویند و کدها را مینویسد.

  • Tester

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

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

  • Scrum Master

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

  • Senior Developer – برنامه نویس ارشد

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

Junior Developer همان برنامه نویس عادی است.

  • کارشناس پشتیبانی

مسئول ارتباط با مشتری برای پشتیبانی دادن به او است. کارشناس پشتیبانی، باید نرم افزار را به خوبی بشناسد.

  • مسئول استقرار

مسئولیت نصب و راه اندازی نرم افزار را در محل مشتری به عهده دارد.

 

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

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

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




نظر بدهید

2 دیدگاه برای “تخصص های بازار کار برنامه نویسی

  • احمد گفته
    26 آگوست 17

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

    • علیرضا صبوئی گفته
      26 آگوست 17

      بله دوست خوبم. فکر میکنم تمام ما برنامه نویس ها با این موضوع درگیر بودیم