shutterstock_150587633_techschool

Sudah menjadi cerita umum: Anda pergi ke sekolah selama bertahun-tahun dan lulus dengan ijazah yang baru dicetak, mendapatkan pekerjaan pertama Anda, dan segera dikejutkan oleh aturan tidak tertulis dan kompleksitas sehari-hari lainnya dimana tidak ada yang peduli untuk memperingatkan Anda tentang hal itu sebelumnya. Dan pemrograman juga tidak terkecuali.

Beberapa siswa 100% siap untuk pekerjaan pertama mereka. Dan gelar ilmu komputer semata-mata dirancang guna mempersiapkan siswa untuk pekerjaan menulis aplikasi perbankan. Tapi aku masih terus terkejut melihat berapa banyak lulusan baru-baru inidan bahkan beberapa programmer berpengalamanyang masih mengedit kode mereka di Notepad atau Pico dan tidak tahu bagaimana menggunakan kontrol versi.

Jika Anda tidak ingin menjadi orang itu” atau tidak ingin menjadi orang itu lagi luangkanlah waktu untuk belajar 10 keterampilan dasar ini:

1. Version control systems

Ini mungkin kelalaian terbesar dalam kurikulum ilmu komputer. Lembaga pendidikan tinggi mengajarkan cara membuat kode sumber untuk program, tetapi biasanya mengabaikan segala sesuatu tentang pengelolaan kode tersebut. Setiap programmer harus tahu cara membuat repositori, mengedit dan commit kode tersebut, dan branch dan menggabungkan secara efektif sebagai bagian dari alur kerja proyek menggunakan Git atau Subversion. Mengetahui tentang sistem kontrol versi juga berarti bahwa Anda akan tahu lebih baik daripada bekerja untuk organisasi yang tidak menggunakanya.

2. Bagaimana menulis kode program

Bekerja sebagai seorang programmer adalah lebih dari sekedar menulis dalam bahasa pemrograman. Anda juga harus menulis catatan rilis untuk proyek-proyek Anda. Anda menulis pesan komit untuk kontrol versi. Anda menulis tiket untuk bug dalam sistem. Semua ini dan banyak lagi membutuhkan komunikasi bahasa Inggris yang jelas, dan efektif  keterampilan dimana pada program ilmu komputer jarang ditekankan.

3. Regular expressions

Regexes adalah bahasa mereka sendiri, dan setiap programmer modern perlu mahir dalam penggunaannya. Setiap bahasa pemrograman mendukung regexes atau memiliki perpustakaan standar untuk bekerja dengan mereka. Jika bagian dari tugas kode Anda untuk memvalidasi bahwa sejumlah bagian adalah lima huruf, tanda hubung dan angka, Anda harus segera mampu mengekspresikannya sebagai  /^[A-Z]{5}-\d$/.

4. Menggunakan librari

Ini tahun 2014, dan tidak perlu menggunakan ekspresi reguler untuk mengekstrak nama host dari URL. Setiap bahasa pemrograman modern memasukkan perpustakaan standar untuk fungsi umum, atau memiliki perpustakaan standar yang mudah tersedia.

Programmer perlu memahami bahwa kode yang telah ditulis, diuji, dan debug akan menjadi kualitas yang lebih baik daripada kode baru yang dia ciptakan. Bahkan lebih penting, kode yang tidak harus ditulis dapat diimplementasikan lebih cepat.

5. SQL

Seseorang berkata kepada saya pada meetup baru-baru ini, Semua SQL yang saya tahu saya pelajari di tempat kerja. Mengapa database elektif? Apa yang tidak menggunakan database?

Era menyimpan data dalam file flat berakhir. Semuanya masuk ke dan keluar dari database, dan SQL adalah bahasa yang digunakan untuk mengambilnya. SQL juga merupakan bahasa deklaratif, bukan bahasa prosedural, sehingga membutuhkan belajar cara baru berpikir tentang pemecahan masalah. Tapi setiap programmer harus memahami dasar-dasar normalisasi database dan dapat melakukan SELECTs (termasuk dasar INNER dan OUTER JOINs), INSERT, UPDATE dan DELETE.

6. Penggunaan Tool: tool-tool IDE, editor, CLI

Seorang tukang kayu tidak akan pernah menyelesaikan pekerjaan hanya dengan mengetahui bagaimana menggunakan gergaji besi saja, jadi mengherankan bahwa sekolah Ilmu Komputer dapat meluluskan mahasiswanya yang hanya tahu Notepad atau pico. Ini adalah pekerjaan alat pemrograman untuk membantu memanipulasi kode sumber dan semua data lainnya di komputer untuk membuat hidup programmer lebih mudah Baris perintah Unix, shell scripting, find, grepdan sed harus menjadi bagian dari setiap pengetahuan programmer.

7. Debugging

Setiap programmer harus dapat men-debug dengan debugger interaktif atau dengan menaburkan pernyataan print secara bebas di seluruh kode. Kemampuan untuk melacak masalah melalui perbaikan bertahap terlalu penting untuk diserahkan kepada programmer yang hanya belajar dengan kursi mereka.

8. Pemrograman Defensif

Bahkan programmer rockstar tidak sempurna, sebagian besar dunia adalah di luar kendali kita, dan banyak hal akan menjadi salah. Pemrograman defensif adalah tentang memahami kebenaran yang sederhana. Jika hal-hal tidak salah, kita tidak perlu memeriksa file telah sukses dibuka, atau menyatakan bahwa ID pelanggan adalah bilangan bulat yang valid, atau untuk menguji kode untuk memastikan bahwa ia bekerja dengan baik.

Programmer perlu memahami bahwa peringatan compiler adalah alat yang membantu membuat hidup lebih mudah, bukan gangguan yang harus dihindari. Setiap programmer harus tahu mengapa setiap program PHP harus dimulai dengan error_reporting(E_ALL), atau masing-masing programmer Perl dengan use strict; use warnings;.

9. Kerja Tim

Sangat sedikit pekerjaan pemrograman memungkinkan Anda untuk bekerja sepenuhnya seorang diri dan mereka yang melakukan hal itu sering melumpuhkan intelektualnya dan menjadikan anda seorang programmer yang lebih buruk daripada ketika anda memulai. Kode Anda harus berinteraksi dengan kode yang ditulis oleh orang lain, atau sering bercampur dengan kode dari orang lain. Tidak peduli seberapa berbakat, seorang programmer yang tidak bisa berkolaborasi dalam proyek dengan orang lain memiliki produktivitas yang negatif, dan dengan cepat menjadi beban bagi organisasi.

10. Bekerja pada kode yang telah ada

Di sekolah, setiap tugas kelas selalu baru, proyek baru. Itu bukan cara kerja di dunia nyata. Hal pertama yang terjadi pada karyawan baru adalah mereka bisa ditugaskan untuk memperbaiki tiket #8347 dalam sistem pelacakan bug. Setelah itu, mereka harus menambahkan fitur pelengkap kecil baru ke sistem yang ada dengan basis kode yang ditetapkan. Merancang kode baru datang beberapa bulan kemudian, jika mereka beruntung.

Sumber : http://blog.newrelic.com/2014/06/03/10-secrets-learned-software-engineering-degree-probably-didnt/

Advertisements

About phpgeek programmer

pemimpi yang berharap menjadi the best programmer di zamannya

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s