Pada era teknologi yang semakin maju sekarang ini, kita menjumpai pemanfaatan TI yang tersebar hampir ke setiap bidang di dunia kerja. Lalu, apakah orang-orang ahli TI yang tersebar di berbagai bidang tersebut memiliki profesi yang sama ? Tentu dalam bidang TI, ada pembagian profesi.
Profesi dalam bidang TI dapat dibagi menjadi tiga bagian besar, yaitu :
1. Computer Engineering (rekayasa komputer)
2. Computer System & Networking (sistem dan jaringan komputer)
3. Software Development & Consulting (pengembangan & konsultasi piranti lunak)
2. Computer System & Networking (sistem dan jaringan komputer)
3. Software Development & Consulting (pengembangan & konsultasi piranti lunak)
1. Bidang Computer Engineering
Bidang ini tujuan akhirnya adalah menghasilkan produk, yaitu sebuah komputer atau sebuah peripheral. Computer engineering berkaitan dengan desain, pengembangan dan testing hardware komputer dari mulai teknologi semikonduktor, mikroprosesor, circuit, interfacing hingga pengembangan embedded software dalam sebuah mikrokontroler.
1.1. Hardware Engineer
Sebagian besar profesi yang berkaitan dengan computer engineering tidak banyak terdapat di Indonesia karena tenaga ahli di bidang ini banyak dipekerjakan di industri mikroprosesor dan integrated circuit yang melibatkan proses fabrikasi mikroelektronika dan desain arsitektur mikroprosesor yang saat ini belum ada di Indonesia. Kalaupun ada hanya pada proses assembling/perakitan dan bukan desain serta pengembangannya.
Profesi yang ada di negeri kita umumnya berkaitan dengan rancang bangun interfacing dan mikrokontroler. Mereka yang mengambil jurusan teknik komputer selama kuliah dapat menekuni bidang ini. Profesi ini biasa disebut “hardware engineer”.
Tugas :
1. Mendesain dan membangun interface antara komputer dengan peralatan-peralatan lain.
2. Membangun software yang mengontrol interface (biasanya menggunakan bahasa C).
3. Mendesain dan membangun solusi menggunakan embedded sistem/mikrokontroler.
4. Membangun software untuk menjalankan mikrokontroler (biasanya menggunakan bahasa assembly).
5. Testing hardware.
Keahlian yang diperlukan :
1. Memahami rangkaian elektronika dan rancang bangun rangkaian digital serta komponennya.
2. Meguasai arsitektur komputer dan cara kerja mikroprosesor / mikrokontroler.
3. Meguasai rancang bangun computer interfacing.
4. Memahami algoritma dan pemprograman.
5. Menguasai bahasa pemprograman Assembly dan atau C/C++.
6. Menguasai prinsip kerja komunikasi data baik secara parallel, serial (COM/USB), Wireles serta teknik pemprogramannya.
Latar Belakang :
Teknik komputer, Teknik elektro (pemusatan studi komputer).
2. Bidang Computer System & Networking
Bidang ini berkaitan dengan desain, implementasi dan pemeliharaan infrastruktur jaringan komputer baik LAN maupun WAN, teknologi server hingga optimasi serta administrasi sistem komputer. Berikut ini adalah profesi-profesi yang berkaitan :
2.1. System Support/Technical Support
Para profesional di bidang ini diperlukan untuk memberikan dukungan teknis terhadap produk berupa software atau hardware yang telah atau akan diimplementasikan. Selain itu, seorang system support/technical support harus dapat melakukan troubleshooting bila terjadi gangguan terhadap system. Kalau pembaca pernah mendengar profesi “helpdesk engineer”, profesi tersebut dapat digolongkan sebagai system support/technical support.
Salah satu hal yang perlu diperhatikan adalah, kadang kala seorang system support harus bekerja secara shift pagi dan malam untuk memelihara sistem yang harus berjalan 24 jam sehari dan 7 hari seminggu.
Tugas :
1. Memelihara dan memastikan sistem yang ada berjalan dengan baik.
2. Instalasi sistem baik hardware maupun software.
3. Troubleshooting dan perbaikan system.
4. Memberikan pelatihan ke para pengguna system.
Keahlian yang diperlukan :
1. Menguasai instalasi & setting komputer.
2. Memahami konsep dasar networking dan troubleshooting-nya.
3. Memahami insalasi & troubleshooting hardware/software tertentu (tergantung apa yang di-support).
Latar Belakang :
Teknik komputer, teknik elektro (pemusatan studi komputer).
2.2. Network Engineer
Profesi network engineer adalah salah satu profesi yang cukup diminati karena salah satu profesi IT dengan panghasilan yang lumayan. Jenjang karir profesi ini cukup jelas dan umumnya IT management dijabat oleh orang-orang yang berlatar belakang profesi ini (berdasarkan pengamatan saya..). 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 biasanya dipekerjakan di perusahaan 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.
Tugas :
1. Mendesain dan membangun infrastruktur jaringan baik LAN maupun WAN
2. Memberikan solusi terbaik dalam hal infrastruktur jaringan baik dalam hal peralatan yang digunakan, efisiensi, reliability, security dan aspek-aspek lain yang terkait
3. Memastikan suatu infrastruktur jaringan computer dapat berfungsi dengan baik.
Keahlian yang diperlukan :
1. Menguasai konsep dasar mengenai jaringan seperti topologi, protokol-protokol komunikasi, standar-standar networking, media komunikasi data dan keamanan jaringan baik LAN maupun WAN.
2. Menguasai konsep dan desain infrastruktur jaringan dan troubleshooting-nya.
3. Menguasai desain, instalasi dan terminasi media jaringan seperti kabel tembaga/UTP, fiber optic, wireless communication dll.
4. Menguasai setting, pemanfaatan dan troubleshooting perangkat jaringan seperti router, switch, firewall, proxy, modem dll.
5. Memahami instalasi dan setting PC dan server yang bisa digunakan dalam infrastruktur jaringan seperti domain controller, proxy, filrewall, mailserver dll.
6. Menguasai secara teknis dan praktis mengenai keamanan jaringan/system.
Latar Belakang :
Teknik komputer, teknik elektro (pemusatan studi komputer atau telekomunikasi)
2.3. System Engineer/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 sesuai harapan dan memegang kunci pasword utama jaringan internal perusahaan (administrator). Serifikasi untuk profesi ini contohnya adalah MCSE untuk platform Microsoft Windows.
Tugas :
1. Mendesain dan membangun sistem dan jaringan komputer terutama dalam hal teknologi server dan konektifitasnya baik LAN maupun WAN.
2. Memberikan solusi terbaik dalam hal pemilihan dan teknologi server dan software yang digunakan dalam hal efisiensi, reliability, security dan aspek-aspek lain yang terkait.
3. Memastikan/memaintain suatu jaringan internal (baik LAN maupun WAN) dapat berfungsi dengan baik.
Keahlian yang diperlukan :
1. Memahami konsep dan desain infrastruktur jaringan dan troubleshooting-nya.
2. Mamahami setting dan instalasi tentang perangkat aktif jaringan seperti router, switch, hub, firewall dll.
3. 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.
4. 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.
5. Menguasai secara teknis dan praktis mengenai keamanan jaringan/system.
Latar Belakang :
Teknik komputer, teknik elektro (pemusatan studi komputer atau telekomunikasi).
2.4. IT Specialist
Profesi IT specialist atau IT engineer mungkin merupakan profesi yang agak jarang terdengar. Tetapi tanpa disadari, beberapa profesional 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.
Seorang IT specialist harus menguasi bidang IT secara luas baik networking maupun software hingga implementasinya yang “masuk akal”. Ya, solusi dan implementasi harus masuk akal, karena perusahaan yang belum pernah menerapkan IT secara terintegrasi kadangkala perlu mengadakan beberapa perubahan dalam manajemennya.
Untuk mengurangi perubahan dan sistem dapat bermanfaat secara optimal, seorang IT specialist harus memberikan solusi yang benar-benar dapat diterapkan dan ada gunanya serta dapat dikembangkan lebih lanjut untuk mengikuti perkembangan zaman.
Tugas :
1. Mendesain dan membangun sistem komputerisasi terutama dalam hal implementasi software, hardware dan jaringan.
2. Memberikan solusi terbaik dalam hal pemilihan dan implementasi teknologi baik hardware maupun software.
Keahlian yang diperlukan :
1. Memahami konsep dan desain infrastruktur jaringan dan troubleshooting-nya.
2. Menguasai network operating system dan aplikasi-aplikasi yang dapat diimplementasikan dalam organisasi.
3. Memiliki pengetahuan yang luas mengenai software, hardware dan jaringan komputer.
4. Menguasai secara teknis dan praktis mengenai keamanan jaringan/system.
Latar Belakang :
Teknik komputer, Teknik elektro (pemusatan studi komputer atau telekomunikasi), Manajemen Informatika.
3. Bidang Software Development & Consulting
3.1. Programmer/Developer
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 :
3.1.1. Hardware Programmer
Hardware programmer sebenarnya adalah bagian dari hardware engineer. Sesuai namanya, mereka melakukan programming secara low level terhadap hardware, misalnya microcontroller, embedded system, PLC atau device lainnya. Pada awal diciptakannya komputer, programmer jenis ini lebih dominan karena cara memrogram komputer waktu itu mirip dengan cara memrogram microcontroller saat ini. Bahasa yang digunakan dulunya adalah bahasa mesin tetapi saat ini cenderung digunakan bahasa assembly dan C.
3.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 pengembang 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# di kemudian hari bila sistem operasi yang menggunakan managed code (.net) benar-benar diluncurkan.
3.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 digunakan.
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 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 ke dalam 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 enterprise application 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.
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.
5. Menguasai bahasa Inggris.
Latar Belakang :
Ilmu Komputer, Teknik Informatika, Manajemen Informatika, Matematika pemusatan studi Komputasi.
3.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.
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.3. Software Quality Assurance Engineer
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 masih 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 bersifat preventif adalah 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, diharapkan 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.
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/skenario.
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.
3.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 ke tahun 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.
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.
3.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.
Tugas :
1. Merancang dan membangun database dalam sebuah system.
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.
3.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.
Tugas :
1. Merekomendasikan teknologi yang paling cocok untuk mengembangkan produk software.
2. Membuat standar-standar software development yang akan digunakan oleh tim programmer/developer seperti coding standard, arsitektur, design pattern, dll.
3. Membuat rancangan/desain software dan proses pengembangannya secara keseluruhan, terutama dalam hal framework dan library yang digunakan.
Keahlian yang diperlukan :
1. Menguasai hal-hal teknis yang dikuasai programmer, system analyst dan software engineer.
2. Menguasai secara mendalam tentang software development technology dan software design.
3. Menguasai penulisan dokumen dengan baik (dalam bahasa Inggris dan Indonesia).
Latar Belakang :
Teknik Informatika, Ilmu Komputer, Manajemen Informatika.
3.7. 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.
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).
Sumber :
http://codelabour.wordpress.com/2009/05/04/profesi-di-dunia-it-bagian-1/
http://codelabour.wordpress.com/2009/06/01/profesi-di-dunia-it-bagian-2/
0 comments:
Post a Comment