Hal Yang Wajib Dikuasai Oleh Progremmer

Thursday, August 1, 2019 : August 01, 2019

0 comments



Hello semuanya Bertemu lagi nih bersama gw TeMix, Pada kesempatan kali ini gw akan membagikan HAL YANG WAJIB DI KUASAI OLEH PROGREMMER. Pasti sebagian dari kita belom mengetahuinya bahwa Banyak sekali bahasa pemrogramman dan tools yang free dan open source sehingga dapat membaut kita bimbang memilih yang mana yang terbaik buat kita gunakan. banyak juga bahasa pemrogramman dan tools yang berbayar yang memudahkan kita untuk menggunakannya.
Namun semua itu hanya penggolongan saja, pada dasarnya investasi waktu kita harusnya diluangkan untuk sesuatu yang mendasar dan bersifat global, sehingga bila kita pindah bahasa pemrogramman atau tools pun tidak akan kaget dan panik karena harus belajar dari awal. Kita pun tidak perlu merasa sulit bila harus perpindah versi dari versi yang lama ke versi yang terbaru.



Apapun itu bahasa pemrogrammannya ataupun toolsnya. Sebetulnya ada beberapa cara yang bisa dikuasai seorang programmer dan bisa membuat diri kita menjadi dinamis terhadapt tools apapun itu. Menurut anda apakah itu? Berikut ini adalah beberapa hal yang wajib di ketahui seorang Programmer.
1.       Tentukan Bidang yang Digeluti
Untuk Jadi seorang Programming kita harus terlebih dahulu bidang apa yang kita ingin geluti apakah itu Desktop Application Programmer yang menggunakan VB.NET atau Mobile Application Programmer yang menggunakan Android, masing-masing mempunyai teknik yang berbeda dalam membuat sebuah aplikasi jadi kita harus memilih salah satunya tidak bisa keduanya.
Belum lagi bila kita membandingkan backend Mobile Application programmer dengan Frontend Mobile Application Programmer keduanya memiliki fokus yang mirip namun berbeda. Dimana Frontend Mobile Application Programmer dituntut untuk lebih mahir menggunakan XML, drawable bahkan Pemasangan Compile (Tambahan pada file graddle) untuk penambahan ektensi tambahan untuk membuat tampilan yang memukau.  Sedangkan backend Mobile Application Programmer dituntut untuk membuat proses menjadi aplikasi berupa service ataupun non service yang dapat mengirimkan email, integrasi dengan sistem lain, Mencetak lapotan dan menyimpan data ke database.
2.       Text Editor
Text Editor adalah hal yang wajib di kuasai oleh programmer demi meningkatkan produktifitas saat menulis source code. Pastikan kamu menguasai segala fitur dan shortcut yang sudah ada di dalam text editor tersebut untuk mempermudah dalam menulis code.

Banyak sekali Text editor mulai dari yang berbayar sampai open source, salah satunya adalah vim yang banyak sekali yang menguasai dan tidak sedikit juga yang menguasai sublime text dan android studio. Hampir semua teks editor memiliki fitur-fitur canggih seperti multiline editing, split view dan masih banyak lainnya.
3.       Bahasa Inggris
Salah Satu Kelemahan Programmer adalah yang tidak bisa berbahasa inggris sebagai bahasa yang wajib di pelajari di dunia programming adalah malas membaca artikel atau solus lain dalam bahasa inggris. Padahal manual dan dokumentasi mayoritas berbahasa inggris. Selain itu kontent-kontent belajar tingkat intermediate sampai advance di tulis pun menggunakan bahasa inggris.
4.       Desain Aplikasi Dan Database
Walau sudah mahir sekali dengan coding tapi tidak mengerti Desain Aplikasi dan Database apa bedanya dengan Mempunyai Kunci Mobil Tapi tidak bisa mengendarainya? Itu hal yang mustahil di lakukan bukannya?. Sama halnya dengan programmer harus juga bisa menganalisis suatu sistem dan aplikasi sendiri. Bagaimana menerjemahkan kebutuhan bisnis menjadi alur aplikasi mulai dari menerima input meneruskannya ke proses dan menampilkan menjadi suatu output.
Data-data yang lewat selama di dalam proses suatu sistem dan aplikasi, haruslah disimpan ke dalam sebuah perangkat yang dinamakan database dan tentunya untuk mendesainnya diperlukan keahlian khusus.
5.       Matematika
Tidak semua programmer wajib menguasai matematika namun menguasai matematika dasar hukumnya wajib apalagi seorang programmer yang terjun dalam dunia simulasi,bisnis, machine learning atau yang lainnya.
Tidak bisa seorang programmer lepas tangan untuk tidak menguasai matematika dasar dan matematika yang terkait dengan kasus yang sedang dikerjakannya. Walaupun beberapa rumus dan formula dikerjakan oleh orang lain. Namun seorang programmer wajib tahu bagaimana cara merepresentasikan suatu formula kedalam kode aplikasi yang dibuatnya.
6.       Jaringan Komputer
Sebelum beranjak ke internet dan cloud computing tentu seorang programmer wajib menguasai dasar - dasar jaringan komputer seperti ip address, subnetting, dan client server. Mungkin banyak yang malas untuk menguasai TCP/IP atau OSI Layer secara menyeluruh, namun wajib tahu beberapa hal mendasar agar programmer lebih cakap dalam menguasai jaringan komputer.

Tidak semua aplikasi yang dikembangkan harus terhubung ke internet. Tentu dengan bantuan network engineer, seorang programmer harus tahu juga seluk beluk jaringan komputer untuk menghubungkan aplikasi yang dikembangkannya kepada berbagai perangkat yang terhubung melalui jaringan komputer baik lokal, antar gedung, ataupun antar wilayah.

Terlebih bila membangun aplikasi perkantoran, dimana kita harus memaksimalkan arsitektur jaringan komputer yang dibangun network engineer terhadap aplikasi kita.
7.       Internet
Programmer tidak bisa mengirim e-mail? Masih ada kok yang seperti itu, di tengah era cloud yang sedang booming tentu saja dasarnya harus kita kuasai dulu. Berbagai protokol pun harus kita ketahui walaupun tidak kita kuasai. Seperti beberpaa protokol berikut:
-          HTTP
-          HTTPS
-          WEBSOCKET
-          WEBSOCKET SECURE
-          SMTP
-          FTP
-          TELNET
-          Oauth
-          Dan lainnya

Dan Tidak lupa pula seorang programmer setidaknya menguasai berbagai aplikasi yang berkaitan dengan internet dan mampu membangun salah satu komponen infrastrukturnya sendiri. Misal web server dan mail server

8.       Source Management
Git, Svn, Mercurial, ketiganya adalah tools yang dapat memudahkan kamu untuk melakukan source code management. Masih suka menggabungkan source code dengan flashdisk? Lupakan! Waktunya kamu menggunakan source code management.

Masalahnya bila kamu harus mengerjakan suatu proyek bersama 10 orang tapi masih menggunakan flashdisk apakah tidak akan repot? Tentu saja akan repot. Dengan source code management, kamu dapat melihat kode yang konflik, dapat rollback ke kode sebelumnya, dapat menambahkan komentar pada perubahan kode yang ditambahkan, dan yang paling utama adalah penggabungan kode program yang ditulis dari beberapa orang yang berbeda.
9.       Cloud Computing
Tidak harus semua programmer menguasai cloud computing, namun bila menguasai sedikit saja, tentu akan membantu bila sewaktu-waktu diperlukan. Rata-rata cloud computing sudah berupa managed service yang ditawarkan suatu vendor. Ada juga yang on-premise dan harus dikelola sendiri.

Misalnya saja, kita dapat melakukan kerjasama dengan vendor tertentu dengan tipe kerjasama berupa kampus dan mahasiswa. Atau juga dengan kerjasama berupa akselerator bisnis. Kamu dapat memanfaatkan layanan cloud mulai dari IaaS, SaaS, sampai PaaS. Selain itu kamu pun dapat dengan mudah menangani masalah availibility dan reliabilitas aplikasi yang kamu kembangkan.
10.   Unit Testing
Cukup banyak perusahaan yang menaruh perhatian besar terhadap unit testing demi meningkatkan kualitas produk mereka. Ada juga yang tidak peduli dengan unit testing karena memang lebih penting selesai sebelum deadline dan deliver.

Unit testing sangat dibutuhkan oleh seorang programmer untuk memastikan kode yang dibuatnya sesuai dengan bisnis proses dan yang terpenting adalah mengurangi waktu pengujian yang terlalu lama dibanding harus memeriksanya secara manual dan diulang lagi dari awal bila ada penambahan fungsi baru.

Itulah beberapa hal yang wajib diketahui oleh progremmer, jika anda ingin menjadi  programmer yang expert jangan lah malas-malasan terus selalu mencari ilmu



Share this Article
Next Article >

0 comments :

Copyright © 2019 BerNas - All Rights Reserved
Design by Ginastel.com