Saya telah menjadi pengembang untuk sementara waktu. Saya jauh dari yang terbaik di luar sana. (Ketika saya duduk sendirian di ruangan ini, saya bertanya-tanya apakah saya bahkan yang terbaik di sini.) Namun, saya mulai memahami alat saya, dan saya mulai percaya pada kemampuan saya untuk berpikir dan belajar.
Ketika memulai pekerjaan baru, saya selalu percaya bahwa saya dapat mempelajari basis kode jika itu adalah bahasa yang saya tahu. Jika itu bukan bahasa atau kerangka kerja yang saya tahu, saya percaya bahwa saya dapat memahami konsep cukup untuk mempelajarinya (dan hanya membaca dokumentasi). Ini adalah bagian dari skillet kami sebagai programmer dan saya bangga bahwa saya dapat memenuhi standar ini.
Namun, untuk semua ini - salah satu kelemahan utama saya adalah mempelajari dan menginternalisasi aturan bisnis untuk klien yang saya bekerja dengan cara cepat - apakah saya seorang karyawan yang dibayar atau seorang kontraktor. Saya baik-baik saja dengan basis kode, tetapi aturan dan proses bisnis untuk bisnis tertentu sepertinya selalu butuh waktu untuk saya mengerti sepenuhnya. (Sebagai contoh, ini bisa menjadi tripup ketika menulis ulang aplikasi perusahaan.)
Sebagai pengembang, apa cara terbaik untuk mengasimilasi aturan dan proses bisnis dengan cepat dan efisien? Apakah mungkin tanpa menjadi ahli materi pelajaran atau hanya memiliki pengalaman bertahun-tahun dengan klien, perusahaan, atau bisnis?
sumber
Jawaban:
Bagi saya, itu dengan membaca dan memahami basis kode.
Saya mengatakan itu karena dua alasan utama:
Orang payah. Oh, tidak sengaja (biasanya), tetapi dalam bisnis saya menemukan bahwa orang sering memiliki pemahaman yang sedikit berbeda tentang aturan bisnis. Dan setiap orang memiliki model mental mereka sendiri yang pada gilirannya kehilangan kesetiaan saat mereka mencoba mengomunikasikannya kepada Anda. Tapi kodenya tidak bohong. Orang-orang dapat memikirkan apa yang mereka inginkan tentang bagaimana segala sesuatu seharusnya bekerja, tetapi kodenya benar.
Bangun yayasan dulu. Jadi, jika setiap orang memiliki model mental mereka sendiri tentang apa persyaratan dan proses khusus bisnis ini, bagaimana Anda membangunnya? Bagi saya, dan saya berharap banyak programmer, saya membangun model mental saya yang terbaik dari kode. Kode memiliki pola. Kode memiliki abstraksi. Saya punya banyak pengalaman mengambil kode dan membangun model mental darinya. Begitu saya setidaknya memiliki bentuk yang tidak jelas tentang apa yang ada dan bagaimana mereka berhubungan, maka saya dapat berbicara dengan orang-orang bisnis. Lalu saya bisa mengajukan pertanyaan yang tepat dan lebih cocok memasukkan jawaban mereka ke dalam teka-teki.
sumber
Jangan terlalu keras pada diri sendiri. Kadang-kadang saya bertanya-tanya mengapa mereka bahkan repot-repot menyebut mereka bisnis "aturan" tetapi saya kira menyebut mereka "cara kita biasanya melakukan sesuatu kecuali ada hal lain yang berlaku maka kita melakukannya secara berbeda" mungkin akan menghina mereka. Bisnis berantakan. Mereka menyulap kebutuhan pelanggan, lembaga hukum, akuntansi, peraturan, vendor, karyawan, manajer dan pemerintah daerah. Mereka tidak selalu punya alasan.
Saya pikir cara terbaik adalah memastikan Anda menghabiskan waktu dengan sebanyak mungkin orang bisnis. Ini bisa sulit bagi sebagian orang di posisi teknis.
Anda bukan batal disebut programmer, Anda seseorang. Biarkan mereka tahu Anda ada di sana untuk mempermudah pekerjaan mereka. Sayangnya, Anda bisa menjadi pahlawan atau kambing. Itu sifat bisnis kami.
sumber
Saya akan merekomendasikan membaca buku berjudul 5 Elemen Berpikir Efektif oleh Edward Burger dan Michael P. Starbird. Ini terkait dengan memahami konsep-konsep baru secara umum, tetapi saya pikir itu berlaku untuk situasi ini.
Inilah beberapa poin menarik dari buku ini:
Kuasai dasar-dasarnya
Jika Anda tidak tahu dasar-dasarnya, Anda akan membangun pemahaman Anda di atas fondasi yang goyah. Jadi, Anda perlu mengajukan pertanyaan-pertanyaan yang terdengar bodoh itu yang tidak ditanyakan orang lain.
Biarkan kesalahan menjadi panduan Anda
Terkadang membantu untuk mengajukan pertanyaan yang jelas salah sehingga Anda dapat mengungkap kurangnya pemahaman Anda. (Mis: Maksud Anda admin memiliki akses ke setiap dokumen? Oh. Kenapa?)
Ajarkan atau jelaskan kepada orang lain
Ketika Anda mencoba mengajarkannya kepada orang lain, Anda akan mulai mengungkap di mana Anda memiliki kesulitan untuk memahami.
Semoga itu bisa membantu!
sumber
Sebagai pengembang saya menyadari bahwa saya langsung menerjemahkan bisnis ke dalam kode, struktur data, kelas yang mungkin, dll ... Saya beralih dari sesuatu yang abstrak dan sering, tidak terdefinisi ke sesuatu yang spesifik, sesuatu dengan "bentuk". Saya mulai kode dengan segera dan, kurangnya informasi , membawa saya ke refactor sering. Setiap refactor membuat saya berpikir bahwa ada terlalu banyak celah dalam pemahaman saya tentang bisnis .
Bagaimana saya mulai menyelesaikan ini?
Saya memaksakan diri saya untuk membaca semua dokumen yang dibuat selama analisis fungsional dan fase sebelumnya. Saya mencoba melakukannya karena saya adalah pelanggan atau pengguna akhir . Saya perlu memahami apa yang dicari pelanggan dengan aplikasi dan persyaratan tersebut. Tapi aku harus menjauh dari iblis.
Pekerjaan kami memberi kami keterampilan luar biasa yang tidak dimiliki pelanggan. Kami berpikir dalam struktur bersyarat pada cara yang orang lain tidak. Jadi saya mulai menghadapi persyaratan. Mencari kontradiksi atau inkoherensi . Sedikit otak menyerbu apa yang saya mengerti. Merumuskan skenario hipotetis.
Ini menuntun saya ke pertanyaan dan keraguan. Saya mengetik semua orang dari mereka dan akhirnya saya mengatur pertemuan dengan siapa pun yang bisa menyelesaikan keraguan saya.
Meringkas, saya mengubah sudut pandang saya. Saya mencoba melihat masalah dari sudut pandang lain. Tapi saya menempatkan beberapa keterampilan dev pada prosesnya. Apa yang berakhir dengan banyak pertanyaan dan keraguan yang harus dipecahkan. Setelah diselesaikan, pemahaman saya tentang bisnis lebih dalam.
Belajar> Keraguan> Pertanyaan> Jawaban> Memahami (ulangi siklus berulang-ulang)
sumber