Profesi IT dibagi menjadi tiga bagian besar yaitu :
- Computer Engineering (rekayasa komputer)
- Software Development and Consulting (pengembangan dan konsultasi piranti lunak)
- Computer System and Networking (sistem dan jaringan computer)
Computer Engineering
Computer engineering berkaitan dengan desain, pengembangan dan testing hardware komputer / peripheral dari mulai teknologi semikonduktor, mikroprosesor, circuit, interfacing hingga pengembangan embedded software dalam sebuah mikrokontroler.
Hardware Engineer
Job description :
· Mendesain dan membangun interface antara komputer dengan peralatan-peralatan lain.
· Membangun software yang mengontrol interface (biasanya menggunakan bahasa C)
· Mendesain dan membangun solusi menggunakan embedded sistem / mikrokontroler
· Membangun software untuk menjalankan mikrokontroler (biasanya menggunakan bahasa assembly)
· Testing hardware.
Keahlian yang diperlukan:
- Memahami rangkaian elektronika dan rancang bangun rangkaian digital serta komponennya
- Meguasai arsitektur komputer dan cara kerja mikroprosesor / mikrokontroler
- Meguasai rancang bangun computer interfacing
- Memahami algoritma dan pemprograman
- Menguasai bahasa pemprograman Assembly dan atau C/C++
- Menguasai prinsip kerja komunikasi data baik secara parallel, serial (COM/USB), Wireles serta teknik pemprogramannya.
Latar Belakang:
Teknik komputer, Teknik elektro (pemusatan studi komputer)
Software Development and Consulting.
Programmer/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:
· 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.
· System Programmer
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.
· 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.
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
Job description :
- 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
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 yang benar-benar diposisikan sebagai system analyst, tugas utamanya adalah membuat requirement dan desain software.
System Analyst
Job description :
- 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
Computer System and Networking
Bidang ini berkaitan dengan desain, implementasi dan pemeliharaan infrastruktur jaringan computer baik LAN maupun WAN, teknologi server hingga optimasi serta administrasi sistem komputer. Berikut ini adalah profesi-profesi yang berkaitan:
System Support / Technical Support
Dari namanya: “system support / technical support”, pekerjaan sehari-harinya adalah men-support / maintain / memelihara sistem komputer berupa hardware atau software yang sudah berjalan. Para profesional di bidang ini diperlukan untuk memberikan dukungan teknis terhadap produk berupa software atau hardware yang telah atau akan diimplementasikan.
System Support / Technical Support
Job description :
- Memelihara dan memastikan sistem yang ada berjalan dengan baik
- Instalasi sistem baik hardware maupun software
- Troubleshooting dan perbaikan system
- Memberikan pelatihan ke para pengguna sistem
Keahlian yang Diperlukan:
- Menguasai instalasi & setting komputer
- Memahami konsep dasar networking dan troubleshooting-nya
- Memahami insalasi & troubleshooting hardware / software tertentu (tergantung apa yang di-support)
Latar Belakang:
Teknik komputer, Teknik elektro (pemusatan studi komputer)
Network Engineer
Network engineer biasanya dipekerjakan di provider-provider jaringan atau perusahaan multi nasional dan atau yang berskala enterprise. Perusahaan-perusahaan tersebut membutuhkan interkoneksi data antar cabang di kota-kota yang jauh atau negara lain. Untuk itu diperlukan interkoneksi jaringan melalui WAN (Wide Area Network) dan konfigurasi LAN yang sesuai di kantor pusat dan kantor cabang.
Profesional di bidang ini umumnya memegang sertifikat CCNA, CCNP ataupun CCIE. Dengan memegang sertifikat ini, skill mereka dapat diakui secara internasional dan lebih memudahkan dalam memperoleh pekerjaan di negeri seberang.
Network Engineer
Job description :
- Mendesain dan membangun infrastruktur jaringan baik LAN maupun WAN
- Memberikan solusi terbaik dalam hal infrastruktur jaringan baik dalam hal peralatan yang digunakan, efisiensi, reliability, security dan aspek-aspek lain yang terkait
- Memastikan suatu infrastruktur jaringan computer dapat berfungsi dengan baik.
Keahlian yang Diperlukan:
- Menguasai konsep dasar mengenai jaringan seperti topologi, protokol-protokol komunikasi, standar-standar networking, media komunikasi data dan keamanan jaringan baik LAN maupun WAN
- Menguasai konsep dan desain infrastruktur jaringan dan troubleshooting-nya
- Menguasai desain, instalasi dan terminasi media jaringan seperti kabel tembaga/UTP, fiber optic, Wireless communication dll
- Menguasai setting, pemanfaatan dan troubleshooting perangkat jaringan seperti router, switch, firewall, proxy, modem dll
- Memahami instalasi dan setting PC dan server yang bisa digunakan dalam infrastruktur jaringan seperti domain controller, proxy, filrewall, mailserver dll
- Menguasai secara teknis dan praktis mengenai keamanan jaringan / sistem
Latar Belakang:
Teknik komputer, Teknik elektro (pemusatan studi komputer atau telekomunikasi)
System Engineer / Administrator
Profesi System Engineer / System Administrator (biasa disingkat Sys Admin) adalah profesi yang mirip dengan network engineer tetapi dituntut memiliki pengetahuan lebih detail dalam hal desain dan administrasi server-server yang ada di suatu jaringan internal.
Seseorang dengan posisi ini akan diserahi tanggung jawab untuk memastikan system (hardware, software dan jaringan komputer) di suatu perusahaan berjalan desuai harapan dan memegang kunci password utama jaringan internal perusahaan (Administrator). Serifikasi untuk profesi ini contohnya adalah MCSE untuk platform Microsoft Windows.
System Engineer / Administrator
Job description :
- Mendesain dan membangun sistem dan jaringan komputer terutama dalam hal teknologi server dan konektifitasnya baik LAN maupun WAN
- Memberikan solusi terbaik dalam hal pemilihan dan teknologi server dan software yang digunakan dalam hal efisiensi, reliability, security dan aspek-aspek lain yang terkait
- Memastikan/memaintain suatu jaringan internal (baik LAN maupun WAN) dapat berfungsi dengan baik.
Keahlian yang Diperlukan:
- Memahami konsep dan desain infrastruktur jaringan dan troubleshooting-nya
- Mamahami setting dan instalasi tentang perangkat aktif jaringan seperti router, switch, hub, firewall dll.
- Menguasai secara mendalam salah satu atau beberapa platform / network operating system untuk membangun suatu domain yang aman dan terintegrasi, contohnya seperti “Active Directory” untuk platform windows.
- Menguasai secara mendalam tentang instalasi, setting dan troubleshooting PC dan server yang bisa digunakan dalam infrastruktur jaringan seperti domain controller, proxy, filrewall, mailserver, DNS dll
- Menguasai secara teknis dan praktis mengenai keamanan jaringan / system
Latar Belakang:
Teknik komputer, Teknik elektro (pemusatan studi komputer atau telekomunikasi)
IT Specialist
Profesi IT specialist atau IT engineer mungkin merupakan profesi yang agak jarang terdengar. Tetapi tanpa disadari, beberapa professional yang merasa bekerja sebagai system support, network engineer ataupun system administrator dapat digolongkan sebagai IT specialist.
IT Specialist umumnya dipekerjakan di perusahaan-perusahaan yang core bisnisnya bukan IT. Tugas utamanya adalah merekomendasikan solusi IT terbaik untuk meningkatkan efisiensi dan performa bisnis perusahaan baik dalam hal hardware, jaringan maupun software. Kalau anda merasa pekerjaan ini mirip konsultan IT, mamang benar, IT specialist bekerja sebagai konsultan IT tetapi lebih cenderung kearah hardware dan jaringan, walaupun pengetahuan tentang software aplikasi server seperti operating system, mail server, proxy, anti virus server, firewall, enterprise portal dll sangat diperlukan dalam mendukung tugas-tugasnya.
IT Specialist
Job description :
- Mendesain dan membangun sistem komputerisasi terutama dalam hal implementasi software, hardware dan jaringan.
- Memberikan solusi terbaik dalam hal pemilihan dan implementasi teknologi baik hardware maupun software.
Keahlian yang Diperlukan:
- Memahami konsep dan desain infrastruktur jaringan dan troubleshooting-nya
- Menguasai network operating system dan aplikasi-aplikasi yang dapat diimplementasikan dalam organisasi.
- Memiliki pengetahuan yang luas mengenai software, hardware dan jaringan komputer.
- Menguasai secara teknis dan praktis mengenai keamanan jaringan / system
Latar Belakang:
Teknik komputer, Teknik elektro (pemusatan studi komputer atau telekomunikasi), Manajemen Informatika