
چشمانداز شغلی:
همانطوری که میدانید بسیاری از امکانات و قابلیتهای برجسته و فوقالعاده فناوری اطلاعات (IT) در زمینه ارایه کالا و خدمات به بازار مصرف، وابستگی تام به نرمافزارهای مربوط به آن دارد. در حال حاضر مهمترین زمینه توسعهای در رابطه با معرفی سیستمهای جدید IT به بازار مصرف، نرمافزارنویسی میباشد که در خلال آن نرمافزارنویسان در طی پنج مرحله شناسایی نوعی کالا/خدمات، ایجاد، تست، نصب و راهاندازی و ارتقاء قابلیت نرمافزارها به این کار مبادرت میورزند. برای انجام این کار ابتدا نرمافزارنویسان با کمک تیم کاری خود به شناسایی پیشنیازهای مشتریان پرداخته، سپس این پیشنیازها را به کدهای نرمافزاری کارآمد و معتبر ترجمه و تبدیل مینمایند.
در همین راستا فرد نرمافزار نویس باید علاوه بر تسلط و درک کامل خواستههای مشتریان در یکی از زمینههای مختلف و متنوع فناوری اطلاعات و نرمافزارنویسی نظیر بازیهای رایانهای و کارتهای اعتباری الکترونیکی نیز تخصص و تجربه کافی کسب کرده باشد.
در این بین برنامهنویسی یکی از بهترین و پردرآمدترین زمینههای شغلی فناوری اطلاعات به شمار میرود زیرا از طریق آن امکان راهیابی به دیگر زمینههای تخصصی و فوق تخصصی نظیر مدیریت تیم/پروژه، طراحی و آنالیز برنامه به راحتی میسر میباشد.
حتی نرمافزار نویسان میتوانند از امکانات ویژه برخی از شرکتهای متقاضی، که دورههای آموزشی و بازآموزی نیز برای فارغالتحصیلان رشتههای مختلف تحصیلی فناوری اطلاعات تدارک میبینند، استفاده نموده و در این زمینه به یک فرد کاملاً با تجربه و ماهر تبدیل شوند.
نقش شغلی
در این زمینه شغلی فرد نرمافزار نویس با استفاده از زبانهای رایج برنامهنویسی نظیر D.B.M.S یا همان سیستم مدیریت پایگاه دادهها و دیگر ابزارهای توسعهای نرمافزارنویسی میتواند برای برآورده ساختن نیازهای ویژه متقاضیان به طراحی، ایجاد، تست، راهاندازی و ارتقا نرمافزار مورد دلخواه بپردازد. آنها همچنین میتوانند برای انجام این کار از توسعه متدولوژیهای موجود نیز بهرهبرداری نمایند. در واقع یک فرد نرمافزار نویس با تسلط بر انواع زبانهای رایج برنامهنویسی و نحوه تغییر و تبدیل پیشنیازهای مشتریان به کدهای رایانهای قابل اعتماد و کارآمد میتواند به چنین فعالیتی مشغول شود.
از رایجترین زمینههای نرمافزار نویسی میتوان به نرمافزارهای شرکتی، تجارت الکترونیک، مدیریت، شبکه تلفنهای همراه و سیستمهای برنامهریزی منابع شرکتی (E.R.P.) در محیطهای صنعتی و بازرگانی اشاره کرد. همانطوری که در ابتدا نیز ذکر گردید. فرد نرمافزارنویس باید علاوه بر درک و تسلط بر خواستههای مشتریان به ابزارهای تغییر و تبدیل این خواستهها به کدهای رایانهای کارآمد و قابل اعتماد با ارزانترین شیوه ممکن نیز تسلط کامل داشته باشد. برای مثال برنامهنویس هنگام تولید یک نرمافزار تجاری و بازرگانی باید از فضای کسب و کار و تنگناهای موجود در بازار کار آگاهی کامل داشته و از دانش (HCL) یا همان نحوه تعامل انسان با رایانه نیز برخوردار باشد. از جمله نرمافزارهایی که برای محیطهای کار نوشته میشوند میتوان به مواردی نظیر نرمافزارهای رزرواسیون بلیط اینترنتی، سیستمهای اطلاعات مدیریتی شرکت، که دربردارنده تمام ابعاد یک کسب و کار میباشد، فناوری انتقال تصاویر گرافیکی یا ویدئویی به تلفنهای همراه و دیگر ابزارآلات سیار ثبت تلفنی اشاره کرد.
سبک و روش زندگی نرمافزارنویسان
درست است که فعالیت برنامهنویسی در بیشتر مواقع در قالب یک تیم پروژه و در یک مکان جغرافیایی ثابت صورت میپذیرد ولی چند تیم پروژه مختلف نیز میتوانند در نقاط مختلف و دور از هم بر روی یک نرمافزار خاص کار کرده و نظرات پیشنهادی و تکمیلی خود را از طریق وسایل پیشرفته ارتباطی نظیر اینترنت، ویدئوکنفرانس، تلفن همراه و غیره به یکدیگر منتقل نمایند. این قبیل تیم پروژهها معمولاً به صورت موقتی در کنار یکدیگر قرار گرفته و بعد از اتمام پروژه از هم جدا خواهند شد مگر این که پروژه جدیدی را با یکدیگر آغاز نمایند. بنابراین برای افرادی که وارد این حرفه میشوند لازم است که از کار در تیم پروژههای مختلف لذت ببرند. در مراحل اولیه کار، فرد نرمافزار نویس درگیر انجام وظایف فنی و تکنیکی بسیار سنگینی همراه با دیگر افراد حاضر در پروژه میشود ولی همچنان که از زمان کار میگذرد بتدریج فاز دیگری از پروژه به نام تعامل با مشتری آغاز میگردد که از طریق آن نرمافزار طراحی شده باید مورد آزمایش و بهرهبرداری نهایی قرار گیرد. علاوه بر این نرمافزارنویسان باید برای عقبنماندن از پیشرفتهای صورت گرفته در زمینه فنون مختلف نرمافزارنویس ارتباط و تعامل خود با دیگر فعالان این بخش نظیر شرکتهای تجاری، مؤسسات و دانشگاهها را همچنان حفظ نمایند.
همچنین شرکت در کنفرانسهای مختلف و دورههای آموزشی فوقالعاده نیز مستلزم آن است که نرمافزارنویسان علاوه بر مسافرتهای کوتاه مدت و درازمدت، شبکه ارتباط شخصی خود با دیگران را هر چه بیشتر مستحکمتر کنند.
وظایف مرتبط با زمینه شغلی برنامهنویسی:
ـ بکارگیری روشهای مدرن طراحی و ابزارهای توسعهای وابسته
ـ توسعه الگوریتمهای آزمایشگر و رمزینهای /کنترل همزمان به روش مدولار که متناسب با ساختار نرمافزار طراحی شده باشد.
ـ آنالیز سیستمی ریز برنامهها / مدولها، عملکرد، اندازه حافظه و .... سیستمهای فنی
ـ پشتیبانی مدیریت پروژه
ـ ساخت سیستم اصلی و سیستمهای جانبی بر اساس طرح و ساختار توسعه یافته و سازه مدولار
ـ ساخت نمونه اولیه بخشهای مختلف سیستم
ـ همکاری با قالبساز (معمار) سیستمها/ طراح سیستم
ـ طراحی آزمایشهای مدولار، همیاری در طراحی آزمایش نصب و یکپارچهسازی
ـ اجرای سیستم یکپارچه، آزمایش سیستم یکپارچه و راهاندازی نهایی سیستم
ـ توسعه/ بکارگیری مدل کنترل پروژه، مدل نصب و مستندسازی کلیه بخشهای سیستم و اضافه کردن اسناد مرتبط نظیر انتشار بولتن
ـ اجرای آزمایش طرح، نصب و تست نهایی سیستم
ـ ارزیابی و مرتب کردن مدل پشتیبانی و ارتقاء سیستم
ـ مشخص کردن الزامات و مقیدات کاربران و الزامات عملکردی
ـ ترسیم طرح عملیاتی سیستم، توسعه رمزینهای و دیگر فازهای طراحی نرمافزار
زمینههای تکنولوژیک مرتبط با نرمافزارنویسی:
ـ سیستمهای عملیاتی ویژه رایانههای شخصی، ایستگاههای کاری و ابزارآلات مصرفی
ـ زبانهای برنامهنویسی نظیر اسمبل، C ، JAVA و ...
ـ سیستمهای جایگزین (Embedded Systems) در تلویزیونها، پلیاستیشنها و ...
ـ سیستمهای فناوری اطلاعات شرکتی نظیر سیستم برنامهریزی منابع شرکتی
ـ کاربردهای اینترنتی نظیر تجارت الکترونیکی
ـ سیستمهای کار مدیریتی
ـ سیستمهای فنی ویژه کنترل ماشینی و دیگر اتوماسیونهای صنعتی
ـ ابزارهای توسعه ویژه نرمافزارهای سیستمی و کاربردی
ـ سیستم پایگاه دادهها ویژه تبادل دیتا با نرمافزارهای مربوطه
ـ فناوریهای شبکهای در سیستمهای پخش همزمان و فضاهای چند سایتی
ـ مهندسی نرمافزار
ـ فناوری قطعات مختلف نرمافزاری
ـ ارتقاء و توسعه نرمافزار
نوع و سطح مهارتهای مورد نیاز:
• مهارتهای رفتاری
ـ توانایی تجزیه و تحلیل
ـ جهتگیری فنی و عاطفی
ـ توانایی حل سریع و فوری مسأله
ـ توانایی توجه به جزئیات
ـ توانایی برقراری ارتباط و تعامل سازنده با دیگران
ـ توانایی شرکت در کارهای گروهی
ـ توانایی برنامهریزی و سازماندهی
• مهارتهای فنی
ـ برنامهنویسی رایانهای
ـ مهندسی نرمافزار
ـ طراحی سیستم
ـ آزمونسازی
ـ آزمونگیری
ـ متدهای توسعه سیستم
ـ سیستم نرمافزارهای نصب شده بر سیستمهای سختافزاری
ـ ابزارهای توسعهای سیستم
ـ آشنایی کامل با الزامات، تنگناها و فضای کسب و کار
ـ مدیریت پروژه
توصیف و تشریح مسیر شغلی و فرصتهای آینده:
این زمینه شغلی همراه با کسب سالها تجربه مستلزم توانایی تجزیه و تحلیل الزامات و پیششرطهای گاهاً بسیار سنگین مشتریان و ویژگیهای مختلف واسطهای کاربری (User Interface) برای مبدل شدن به یک طراح و توسعه دهنده تمام عیار مولتی مدیا یا ورود به جنبه کاملاً علمی این زمینه شغلی جهت اجرای نقشهای علمی رایانهای نظیر فضاهای تحقیقاتی میباشد.
به هر میزان فرد نرمافزارنویس بیشتر به کسب تجربه بپردازد در نهایت میتواند امیدوار باشد که در آینده به یک مدیر پروژه تبدیل خواهد شد. برای رسیدن به چنین هدفی نرمافزارنویس باید در دورههای مختلف آموزشی مدیریت پروژه نیز شرکت به عمل آورد. مشاغلی نظیر طراح/ توسعه دهنده سیستم، قالببند نرمافزار (معمار) در سطوح فنی مسیر شغلی آینده این فرصت شغلی قرار میگیرند که البته دستیابی به چنین هدفی نیز مستلزم کسب تجربه بیشتری در پروژههای نرمافزارنویسی مختلف میباشد.
در هر صورت برای مبدل شدن به یک مدیر پروژه و یا کارآفرین در این زمینه شغلی، علاقمندان باید به کسب تجربه کافی در بازار کسب و کار و فعالیتهای تجاری و بازرگانی نیز به اندازه کافی بپردازند.
عناوین شغلی مرتبط:
ـ برنامهنویس کاربردی (Application Programmer)
ـ تکنسین یکپارچهسازی (Integration Technician)
ـ طراح سیستم فنی (Technical System Designer)
ـ مهندس نرمافزار (Software Engineer)
ـ متخصص پشتیبانی و حفاظت (Maintenance & Support Specialist)
ـ طراح سیستم (System Developer)
ـ آرشیتکت نرمافزار (SW Architect)
مشخصات افراد واجد شرایط:
این زمینه شغلی بیشتر به مذاق افرادی خوش میآید که از حل کردن مسایل فنی مشتریان نظیر برنامهنویسی رایانه لذت میبرند. علاوه بر این افرادی که توانایی کار با تکنیکهای طراحی نرمافزار دارند نیز در زمره افراد رتبه اول قرار دارند. در بیشتر مواقع شرکتهای استخدام و بکارگیری نرمافزارنویسان از افراد واجد شرایط مدرک تحصیلی مربوطه را نیز طلب میکنند اگر چه برخی دیگر نیز چندان اهمیتی به این موضوع نمیدهند.
شامل 47 صفحه word
دانلود تحقیق نرمافزار نویسی