Sabtu, 29 Juni 2013

MODEL PENGEMBANGAN STANDART PROFESI


A. JENIS-JENIS PROFESI DI BIDANG IT
1. PROGRAMER / DEVELOPER
  Programer adalah profesi inti dan tulang punggung dalam software development karena tidak akan terwujud sebuah software aplikasi tanpa adanya programmer, sedangkan tanpa didukung profesi lainnya, seorang programmer dapat membuat sebuah aplikasi yang berguna walaupun dengan cakupan terbatas.
Berdasarkan jenis programming dan output yang dihasilkan, programmer sendiri ada beberapa macam yaitu:
1. Hardware Programer : Hardware programmer sebenarnya adalah bagian dari hardware engineer. Sesuai namanya, mereka melakukan programming secara low level terhadap hardware, misalnya mikrokontroler, embeded sistem, PLC atau device lainnya. Pada awal diciptakannya komputer, programmer jenis ini lebih dominan karena cara memprogram komputer waktu itu mirip dengan cara memprogram mikrokontroller saat ini.
2. System Programmer : system programmer menggunakan low level dan medium level language. Biasanya mereka dipekerjakan dalam pengembangan sistem operasi dan modul-modul pendukungnya.
3. Application Programmer : application programmer menggunakan high level language seperti Java, C#, Visual Basic (VB), VB.Net, Delphi, PHP dll. Dengan menggunakan high level language, proses pengembangan akan lebih mudah dan lebih cepat. Hal ini sesuai dengan tuntutan kebutuhan customer yang terus berkembang dengan cepat.
 
Programmer/Developer:
Tugas:
a. Membangun/mengembangkan software terutama pada tahap construction dengan melakukan coding dengan bahasa pemprograman yang ditentukan
b. Mengimplementasikan requiremant dan desain proses bisnis ke komputer dengan menggunakan algoritma /logika dan bahasa pemprograman
  c. Melakukan testing terhadap software bila diperlukan
Keahlian yang Diperlukan:
  a. Menguasai Algoritma dan logika pemprograman (ini penting sekali)
b. Memahami metode, best practice dan tool/pemodelan pemprograman seperti OOP, design pattern, UML (kemampuan membaca dan menerapkan)
c. Menguasai salah satu atau beberapa bahasa pemprograman populer seperti C++, VB, PHP, C#, Java, Ruby dll (untuk web developer perlu juga menguasai HTML, DHTML, CSS, JavaScript dan AJAX)
d. Memahami RDBMS dan SQL (Structured Query Language)
e. Menguasai bahasa Inggris (hal ini sangat penting saat ini karena bahasa en-US merupakan bahasa ibu di dunia IT)
Latar Belakang:
Ilmu Komputer, Teknik Informatika, Manajemen Informatika, Matematika pemusatan studi Komputasi

2. SYSTEM ANALYST
  System analyst bekerja pada tahap requirement dan design, walaupun kadangkala juga diperlukan untuk menyeberang dari tahap requirement dan design ke tahap construction/implementaion (coding/programming). Tentunya ini wajar karena biasanya seorang system analyst dahulunya juga seorang programmer. Tetapi seorang yang benar-benar diposisikan sebagai system analyst, tugas utamanya adalah membuat requirement dan desain software.

Tugas:
a. Membangun/mengembangkan software terutama pada tahap requirement, design dan sebagian dalam tahap construction/implementation
b. Membuat dokumen requiremant dan desain software berdasarkan proses bisnis customer/client
c. Membuat proposal dan mempresentasikannya di hadapan stake holder / customer / client
d. Membuat desain database bila aplikasi yang akan di bangun memerlukan database
e. Membangun/mengembangkan framework/library untuk digunakan dalam pengembangan software oleh programmer
Keahlian yang Diperlukan:
a. Menguasai hal-hal yang dikuasai programmer
b. Menguasai metode, best practice pemprograman dan tool/pemodelan pemprograman seperti OOP, design pattern, UML (kemampuan membangun/mendesain)
c. Menguasai SQL, ERD dan RDBMS secara lebih mendalam
d. Memahami tentang arsitektur aplikasi dan teknologi terkini
Latar Belakang:
Ilmu Komputer, Teknik Informatika, Manajemen Informatika, Matematika pemusatan studi Komputasi

3. Software Quality Assurance Engineer
SQA engineer adalah orang melakukan “quality assurance” (QA) dan “quality check” (QC) terhadap software.
Tugas:
1. Memonitor jalannya proyek software development apakah sudah sesuai dengan standar dan prosedur yang ada
2.  Merancang dan membuat test case / skenario software testing
3.  Melakukan testing sesuai dengan test case / scenario
4.  Merumuskan dan merancang peningkatkan efisiensi dan efektifitas standar proses yang digunakan
 
Keahlian yang Diperlukan:
a. Menguasai hal-hal yang berhubungan dengan software testing (test plan, test case, testing automation, functionality testing, regression testing dll)
b. Memahami tentang perinsip kerja software sesuai dengan platformnya masing-masing
c. Memahami tentang SDLC dan metodologi software development seperti RUP, Agile, XP, Scrum dll
  d. Memahami standarisasi seperti CMMI
e. Menguasai penulisan dokumen dan komunikasi verbal dengan baik (dalam bahasa Inggris dan Indonesia)
Latar Belakang:
Ilmu Komputer, Teknik Informatika, Manajemen Informatika

4. Software Engineer
  Profesi software engineer sebenarnya ada kemiripannya dengan profesi programmer, system analyst ataupun SQA engineer. Yang membedakannya adalah software engineer memerlukan keahlian lebih mendalam dalam hal SDLC (Software Development Life Cycle) yaitu seluruh proses yang harus dijalani dalam pengembangan software.
Tugas:
a. Melakukan tugas-tugas programmer, system analyst dan sebagian tugas SQA engineer
b. Merekomendasikan dan menerapkan metodologi terbaik dalam sebuah proyek software development

Keahlian yang Diperlukan:
a. Menguasai hal-hal yang dikuasai programmer, system analyst dan SQA engineer (dalam porsi yang lebih sedikit)
b. Menguasai SDLC berdasarkan SWEBOK (requirement, design, implementation/construction, testing, maintenance)
c. Menguasai metodologi software development seperti RUP, Agile, XP, Scrum dll
Latar Belakang:
Ilmu Komputer, Teknik Informatika, Manajemen
Informatika, Matematika pemusatan studi Komputasi

5. Database Administrator (DBA)
  Seorang DBA memiliki keahlian lebih mendalam dalam hal desain, optimasi dan manajemen RDBMS (Relational Database Managemant System) tertentu seperti Oracle, SQL Server, MySQL dll. Tentunya penguasaan terhadap SQL (Structured Query Language) mutlak diperlukan. DBA harus memiliki keahlian menterjemahkan requirement proses bisnis ke obyek-obyek dalam database seperti tabel, query\view dan stored procedure disamping keahliannya dalam optimasi database seperti tuning, indexing, clustering, backup data, maintain high availability dan sebagainya.

Tugas:
a. Merancang dan membangun database dalam sebuah system
b. Merekomendasikan solusi terbaik dalam implementasi database baik dalam hal software maupun hardware
c. Memaintain database agar dapat berjalan dengan baik dan optimal
Keahlian yang Diperlukan:
a. Menguasai ERD, SQL dan desain database secara mendalam
b. Menguasai berbagai teknik optimalisasi/tuning, backup dan maintain database
c. Menguasai secara mendalam salah satu atau lebih RDBMS beserta tools yang ada.
d. Memahami tentang salah satu platform/bahasa pemprograman untuk mengakses database
d. Menguasai teknologi server, storage, operating system yang berkaitan dengan implementasi database
Latar Belakang:
Manajemen Informatika, Teknik Informatika, Ilmu Komputer

 
6. Software Architect
  software architect bertugas untuk mendesain dan merekomendasikan secara technical mengenai bagaimana dan apa yang diperlukan dalam mengembangkan produk software tersebut.
Tugas:
a. Merekomendasikan teknologi yang paling cocok untuk mengembangkan produk software
b. Membuat standar-standar software development yang akan digunakan oleh tim programmer / developer
c. Membuat rancangan/desain software dan proses pengembangannya secara keseluruhan
 
Keahlian yang Diperlukan:
a. Menguasai hal-hal yang dikuasai programmer, system analyst dan software engineer
b. Menguasai secara mendalam tentang software development technology
c. Menguasai penulisan dokumen dengan baik (dalam bahasa Inggris dan Indonesia)
Latar Belakang:
Teknik Informatika, Ilmu Komputer, Manajemen
Informatika

7. Software Implementer
  Seorang software implementer/support bertugas men-support produk software yang akan diimplementasikan di sisi client/customer baik instalasi setting konfigurasi, modifikasi dan pelatihan untuk user-usernya.
Tugas:
a. Melakukan instalasi/implementasi serta setting produk software di sisi client/customer
b. Memelihara dan memastikan software yang sudah diimplementasikan berjalan dengan baik
c. Melakuakan troubleshooting terhadap produk software
d. Memberikan pelatihan (training) kepada para pengguna software
 
Keahlian yang Diperlukan:
a. Menguasai secara mendalam produk software yang akan diimplementasikan
b. Menguasai teknologi platform / sistem poperasi/ middleware (bila ada) yang dibutuhkan oleh produk software yang disupport
c. Memahami insalasi, setting & troubleshooting produk software yang diimplementasikan
Latar Belakang:
Manajemen Informatika, Teknik Informatika, Ilmu
Komputer, Teknik Komputer, Teknik Elektro
(Pemusatan Studi Komputer)

 
8. Technical Consultant
  Technical Consultan atau kadang disebut sebagai “Consultant” saja sesuai namanya bekerja sebagai konsultan IT. Tugas utama seorang konsultan adalah merekomendasika solusi teknologi IT terbaik untuk memecahkan masalah yang ada.
Tugas:
a. Memberikan konsultansi/rekomendasi mengenai solusi IT terbaik untuk memecahkan masalah
b. Membuat dokumen seperti proposal, requirement dan desain software secara umum
c. Melakukan pelatihan (training) kepada para pengguna software
 
Keahlian yang Diperlukan:
a. Berpengalaman dan menguasai berbagai macam proses bisnis enterprise atau jenis bisnis terentu
b. Menguasai teknologi IT secara luas
c. Menguasai secara mendalam tentang solusi software yang direkomendasikan
d. Menguasai penulisan dokumen dan komunikasi verbal dengan baik (dalam bahasa Inggris dan Indonesia)
Latar Belakang:
Manajemen Informatika, Teknik Informatika, Ilmu
Komputer, Teknik Komputer, Teknik Elektro
(Pemusatan Studi Komputer)

 
9. User Interface Designer
  Seorang user interface designer harus dapat membuat desain web yang manis, serasi, user friendly tetapi tetap efisien karena Internet memiliki bandwidth yang terbatas. Karena profesional di bidang ini lebih sering dipekerjakan dalam web development, maka profesi ini lebih sering disebut sebagai web designer.
Tugas:
a. Mendesain user interface agar menarik dan serasi secara visual dan user friendly
b. Mendesain image/gambar/animasi yang akan digunakan di tampilan user interface (UI) software aplikasi
 
Keahlian yang Diperlukan:
a. Memiliki bakat/minat di seni rupa / desain visual
b. Memahami dasar-dasar pemprograman baik web maupun secara umum
c. Menguasai scripting untuk user interface seperti seperti HTML, DHTML, CSS, JavaScript, action script, XAML dll.
d. Menguasai tools manipulasi image dan animasi



Tidak ada komentar:

Posting Komentar