Macam- Macam Profesi di Bidang Teknologi Informasi 
Luasnya dunia teknologi informasi, juga tak
 lepas dari peran berjuta-juta orang dengan berbagai profesi yang 
digeluti dalam bidang IT. Profesi dalam bidang IT sangatlah beragam, 
mulai dari tester, web designer, system analyst, dan masih banyak lagi.
Berikut ini merupakan daftar beberapa profesi di bidang IT beserta deskripsi sederhananya. 
1. 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.
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:
- Membangun/mengembangkan software 
terutama pada tahap construction dengan melakukan coding dengan bahasa 
pemprograman yang ditentukan
 
- Mengimplementasikan requiremant dan 
desain proses bisnis ke komputer dengan menggunakan algoritma /logika 
dan bahasa pemprograman
 
- Melakukan testing terhadap software bila diperlukan
 
Keahlian yang Diperlukan:
-  Menguasai Algoritma dan logika pemprograman (ini penting sekali)
 
- Memahami metode, best practice dan tool/pemodelan pemprograman 
seperti OOP, design pattern, UML (kemampuan membaca dan menerapkan)
 
- 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)
 
- Memahami RDBMS dan SQL (Structured Query Language)
 
- 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:
- Membangun/mengembangkan software terutama pada tahap requirement, design dan sebagian dalam tahap construction/implementation
 
- Membuat dokumen requiremant dan desain software berdasarkan proses bisnis customer/client
 
- Membuat proposal dan mempresentasikannya di hadapan stake holder / customer / client
 
- Membuat desain database bila aplikasi yang akan di bangun memerlukan database
 
- Membangun/mengembangkan framework/library untuk digunakan dalam pengembangan software oleh programmer
 
Keahlian yang Diperlukan:
- Menguasai hal-hal yang dikuasai programmer
 
- Menguasai metode, best practice 
pemprograman dan tool/pemodelan pemprograman seperti OOP, design 
pattern, UML (kemampuan membangun/mendesain)
 
- Menguasai SQL, ERD dan RDBMS secara lebih mendalam
 
- 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:
- Menguasai hal-hal yang berhubungan 
dengan software testing (test plan, test case, testing automation, 
functionality testing, regression testing dll)
 
- Memahami tentang perinsip kerja software sesuai dengan platformnya masing-masing
 
- Memahami tentang SDLC dan metodologi software development seperti RUP, Agile, XP, Scrum dll
 
- Memahami standarisasi seperti CMMI
 
- 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:
- Melakukan tugas-tugas programmer, system analyst dan sebagian tugas SQA engineer
 
- Merekomendasikan dan menerapkan metodologi terbaik dalam sebuah proyek software development
 
Keahlian yang Diperlukan:
- Menguasai hal-hal yang dikuasai programmer, system analyst dan SQA engineer (dalam porsi yang lebih sedikit)
 
- Menguasai SDLC berdasarkan SWEBOK (requirement, design, implementation/construction, testing, maintenance)
 
- 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 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:
- Merancang dan membangun database dalam sebuah system
 
- Merekomendasikan solusi terbaik dalam implementasi database baik dalam hal software maupun hardware
 
- Memaintain database agar dapat berjalan dengan baik dan optimal
 
Keahlian yang Diperlukan:
- Menguasai ERD, SQL dan desain database secara mendalam
 
- Menguasai berbagai teknik optimalisasi/tuning, backup dan maintain database
 
- Menguasai secara mendalam salah satu atau lebih RDBMS beserta tools yang ada.
 
- Memahami tentang salah satu platform/bahasa pemprograman untuk mengakses database
 
- 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:
- Merekomendasikan teknologi yang paling cocok untuk mengembangkan produk software
 
- Membuat standar-standar software development yang akan digunakan oleh tim programmer / developer
 
- Membuat rancangan/desain software dan proses pengembangannya secara keseluruhan
 
Keahlian yang Diperlukan:
- Menguasai hal-hal yang dikuasai programmer, system analyst dan software engineer
 
- Menguasai secara mendalam tentang software development technology
 
- 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:
- Melakukan instalasi/implementasi serta setting produk software di sisi client/customer
 
- Memelihara dan memastikan software yang sudah diimplementasikan berjalan dengan baik
 
- Melakuakan troubleshooting terhadap produk software
 
- Memberikan pelatihan (training) kepada para pengguna software
 
Keahlian yang Diperlukan:
- Menguasai secara mendalam produk software yang akan diimplementasikan
 
- Menguasai teknologi platform / sistem poperasi/ middleware (bila ada) yang dibutuhkan oleh produk software yang disupport
 
- 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″, IT specialist 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:
- Memberikan konsultansi/rekomendasi mengenai solusi IT terbaik untuk memecahkan masalah
 
- Membuat dokumen seperti proposal, requirement dan desain software secara umum
 
- Melakukan pelatihan (training) kepada para pengguna software
 
Keahlian yang Diperlukan:
- Berpengalaman dan menguasai berbagai macam proses bisnis enterprise atau jenis bisnis terentu
 
- Menguasai teknologi IT secara luas
 
- Menguasai secara mendalam tentang solusi software yang direkomendasikan
 
- 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:
- Mendesain user interface agar menarik dan serasi secara visual dan user friendly
 
- Mendesain image/gambar/animasi yang akan digunakan di tampilan user interface (UI) software aplikasi
 
Keahlian yang Diperlukan:
- Memiliki bakat/minat di seni rupa / desain visual
 
- Memahami dasar-dasar pemprograman baik web maupun secara umum
 
- Menguasai scripting untuk user interface seperti seperti HTML, DHTML, CSS, JavaScript, action script, XAML dll.
 
- Menguasai tools manipulasi image dan animasi
 
Secara umum, pekerjaan di bidang teknologi informasi setidaknya terbagi dalam 3 kelompok sesuai bidangnya.
a.
 Kelompok pertama, adalah mereka yang bergelut di dunia perangkat lunak 
(software), baik mereka yang merancang system operasi,database maupun 
system aplikasi.
Pada lingkungan kelompok ini, terdapat pekerjaan-pekerjaan seperti :
*Sistem
 analis, merupakan orang yang abertugas menganalisa system yang akan 
diimplementasikan, mulai dari menganalisa system yang ada, kelebihan dan
 kekurangannya, sampai studi kelayakan dan desain system yang akan 
dikembangkan. 
* Programer, merupakan orang yang bertugas 
mengimplementasikan rancangan system analis, yaitu membuat program ( 
baik aplikasi maupun system operasi ) sesuai system yang dianalisa 
sebelumnya. 
* Web designer, merupakan orang yang melakukan kegiatan 
perencanaan, termasuk studi kelayakan, analisis dan desain terhadap 
suatu proyek pembuatan aplikasi berbasis web. 
* Web programmer, 
merupakan orang yang bertugas mengimplementasikan rancangan web 
designer, yaitu membuat program berbasis web sesuai desain yang telah 
dirancang sebelumnya. 
b. Kelompok kedua, adalah mereka yang bergelut di bidang perangkat keras (hardware).
Pada lingkungan kelompok ini, terdapat pekerjaan-pekerjaan seperti :
*
 Technical engineer, sering juga disebut teknisi, yaitu orang yang 
berkecimpung dalam bidang teknik, baik mengenai pemeliharaan maupun 
perbaikan perangkat system computer. 
* Networking engineer, adalah 
orang yang berkecimpung dalam bidang teknis jaringan computer dari 
maintenance sampai pada troubleshooting-nya. 
c. Kelompok ketiga, adalah mereka yang berkecimpung dalam operasional system informasi.
Pada lingkungan kelompok ini, terdapat pekerjaan-pekerjaan seperti :
*EDP
 Operator, adalah orang yang bertugas mengoperasikan program-program 
yang berhubungan dengan electronic data processing dalam lingkungan 
sebuah perusahaan atau organisasi lainnya. 
*System Administrator, 
merupakan orang yang bertugas melakukan administrasi terhadap system, 
memiliki kewenangan menggunakan hak akses terhadap system, serta hal-hal
 lain yang berhubungan dengan pengaturan operasional sebuah system.
Jenis-jenis Profesi di Bidang IT beserta Job Desc-nya
1. Analyst Programmer
Seorang
 analis bertugas untuk merancang, membuat 'code' program, dan menguji 
program untuk mendukung perencanaan pengembangan sebuah sistem atau 
aplikasi.
2. Web Designer
Mengembangkan rancangan inovatif aplikasi web-based beserta isi dari aplikasi tersebut.
3. Systems Programmer/Softaware Engineer
Seseorang
 dengan posisi ini, harus terbiasa dengan pengembangan software 'life 
cyclces' dan memiliki keterampilan dalam mendesain suatu aplikasi, 
bahkan sistem. Tugasnya adalah menyiapkan program sesuai dengan 
spsifikasi, melakukan dokumentasi program, dan menguji program yang 
telah dibuat.
4. IT Executive
Seorang eksekutif IT bertanggung
 jawab untuk memelihara kecukupan, standard & kesiapan 
systems/infrastructure untuk memastikan pengoperasiannya dapat efektif 
& efisien. Selain itu
harus juga menerapkan prosedur IT & proses untuk memastikan data terproteksi secara maksimum.
5. IT Administrator
Tugasnya
 adalah menyediakan implementasi & administrasi yang meliputi Local 
Area Network (LAN), Wide Area Network (WAN) dan koneksi dial-up, 
firewall, Proxy serta pendukung teknisnya.
6. Network Administrator
Mengurusi & mengoperasi jaringan LAN maupun WAN, manajemen sistem serta dukungan terhadap perangkat kerasnya.
7. Database Administrator
Bertanggung jawab Untuk administrasi & pemeliharaan teknis yang menyangkut perusahaan dalam pembagian sistem database.
8. Systems Engineer
- Menyediakan rancangan sistem & konsultasi terhadap pelanggan.
- Memberikan respon terhadap permintaan technical queries serta dukungannya.
- Termasuk melakukan pelatihan teknis ke pelanggan & IT administrator.
9. Network Support Engineer
- Melaksanakan komunikasi & analisa sistem networking
- Mendisain perencanaan untuk integrasi. Mendukung jaringan pada internet, intranet & extranet.
-
 Menganalisa & ikut ambil bagian dalam pengembangan standardisasi 
keamanan & implementasi mengendalikan untuk keamanan LAN & WAN
10. IT Manager
- Mengatur kelancaran dari sistem IT.
- Troubleshooting & membantu organisasi dalam menangani permasalahan IT.
- Sesuai dengan pengembangan IT yang baru dalam bidang yang diperlukan.
Perbandingan dengan negara lain
Singapore
Pada model Singapore juga dilakukan pembagian berdasarkan tingkatan senioritas. Misal pada System development dibagi menjadi:
1. Programmer
2. Analyst/Programmer
3. Senior Analyst/Programmer
4. Principal Analyst/Programmer
5. System Analyst
6. Senior System Analyst
7. Principal System Analyst
Inggris
Model British Computer Society (BCS)
Untuk model BCS pekerjaan diklasifikasikan dalam tingkatan sebagai berikut : 
Level 0 . Unskilled Entry
Level 1 . Standard Entry
Level 2 . Initially Trainded Practitioner
Level 3 . Trained Practitioner
Level 4 . Fully Skilled Practitioner
Level 5 . Experienced Practitioner/Manager
Level 6 . Specialist Practitioner/Manager
Level 7 . Senior Specialist/Manager
Level 8 . Principal Specialist/Experienced Manager
Level 9 . Senior Manager/Director
Sumber :  http://ridwanmardani.blogspot.com/2013/07/jenis-jenis-profesi-di-bidang-it.html 
                http://raramaniss.blogspot.com/2011/05/jenis-jenis-profesi-it-di-indonesia-dan.html