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
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