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.
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)
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.
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
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)
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:
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
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.
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:
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
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)
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
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:
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)
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:
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
No comments:
Post a Comment