Teknologi Informasi merupakan teknologi yang berkembang
pesat dalam beberapa tahun terakhir. Teknologi ini meliputi pengolahan data,
termasuk memproses, mengirim, mendapatkan, menyusun, menyimpan, menjaga
memanupulasi data dalam berbagai cara untuk menghasilkan informasi yang akurat
dan tepat waktu. Infrastruktur dari teknologi Informasi adalah komputer,
peralatan pendukung (Peripheral Devices), perangkat lunak, dan peralatan untuk
komunikasijaringan.
Perkembangan Teknologi informasi membawa banyak perubahan
pada system kehidupan, terutama tranformasi dari system manual kesistem yang
terkomputerisasi pada berbagai pelayanan masyarakat. Perkembangan Teknologi
tersebut tentunya berorientasi pada kemudahan pada masyarakat dalam melakukan
berbagai kegiatan.
Dengan teknologi informasi, kemudahan dalam memperoleh,
menciptakan, mengolah, dan mendistribusikan data dapat diperoleh. Sebagai
contoh dalam system perbankan, dengan teknologi informasi dapat mengolah cek
nasabah dan membuat berbagai laporan rekenin Koran nasabah dan transaksi yang
terjadi dengan akurat. Semakin meluasnya penerapan teknologi informasi dalam
berbagai bidang menjadikan profesi sebagai seorang IT menjadi berkembang dengan
tingkat persaingan semakin ketat.
Beberapa profesi IT yang prospektif untuk saat ini :
Programmer/Developer
Profesi
programmer/developer adalah profesi yang paling sering terdengar, karena
profesi ini sudah ada sejak diciptakannya komputer itu sendiri. Profesional
dalam bidang software development dan consulting umumnya pernah meniti karir
sebagai seorang programmer. Keahlian dalam algoritma dan penguasaan terhadap
salah satu atau beberapa bahasa memprograman mutlak diperlukan oleh seorang
programmer. 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.1. Hardware Programmer
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. Bahasa yang digunakan dulunya adalah bahasa mesin tetapi saat ini
cenderung digunakan bahasa assembly dan C.
1.2. System Programmer
Dalam pekerjaannya, system
programmer menggunakan low level dan medium level language. Biasanya mereka
dipekerjakan dalam pengembangan sistem operasi dan modul-modul pendukungnya.
Para pengembangan driver untuk periferal dan programming dalam SIM/UIM card
juga digolongkan ke programmer jenis ini. Perbedaan system programmer dengan hardware
programmer adalah: System programmer bekerja pada tahap pengembangan suatu
platform / sistem operasi atau yang terkait erat dengannya untuk dijadikan
sebagai landasan (platform) bagi pengembangan selanjutnya, sedangkan hardware
programmer bekerja pada tahap implementasi suatu produk agar sesuai dengan
requirement end user. Programmer jenis ini biasa menggunakan bahasa Assembly,
C/C++ dan kemungkinan C# dikemudian hari bila sistem operasi yang menggunakan
managed code (.Net) benar-benar diluncurkan.
1.3. Application Programmer
Bagi yang sering mendengar profesi “Application Developer”, “Software
Developer”, “Web Developer”, “Enterprise Developer” atau “Developer” saja,
profesi-profesi tersebut tergolong sebagai Application programmer. Programmer
jenis inilah yang paling banyak dan populer di dunia kerja terutama di
Indonesia. Hal ini disebabkan karena aplikasi adalah jenis software yang paling
banyak di gunakan.
Mungkin anda pernah berpikir, apa perbedaan istilah “application” dengan
“software”. Singkatnya, dalam dunia IT, yang disebut application sudah pasti
adalah sebuah software, sedangkan software belum tentu sebuah application.
Software yang bukan termasuk aplikasi contohnya adalah operating system, device
driver, protocol dll. Sedangkan yang dikenal sebagai aplikasi adalah software
seperti office suite, image editor, games, sistem informasi retail/swalayan,
sistem informasi pendidikan, sistem informasi hotel/retaurant, sistem informasi
manajeman gudang, sistem informasi logistik, ERP (Enterprise Resource
Planning), SCM (Suply Chain Managemant), CRM (Customer Relationship Managemant)
, sistem bank, sistem airline dan masih banyak lainnya.
Dalam pekerjaannya,
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.
Dalam hal cakupan keahlian yang dibutuhkan, secara kasar jenis aplikasi dapat
dibagi menjadi:
- Desktop
Application (aplikasi yang berwujud Windows Form, WPF, XWindows atau jenis
GUI lainnya yang berjalan di O/S masing-masing)
- Web Application
(aplikasi yang user interface-nya berwujud HTML dan diakses dengan web
browser, biasa dikembangkan dengan framework PHP, ASP.Net, Java, Spring,
Ruby on Rails dll )
- Database
Application (aplikasi yang memerlukan akses ke database menggunakan
teknologi seperti ADO.Net, OLEDB, ODBC, JDBC, ORM, Hibernate dll)
- Distributed
Application (aplikasi terdistribusi/server service seperti Web Service,
J2EE, WCF, COM+ dll)
Walaupun digolongkan dalam
ke empat macam keahlian tersebut, seringkali seorang application programmer
harus memiliki keahlian di beberapa jenis aplikasi untuk dapat menghasilkan
aplikasi yang berguna. Contohnya: Web programmer harus memiliki kemampuan dalam
web application dan database application untuk dapat mengembangkan aplikasi web
yang memerlukan database sebagai penyimpanan data.
Tidak sedikit pula
programmer yang memiliki keahlian di seluruh jenis aplikasi sehingga sering
disebut disebut enterprise application developer.
Programmer/Developer:
Tugas:
1. Membangun/mengembangkan
software terutama pada tahap construction dengan melakukan coding dengan bahasa
pemprograman yang ditentukan
2. Mengimplementasikan
requiremant dan desain proses bisnis ke komputer dengan menggunakan algoritma
/logika dan bahasa pemprograman
3. Melakukan
testing terhadap software bila diperlukan
Keahlian yang Diperlukan:
1. Menguasai
Algoritma dan logika pemprograman (ini penting sekali)
2. Memahami metode, best
practice dan tool/pemodelan pemprograman seperti OOP, design pattern, UML
(kemampuan membaca dan menerapkan)
3. 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)
4. Memahami
RDBMS dan SQL (Structured Query Language)
5. 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
Seiring dengan berjalannya
waktu dan perkembangan zaman, kebutuhan aplikasi komputer semakin kompleks. Ada
kalanya proses bisnis dan permasalahan dalam suatu organisasi cukup kompleks
untuk dijabarkan secara langsung ke sebuah software aplikasi. Biasanya para
manajer/direksi perusahaan memahami secara detail mengenai proses bisnis di
perusahaannya, misalnya dari sejak procurement, purchasing, manufacturing,
warehousing, marketing, accounting dll, tetapi mereka biasanya kurang memahami
mengenai bagaimana implementasinya secara teknis dalam software aplikasi.
Kemudian seorang programmer biasanya terlalu berkutat dengan coding, algoritma
dan hal-hal yang technical sehingga kadang mengalami kesulitan dalam memahami
proses bisnis menyeluruh yang umumnya terjadi di organisasi/perusahaan
tertentu.
Untuk menjembatani celah ini, maka diperlukan seorang “System Analyst”. Seorang
system analyst di satu sisi diharuskan memiliki keahlian dalam menganalisis
proses bisnis (problem domain) untuk dapat menghasilkan sebuah SRS (software
Requiremant Spesification) dan di sisi lain menguasai aspek technical dan
implementasinya dalam software aplikasi (solution domain) untuk dapat
menghasilkan DDD (Detailed Design Document). Seorang system analyst biasanya
berangkat dari seorang programmer yang sudah mahir dan berpengalaman dalam
software development. Kemampuannya dalam menangkap requirement dan proses
bisnis, ketajaman analisis mengenai celah-celah dalam sistem serta kemampuan
merekomendasikan solusi terbaik secara technical sangat diperlukan dalam
mengembangkan software yang berkualitas dan dapat bermanfaat untuk meningkatkan
kinerja proses bisnis suatu organisasi.
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.
catatan:
Untuk mengetahui lebih detail mengenai tahap pengembangan software (SDLC) akan
saya jelaskan di artikel lainnya.
Kita sering mendengar istilah Programmer Analyst atau Analyst Programmer. Kedua
profesi ini terdengar mirip, hanya saja dominasi pekerjaannya yang lebih
ditekankan untuk diletakkan di depan istilah tersebut. Programmer Analyst
adalah seorang programmer yang kadang kala bekerja sebagai system analyst
tetapi dengan porsi yang lebih sedikit daripada sebagai programmer. Begitu pula
sebaliknya untuk Analyst Programmer. Saya tidak bisa memastikan apakah
penggunaan istilah itu benar secara bahasa tetapi profesi/posisi semacam itu
memang ada di dunia kerja dan dicantumkan dalam iklan lowongan pekerjaan.
System Analyst:
Tugas:
1. Membangun/mengembangkan
software terutama pada tahap requirement, design dan sebagian dalam tahap
construction/implementation
2. Membuat dokumen
requiremant dan desain software berdasarkan proses bisnis customer/client
3. Membuat proposal
dan mempresentasikannya di hadapan stake holder / customer / client
4. Membuat
desain database bila aplikasi yang akan di bangun memerlukan database
5. Membangun/mengembangkan
framework/library untuk digunakan dalam pengembangan software oleh programmer
Keahlian yang Diperlukan:
1. Menguasai
hal-hal yang dikuasai programmer
2. Menguasai metode, best
practice pemprograman dan tool/pemodelan pemprograman seperti OOP, design pattern,
UML (kemampuan membangun/mendesain)
3. Menguasai
SQL,ERD dan RDBMS secara lebih mendalam
4. Memahami
tentang arsitektur aplikasi dan teknologi terkini
Latar
Belakang:
Ilmu Komputer, Teknik Informatika, Manajemen Informatika, Matematika pemusatan
studi Komputasi
3. Software Quality Assurance Engineer
Software Quality Assurance (SQA) engineer mungkin agak jarang terdengar di
dunia kerja. Hal ini mungkin karena di Indonesia belum banyak lowongan kerja
yang mencantumkan posisi ini. Bila anda pernah mendengar posisi “Software
Tester”, maka itu termasuk dalam profesi ini. Salah satu tugas SQA engineer
memang melakukan testing terhadap software, tetapi bukan itu saja sebenarnya
pekerjaan profesi ini.
Dalam perusahaan software
development yang cukup mapan dan telah menangani banyak proyek besar, SQA
engineer sangat diperlukan terutama untuk menghasilkan software yang
berkualitas. Tugas SQA engineer diantaranya adalah melakukan “quality
assurance” (QA) dan “quality check” (QC) terhadap software. Pengembangan
software harus sesuai dengan prosedur standar yang telah ditetapkan (QA) dan
harus melalui proses testing (QC) yang sesuai. Di sinilah tugas SQA engineer
untuk memonitor proses software development dan memperbaiki standar yang ada
(improve) bila masi memiliki kelemahan.
Dalam software development, terdapat beberapa resiko yang ditanggung oleh para
stake holders. Seperti terjadinya bug/defect, waktu pengembangan yang semakin
panjang, resource yang semakin bertambah ataupun kendala-kendala lain yang
tidak diperkirakan sebelumnya. Tugas SQA engineer yang persifat preventif
adalah dengan meminimalisir resiko-resiko ini.
Untuk menilai kemapanan sebuah perusahaan, terutama yang bergerak dalam bidang
software development, terdapat beberapa standar seperti CMMI Capability
Maturity Model Integration. Singkatnya, makin tinggi level CMMI sebuah
perusahaan, resiko project yang ditanganinya akan semakin kecil. Dengan begitu
perusahaan dengan level CMMI yang tinggi dianggap sudah mapan dan dipercaya
untuk mengerjakan proyek-proyek besar. Salah satu tugas SQA engineer adalah
mengusahakan agar perusahaannya lulus sertifikasi CMMI di level tertentu.
Software Quality Assurance Engineer:
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:
1. Menguasai
hal-hal yang berhubungan dengan software testing (test plan, test case, testing
automation, functionality testing, regression testing dll)
2. Memahami
tentang perinsip kerja software sesuai dengan platformnya masing-masing
3. Memahami
tentang SDLC dan metodologi software development seperti RUP, Agile, XP, Scrum
dll
4. Memahami
standarisasi seperti CMMI
5. 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. Pada level tertentu, seorang software engineer juga
harus menguasai manajeman proyek software development. Salah satu standar SDLC
yang umum digunakan dalam software engineering adalah SWEBOK (Software
Engineering Body of Knowledge).
Kompleksitas dalam software develompment dari tahun-ketahun semakin kompleks
dan jauh lebih kompleks dibandingkan pada saat awal komputer diciptakan. Untuk
itulah para ahli dalam bidang software engineering menyusun berbagai metodologi
untuk mengoptimalkan software development process agar dapat menghasilkan
produk software yang sesuai dengan tuntutan perkembangan zaman. Keahlian unik
seorang software engineer adalah kemampuannya untuk merekomendasikan dan
menerapkan metodologi software development terbaik dalam sebuah proyek. Metode-metode
software development populer seperti RUP, Agile, Scrum, XP, TDD, BDD memiliki
keunggulan dan kelemahan dan tentunya diperlukan keahlian dan pengalaman dalam
merekomendasikan dan mengimplementasikan metode yang paling cocok dalam sebuah
proyek software development.
Bila programmer dan system analyst ada yang dipekerjakan di
perusahaan-perusahaan yang core business-nya bukan software, software engineer
umumnya dipekerjakan di perusahaan-perusahaan software development. Bila sebuah
perusahaan memerlukan karyawan dengan posisi software engineer, maka
kemungkinan besar perusahaan tersebut memerlukan karyawan yang dapat
ditempatkan secara fleksibel. Misalnya di sebuah proyek, karyawan A dapat
diposisikan sebagai programmer dalam tahap construction, sedangkan dalam proyek
lainnya si A dapat diposisikan sebagai system analyst dalam tahap requirement
dan design. Dapat pula si A diposisikan sebagai software tester, SQA engineer
ataupun di posisi mana saja dalam SDLC.
Kemampuan untuk menguasai seluruh disiplin dalam SDLC tidak membuat software
engineer selalu lebih unggul daripada programmer, system analyst atau SQA
engineer. Pada tingkatan yang sama, misalnya pengalaman kerja 5 tahun, seorang
sistem analyst tentunya lebih ahli dalam menangkap requirement dan bisnis
proses serta membuat proposal. Seorang programmer tentunya lebih menguasai
secara mendalam bahasa pemprograman dan IDE (Integrated Development
Environment) tools serta trik-trik tertentu dalam bahasa pemprograman. Seorang
SQA engineer lebih menguasai software testing dan quality assurance. Diluar hal
itu, semuanya bergantung pada pribadi masing-masing dalam mengembangkan
keahliannya di profesi apapun.
Software Engineer:
Tugas:
1. Melakukan
tugas-tugas programmer, system analyst dan sebagian tugas SQA engineer
2. Merekomendasikan
dan menerapkan metodologi terbaik dalam sebuah proyek software development
Keahlian
yang Diperlukan:
1. Menguasai
hal-hal yang dikuasai programmer, system analyst dan SQA engineer (dalam porsi
yang lebih sedikit)
2.Menguasai SDLC
berdasarkan SWEBOK (requirement, design, implementation/construction, testing,
maintenance)
3. 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)
Profesi Database Administrator (DBA) terkait erat dengan programmer dan system
analyst. Seorang DBA biasanya pernah menjadi seorang programmer tetapi
pekerjaannya lebih sering berkaitan dengan database. Perbedaannya dengan
database application programmer adalah 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.
Salah satu tugas sehari-hari seorang DBA adalah memaintain database baik
produksi, backup maupun development dalam perusahaan yang membutuhkan aplikasi
database berskala besar untuk operasionalnya sehari-hari. Karena itu selain
hal-hal yang berhubungan dengan software, seorang DBA juga perlu memahami
beberapa hal tentang hardware seperti teknologi server, storage devices dll
agar dapat merekomendasikan database yang optimal. Pengetahuan tentang server
clustering, storage array network (SAN), RAID, backup devices dan
optimalisasinya merupakan keahlian unik seorang DBA.
Dengan semakin berkembangnya berbagai teknologi ORM (object relational
mapping), maka di kemudian hari pekerjaan programmer dan DBA akan semakin dapat
dipisahkan. Bila di masa lalu banyak programmer yang merangkap sebagai DBA, di
masa depan bisa jadi programmer semakin jarang menggunakan SQL karena semuanya
sudah ditangani oleh komponen ORM. Di sinilah perbedaan bidang keahlian seorang
DBA menjadi lebih terlihat dibandingkan dengan seorang programmer.
Dahulu saya pernah diamanati oleh atasan untuk mencari orang yang memiliki
keahlian dalam bidang jaringan, server dan database. Hasilnya orang seperti itu
tidak pernah ditemukan, karena itu sama saja menggabungkan kemampuan System
Administrator dengan Database Administrator. Seorang System Administrator berlatar
belakang computer system & networking Seorang DBA sebenarnya berlatar
belakang software development. Dua hal tersebut bagaikan jalan bercabang yang
harus dipilih oleh seorang profesional IT di awal karirnya.
Database Administrator:
Tugas:
1. Merancang
dan membangun database dalam sebuah sistem
2. Merekomendasikan
solusi terbaik dalam implementasi database baik dalam hal software maupun
hardware
3. Memaintain
database agar dapat berjalan dengan baik dan optimal
Keahlian yang Diperlukan:
1. Menguasai
ERD, SQL dan desain database secara mendalam
2. Menguasai
berbagai teknik optimalisasi/tuning, backup dan maintain database
3. Menguasai
secara mendalam salah satu atau lebih RDBMS beserta tools yang ada.
4. Memahami
tentang salah satu platform/bahasa pemprograman untuk mengakses database
5. Menguasai
teknologi server, storage, operating system yang berkaitan dengan implementasi
database
Latar Belakang:
Manajemen Informatika,
Teknik Informatika, Ilmu Komputer
6. Software Architect
Software architect atau kadang disebut juga sebagai Technical Architect
biasanya bekerja di perusahaan software development yang memiliki produk-produk
software yang cukup besar dan kompleks. software architect bertugas untuk
mendesain dan merekomendasikan secara technical mengenai bagaimana dan apa yang
diperlukan dalam mengembangkan produk software tersebut. Profesional di bidang
ini biasanya pernah meniti karir sebagai programmer, software engineer atau
system analyst.
Bila system analyst harus memiliki pengetahuan yang berimbang antara proses
bisnis (problem domain) dan software technology (solution domain), seorang
architect dituntut untuk menguasai software technology secara lebih mendalam.
Kemampuannya dalam hal technical sangat diperlukan dalam proyek-proyek software
development berskala besar dan kompleks, dimana keputusan dalam pemilihan
teknologi yang paling tepat dan penguasaanya sangat menentukan kesuksesan
proyek. Keahlian utama seorang software architect adalah dalam bidang software
design dan software development technology.
Software
Architect:
Tugas:
1. Merekomendasikan
teknologi yang paling cocok untuk mengembangkan produk software
2. Membuat
standar-standar software development yang akan digunakan oleh tim programmer /
developer
3. Membuat
rancangan/desain software dan proses pengembangannya secara keseluruhan
Keahlian yang Diperlukan:
1.Menguasai hal-hal yang dikuasai programmer, system analyst dan software
engineer
2.Menguasai secara mendalam
tentang software development technology
3.Menguasai penulisan
dokumen dengan baik (dalam bahasa Inggris dan Indonesia)
Latar
Belakang:
Teknik Informatika, Ilmu
Komputer, Manajemen Informatika
7. Software
Implementer
Software implementer kadang
desebut sebagai “Implementer” atau “Software Support”. Profesi ini
kedengarannya mirip dengan “System Support” di dunia Computer System &
Networking (lihat di “Profesi di dunia IT Bagian 1″). Memang secara pekerjaan ada kemiripan, tetapi sesuai
penamaannya, dalam hal sesuatu yang disupport tentu sudah terlihat
perbedaannya. Profesi software implementer tidak tergolong dalam bidang
software development melainkan lebih dekat ke bidang software consulting.
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. Umumnya software
support tidak berurusan dengan masalah hardware/jaringan melainkan lebih ke
produk software yang di support. seorang software implementer/support
dibutuhkan dalam implementasi software yang cukup besar dan kompleks seperti
software perbankan, asuransi, airline dll
Software Implementer / Support
Tugas:
1. Melakukan
instalasi/implementasi serta setting produk software di sisi client/customer
2. Memelihara
dan memastikan software yang sudah diimplementasikan berjalan dengan baik
3. Melakuakan
troubleshooting terhadap produk software
4. Memberikan
pelatihan (training) kepada para pengguna software
Keahlian yang Diperlukan:
1. Menguasai
secara mendalam produk software yang akan diimplementasikan
2. Menguasai
teknologi platform / sistem poperasi/ middleware (bila ada) yang dibutuhkan
oleh produk software yang disupport
3. 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.
Bila seorang software architect lebih menguasai solution domain, seorang
technical consultant lebih menguasai problem domain. Seorang technical
consultant mirip seorang system analyst yang lebih sering membuat konsep proses
bisnis dan requirment daripada melakukan design atau coding. Technical
consultant tentunya juga menguasai teknologi software development tetapi pada
level yang lebih umum dan luas (high level) dan lebih condong termasuk dalam
bidang software consulting.
Berbeda dengan software architect yang lebih banyak bekerja secara internal
dalam perusahaan, technical consultant lebih banyak bekerja untuk memberikan
konsultasi kepada client/customer dan lebih banyak berhadapan dengan banyak
orang. Untuk itu dibutuhkan interpersonal dan writing skill yang memadai.
Apabila anda sering mendengar istilah ERP (Enterprise Resource Planning)
consultant, profesi tersebut termasuk dalam technical consultant. seorang ERP
consultant tentunya harus menguasai proses bisnis enterprise dan bagaimana
mengimplementasikannya dalam produk software yang dikuasai /
direkomndasikannya. Pada tulisan mengenai “Profesi di dunia IT Bagian 1″, saya pernah bercerita tentang IT specialist yang
kedengarannya mirip dengan technical consultant dalam hal rekomendasi dan
implementasi IT. Perbedaannya adalah, technical consultant lebih menguasai
proses bisnis dan software sedangkan IT specialist lebih meguasai hardware dan
jaringan serta software secara garis besar
Bila bekerja pada perusahaan yang menjual produk software, technical consultant
biasanya lebih banyak bekerja pada tahap pre-sales. Pada tahap implementasi,
technical consultant bekerja sama dengan software implementer. Setelah software
terimplementasi (after sales), software implementer / support akan lebih banyak
berperan dalam operasionalnya. Technical consultant akan diperlukan lagi bila
ada perubahan proses bisnis, modifikasi atau penambahan modul yang cukup
kompleks dalam software tersebut
Technical
Consultant:
Tugas:
1. Memberikan
konsultansi/rekomendasi mengenai solusi IT terbaik untuk memecahkan masalah
2. Membuat
dokumen seperti proposal, requirement dan desain software secara umum
3. Melakukan
pelatihan (training) kepada para pengguna software
Keahlian yang Diperlukan:
1. Berpengalaman
dan menguasai berbagai macam proses bisnis enterprise atau jenis bisnis terentu
2. Menguasai
teknologi IT secara luas
3. Menguasai
secara mendalam tentang solusi software yang direkomendasikan
4. 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
Mungkin anda agak jarang
mendengar nama profesi seperti ini karena memang istilah ini jarang digunakan.
Ada iklan lowongan pekerjaan yang menggunakan istilah “User Interface
Designer”, tetapi lebih sering digunakan istilah “Web Designer” untuk posisi
tersebut.
Profesi yang terakhir ini memang agak sedikit berbeda dengan profesi-profesi
sebelumnya karena orang-orang sukses di bidang ini umumnya memiliki bakat seni
sekaligus kemampuan technical. 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.
Selain menguasai programming terutama web programming, seorang web designer
juga harus menguasai tools dalam image design dan animasi seperti produk-produk
Adobe/Macromedia, Corel dll. Dalam web development, user interface designer
bekerja bahu-membahu dengan web programmer/developer untuk menghasilkan
aplikasi web yang baik dalam hal tampilan dan fungsionalitas. Tampilan yang
baik, menarik dan user friendly akan membuat aplikasi web tersebut dinilai
lebih bermutu.
Kadang kala user interface designer juga disertakan dalam proyek-proyek non
web, misalnya untuk membuat design icon, splash screen, logo dll. Contohnya,
dewasa ini di platform Microsoft.Net dikenal adanya teknologi WPF (Windows
Presentation Foundation). Dengan menggunakan teknologi ini, desain tampilan
aplikasi desktop dapat dipisahkan dengan coding-nya. Seorang user interface
designer dapat bekerja pada desain tampilan menggunakan XAML, sedangkan
programmer/developer mengerjakan coding-nya di code-behind menggunakan C# atau
VB.Net. Karena itulah profesi ini menurut saya lebih tepat dinamakan user
interface designer.
User Interface Designer:
Tugas:
1. Mendesain
user interface agar menarik dan serasi secara visual dan user friendly
2. Mendesain
image/gambar/animasi yang akan digunakan di tampilan user interface (UI)
software aplikasi
Keahlian
yang Diperlukan:
1. Memiliki
bakat/minat di seni rupa / desain visual
2. Memahami
dasar-dasar pemprograman baik web maupun secara umum
3. Menguasai
scripting untuk user interface seperti seperti HTML, DHTML, CSS, JavaScript,
action script, XAML dll.
4. Menguasai
tools manipulasi image dan animasi
Latar Belakang:
Seni Rupa (desain visual),
Teknik Informatika, Ilmu Komputer, Manajemen Informatika