Full Stack Developer

Apa lagi tuh, Full Stack Developer ?

Kalau istilah “Full Stack Developer” mungkin bisa dibilang asing atau baru didengar, tapi definisinya mungkin tidak terlalu asing atau sudah biasa dilakukan bagi kebanyakan developer.

Full-Stack Developer pertama kali dipopulerkan empat tahun lalu oleh Facebook’s engineering department. Idenya adalah bahwa full-stack developer dapat bekerja lintas-fungsional pada dua teknologi yang berbeda, yaitu front-end dan back-end, dan full-stack developer menawarkan sebuah paket yang lengkap.

Full-Stack Developer bekerja seperti back-end developer, pada sisi server, tetapi mereka juga bisa mampu menggunakan bahasa front-end yang mengontrol bagaimana tampilan dari situs yang dibuat.

Ilustrasi Full-Stack Developer

Bagi teman-teman yang bekerja pada perusahaan end-user atau bukan perusahaan software house/consultant dimana organisasi IT nya tidak terlalu besar tentu pekerjaan tersebut sudah sering dilakukan. Dimana seorang developer dituntut untuk bisa menangani semua sisi baik Back-End dan juga Front-End terkait dengan kebutuhan aplikasi yang akan dibuat.

Contohnya : Developer harus bisa mengkonfigurasi web server (contoh: IIS, Apache, NginX dsb), FTP server juga, konfigurasi Database, membuat stored-procedure, membuat optimalisasi table, membuat report analytic, mengkonfigurasi SVN/GIT/repository code lainnya, membuat application core framework, membuat source-code sesuai dengan requirement bisnis yang diharapkan sampai membuat design UI yang menarik, dan memperhatikan User eXperience juga  😀

Jika anda orang yang bisa belajar dan beradaptasi dengan cepat, tentunya hal tersebut bisa membuat anda semakin kaya pengetahuan dibidang lainnya juga.

Apakah lebih baik menjadi seorang Full-Stack Developer ?

Jika anda seorang developer dan ingin menjadi seorang full-stack developer berarti harus mempunyai pikiran yang terbuka akan teknologi baru. Senang dan geeks untuk mengeksplorasi terhadap teknologi2 baru yang ada. Anda harus bisa memahami dan mengerti teknologi back-end dan front-end yang ada mulai dari konsep dan cara kerjanya.

Ide seorang “full-stack developer” bukan berarti harus ahli, terbiasa akan semua teknologi yang ada karena spesialisasi ada untuk alasan tersebut. “full-stack developer” lebih kepada pengertian akan setiap area dan teknologi yang telah disebutkan diatas, bisa berkomunikasi dengan baik dengan rekan kerja, dan bisa menjadi aset yang berguna jika memang situasi memerlukan akan pengetahuan tersebut.

 

Functional Spec dan Non Functional Spec

Pada tahap requirement gathering, kita harus mengumpulkan kebutuhan S/W selengkap-lengkapnya, kebutuhan fungsional maupun kebutuhan non fungsional. Kebutuhan fungsional berhubungan dengan fitur S/W yang ingin dibuat, sedangkan kebutuhan non fungsional tidak secara langsung terkait pada fitur tertentu. Kebutuhan non fungsional memberikan batasan pada kebutuhan fungional.

https://i0.wp.com/www.its-all-design.com/wp-content/uploads/2013/07/Business-Analysis-in-Pictures.pngContoh kebutuhan fungsional adalah (mis. untuk aplikasi perpustakaan) meminjam buku (mencatat peminjaman buku), mengelola denda, dll. Contoh kebutuhan non fungsional adalah keamanan (aplikasi hanya bisa diakses oleh pengguna yang berhak), performansi (respon aplikasi tidak boleh lebih dari 2 detik), dll.

Baik kebutuhan fungsional maupun non fungsional, harus dapat diukur dan dievaluasi di akhir pekerjaan, untuk menentukan keberhasilan dan kelengkapan pekerjaan.

Setelah mendapatkan requirement gathering, kita lakukan analisis dan kemudian kita buat design spesifikasi teknisnya. Dan baik kebutuhan fungsional maupun non fungsional harus disertakan didalamnya, dan dokumen yang memuat kebutuhan tersebut adalah SRS (Software Requirement Specification)

Adapun Dokumen FSD (Functional Specification Document) ialah memuat design teknis saja seperti UML, ER Diagram, UI Design

Sumber : http://yaniwid.wordpress.com/2008/10/16/kebutuhan-fungsional-vs-non-fungsional/