Programmer Berdasarkan LEVEL-nya

Sebagai programmer kita harus tahu pada posisi mana kita sekarang sehingga kita bisa merencanakan arah pengembangan skill yang kita miliki. Berikut ini matriks sederhana untuk membantu kita menentukan tingkat skill programming kita...

 Cheers.....

TemaLevel-0Level-1Level-2Level-3
struktur datatidak tahu perbedaan antara Array dan LinkedListmampu menjelaskan dan menggunakan Array dan LinkedListtahu keuntungan dan kerugian Array vs LinkedList. mampu menjelaskan hashtable dapat digunakan untuk menangani collision dan priority queue, serta tahu cara penerapannyatahu tentang struktur data dewa seperti B-Tree, Binomial Heap, Fibonaci Heap, Splay Tree, Skip List, dll
algoritmatidak bisa menemukan rata-rata angka dalam Array (serius... ane pernah interview orang macem ini)mengetahui algoritma sorting, searching, traversal dan retrieval struktur datatahu tentang Tree, Graph, algoritma Greedy, dan algoritma Devide-And-Conquer sederhana.serta mampu memahami isi posting ini :Dmemahami dan mampu membuat pemrograman dinamis. memiliki pemahaman yang baik tetang graph, komputasi numerik, NP problems, dll
dekomposisi masalahstraight-line coding dengan banyak sekali coding copy-pastemampu memecah masalah menjadi beberapa fungsi atau prosedurmampu membuat fungsi, prosedur, atau class yang dapat digunakan kembali (reusable) untuk memecahkan masalah secara keseluruhanmenggunakan struktur data dan algoritma yang tepat dan mampu membuat coding generic (object oriented) untuk merangkum aspek-aspek dari masalah yang dinamis, misalkan dependency injection
komunikasitidak mampu mengekspresikan (menyampaikan) ide dan pikiran ke rekan kerja, miskin tata bahasarekan kerja dapat memahami apa dikatakan, walau mungkin banyak juga yang gak bisa dimengerti. tata bahasa sedikit lebih baikmampu berkomunikasi secara efektif dengan rekan kerjamampu memahami dan mengkomunikasikan pikiran, desain, ide dan spesifikasi secara jelas dan sesuai dengan konteks
organisasi filetidak ada organisasi file, semuanya tumplek bleg dalam 1 (satu) filefile-file terkait diletakkan dalam satu folder yang samasetiap file fisik mempunyai tujuan yang unik dan jelas. misalkan satu file untuk definisi class, file lain untuk definisi view, dllorganisasi code, folder dan penentuan nama file memudahkan kita melihat desain aplikasi bersangkutan
kemudahan membaca kodinganvariable gaje dengan suku kata tunggal, misalnya $a, $b, $pxnama yang lebih manusiawi untuk file, class, variable, method, dlltidak ada lagi fungsi yang panjang. ada komentar tentang asumsi koding, ada komentar untuk menjelaskan koding yang kreatif, serta ada perbaikan bugasumsi coding diverifikasikan menggunakan fungsi asserts, kode mengalir secara alami, dan tidak ada deep nesting untuk conditionals dan methods
databaseberpikir bahwa Mikocok Excel adalah databasetahu (sekedar tahu saja) konsep basisdata, normalisasi, dan transaksi. serta bisa menulis SQL stetement sederhana. pernah dengar istilah nosql
mampu merancang skema database yang baik dan ternormalisasi, mahir dalam penggunaan views, stored prosedur, trigger. tahu perbedaan index cluster dan non-cluster.
tahu perbedaan serta rdbms dan nosql serta keuntungan dan kerugiannya. 
dapat melakukan administrasi database dasar, optimasi kinerja database, optimasi index, mahir menggunakan SQL dan cursor. memahami database mirroring dan replication serta implementasinya
Mahu kapan sebaiknya menggunakan rdbms dan kapan sebaiknya menggunakan nosql, serta mampu membuat solusi yang menggabungkan keunggulan rdbms dan nosql. Mampu mengunakan MapReduce untuk query ke database nosql
bahasa pemrogramanHanya menguasai salah satu pemrograman Imperatif (Prosedural)atau Object OrientedMenguasai penrograman Imperative, Object-Oriented dan declarative (SQL). Nilai tambah bagi yang memahami perbedaan static vs dynamic typing, perbedaan weak vs strong typing and penggunaan static inferred types.Menguasai pemrograman Functional (misalnya Lisp, Scheme, F#, OCaml atau Haskell), Nilai tambah bagi yang memahami lazy evaluation, currying, continuationsMenguasai pemrograman Concurrent (Erlang, Oz) and Logic (Prolog)



disarikan dari http://www.starling-software.com/employment/programmer-competency-matrix.html


Sumber

Comments

Popular posts from this blog

PANDANGAN HIDUP

Teori Organisasi Umum 1 tugas 2

Manusia dan Kebudayaan