Profesi yang berkaitan dengan SI & TI : PROGRAMMER/DEVELOPER
husnulchotimah
October 26, 2016
0 Comments
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:
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
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.
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:
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:
- 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
