Dear Faber,

Aku mw share mengenai pengalaman ku ketika pertama kali masuk kerja. Kalo 
kemaren aku pertama kali masuk disuruh baca materi dari buku. Trus setelah 
makan siang ada sesi diskusi untuk mengecek pemahaman mengenai apa yg dibaca. 
Kemudian ada dikasih study kasus atau soal.

Buku pertama yg dikasih mengenai Extreeme Programming Adventure kareangan dari 
Ron Jefrries klo gak salah ingat.  Di situ aku tw disiplin2 and good practice 
apa yg perlu diterapkan dalam development. Seperti Refactoring, Continous 
Integration, TDD (Test Driven Development).

Setelah belajar teorinya. Baru dikasih pengarahan mengenai TDD berdasarkan 
contoh. Jadi sekalian ngerjain kasus latihan TDD. Ini kadang di pair dan kadang 
dibiarin mandiri. Tetapi tetap aja ada diskusi. Pada saat belajar TDD ini juga 
diterapkan refactoring dan juga penerapan design pattern (Buku panduannya Head 
First Design Pattern)

Setelah TDD selesai disuruh blajar mengenai continous integration. Pilihan 
tools jatuh ke Cruise Control. Di sini jadi blajar build automation tools, code 
inspection dsb.

Nah baru setelah ini disuruh belajar mengenai arsitektur yg digunakan. Baca 
buku Pattern of Enterprise Application (Martin Fowler) dan juga Domain Driven 
Design (Eric Evans). Berkenalan dengan pattern2 Dependency Injection, MVC, 
Layered Architecture, Remote Facade, dsb

Pematangan mengenai implementasi dilakukan di project dan tentu saja ini di 
pairing oleh senior. Jadi kadang siklusnya senior buat test nya (karena model 
TDD) dan kita buat implementasinya. Juga kadang dibalik. Kita buat testnya dan 
senior buat implementasinya. Mengenai penerapan arsitektur yg dibaca2 
sebelumnya juga di jelasin di situ. Sambilan pairing ya transfer knowledge. 
Disitu baru blajar Hibernate, Spring dengan melihat cara senior bekerja. 

Dan setiap pagi kan ada standup meeting tuh. Jadi ya kita bisa nanya kenapa ini 
begitu. Kesulitan nya kemaren dimana dsb. 

Itu dari pengalamanku bagaimana aku dituntun masuk ke dalam project pertama 
kali. Jadi aku setuju klo misalnya newcomer itu dituntun dengan pair 
programming tetapi sebelumnya diberikan fundamental yg kuat dulu mengenai 
konsep sebelum masuk ke tools. 



Regards,


Welly Tambunan




________________________________
Dari: Faber Siagian <[email protected]>
Kepada: [email protected]
Terkirim: Sen, 12 April, 2010 20:29:53
Judul: [JUG-Indonesia]  Organizing and Maintaining Code

  
Dear all,

Imagine you are a software architect or team leader or whoever which is 
responsible to organize and maintain your project's code, from the 
design/architecture or high level to the lowest level such as an individual 
class and all of its properties (instance variables, methods, inner classes 
etc). 
The main purposes of both are:

        1. Help the new coming developer to understand the development 
environment by providing enough and clear information

        2. Avoid redundancy
        3. Promote flexibility, reusability and scalabilityWhat activities, 
best practices, documentations, rules, or anything would you do, follow, 
provide or apply?

Thanks for sharing :)

-- 
regards,

Faber Siagian

 

__________________________________________________
Apakah Anda Yahoo!?
Lelah menerima spam?  Surat Yahoo! memiliki perlindungan terbaik terhadap spam  
http://id.mail.yahoo.com 

Kirim email ke