|
Beberapa waktu yang lalu saya sengaja mewawancarai beberapa orang
yang saya anggap memiliki peran Software Architect di perusahaannya
masing-masing. Mengapa pilih topik mengenai profesi Software
Architect? Mudah saja, yang jelas saya ingin pembaca khususnya yang
masih awam bisa lebih paham mengenai profesi Software Architect ini
dalam dunia TI. Untuk itu pada awalnya saya mengirimkan e-mail
kepada beberapa orang yaitu:
- Agus Kurniawan (Astra International)
- Norman Sasono (Intimedia)
- Legowo Budianto (Netway)
- Dondy Bappedyanto
Mereka di atas adalah segelintir manusia Indonesia yang memegang
profesi sebagai Software Architect dan telah malang melintang baik
dalam dunia software development dan turut aktif pula pada
komunitas, baik itu komunitas maya maupun non-maya. Saya senjaga
mengirimkan beberapa pertanyaan melalui e-mail dan kebetulan sampai
tulisan ini diturunkan hanya Norman Sasono yang sempat me-reply e-mail saya.
Sambil menunggu jawaban dari yang lainnya maka saya turunkan saja
jawaban dari pertanyaan-pertanyaan saya seputar Software Architect
yang telah dijawab oleh Norman Sasono.
Seperti telah disinggung di atas bahwa melalui interview ini kita
akan sejenak melihat lebih jauh mengenai profesi Software Architect,
mulai apa itu Software Architect, bagaimana peranannya di dalam
organisasi dan apa-apa saja tantangan yang dihadapi. Saya atas nama
Sony AK Knowledge Center bangga bisa mewawancarai dan berkenalan
dengan orang-orang dengan pemikiran dan prestasi yang cemerlang ini
dan mari segera kita simak saja hasil interview-nya berikut ini.
Sony AK Knowledge Center (SAKKC): Orang awam di Indonesia saat
ini mungkin masih bingung dengan istilah Software Architect. Bisa
dijelaskan dengan singkat apa itu maksudnya Software Architect?
Norman Sasono (NS): The way I see it, Software Architect
adalah orang yang menghabiskan sebagian besar waktunya untuk
DESIGNING software dan GUIDING team member yang lain untuk membuat
software tersebut. Dia yang membuat pondasi/desain dari sebuah
software dan bertanggung jawab mengekspresikan ide desain tersebut
dalam bentuk tertulis, lisan, code, diagram, angka, dan WHATEVER
NECESSARY agar team member yang lain dapat membangun software
berdasarkan desain tersebut. Saya pernah post cukup panjang tentang
ini di:
http://blogs.netindonesia.net/norman/articles/1258.aspx.
Sebenarnya di IT ada macam-macam jenis "Architect": Enterprise
Architect, Solution Architect, Infrastructure Architect. Software
Architect scopenya lebih sempit yaitu ke architecting
software, tapi sering juga dianggap sebagai Solution Architect.
SAKKC: Mengapa suatu perusahaan perlu seorang Software
Architect? Bisa dijelaskan?
NS: Architecture/design dari suatu software itu sangat
kompleks. Harus ada orang yang DEDICATED mengembangkan expertise
dalam hal ini agar perusahaan tidak ship/create CRAPPY software.
Membuat software itu penuh dengan trade-off, terutama dari sisi
teknis. Ada banyak issue di situ, security, performance, resource
consumption (memory/CPU, etc), maintainability, manageability,
scalability, etc. Harus ada seorang yang bisa jadi champion untuk
melakukan reasoning yang tepat agar team bisa membuat the right
trade-off. Harus ada orang yang bisa membuat pondasi desain dan
menjaga integritas desain agar diikuti oleh team member. Jadi, role
architect itu unique, bukan PM (Project Manager --red), bukan
Analyst dan bukan Developer. Note juga, Architect is an architect,
bukan manager.
SAKKC: Menurut Anda bagaimana dengan kondisi
perusahaan-perusahaan software di Indonesia saat ini? Apa mereka
sudah sadar dengan peranan Software Architect ini?
NS: Beberapa perusahaan sudah mulai sadar pentingnya
peranan Software Architect. Beberapa perusahaan sudah punya staff
yang secara resmi ber-title "Software Architect". Astra
International misalnya. Di sana ada Agus Kurniawan, my partner in
crime. Tetapi, banyak perusahaan yang belum "ngeh" apa itu Software
Architect. :)
SAKKC: Skill apa saja yang harus disiapkan untuk menjadi
seorang Software Architect?
NS: Ada dua macam. Hard skill & soft skill. See my
article:
http://blogs.netindonesia.net/norman/articles/1258.aspx. Perlu
dicatat, tidak ada buku: "Teach yourself to be Architect in 21
days". Anda harus melalui proses yang cukup panjang, punya
experience di software development, punya expert level technical
skill, passionate terhadap bidang Software Architecture itu sendiri.
Ada joke, "Architect is someone that is over 40 and over confident".
By the way, mungkin Anda bisa googling (gunakan google.com --red)
dan cari tahu siapa nama-nama ini: Anders Hejslberg, Don Box, Martin
Fowler. They are GREAT Architects.
SAKKC: Bertanggung jawab kepada siapa biasanya peranan
Software Architect ini dalam perusahaan?
NS: Biasanya Architect report ke orang yang "too dumb to
be architect/programmer, but too ugly to be marketing". He..he..he..
Kidding. Sebenarnya sih tergantung perusahaan masing-masing. Kalau
di project, Architect mesti ikut schedule yang di-define oleh
Project Manager. Kalau di perusahaan skala Enterprise, Software
Architect report ke Enterprise Architect.
SAKKC: Bagaimana menurut Anda job description Software
Architect dalam perusahaan? Apa bisa berbeda-beda?
NS: Ya. Bisa beda-beda. Malah ada juga yang doing role
Architect, tapi di-title-nya gak ada embel-embel Architect-nya. Ada
juga yang title-nya Architect but yang dia lakuin sebenarnya "cuma"
jadi "Super Developer". Well, the title is not important. Yang
penting what you do as an "architect" that is important.
SAKKC: Dari sisi prospek, apa profesi ini sangat menjanjikan
pada masa-masa mendatang? Bisa dijelaskan?
NS: Tentu saja. Kalau Anda familiar dengan RUP (Rational
Unified Process), role ini terdefinisi cukup jelas di sana. Di MSF
(Microsoft Solution Framework) juga. Methodology-methodology
Software Development acknowledge role ini. Artinya, project-project
software development kedepannya bakal demand banyak professional
dalam software architecture ini. Kalau di Indonesia, yang saya lihat
bakal banyak demand adalah "Solution Architect". Architect untuk
suatu IT solution as a whole, bukan sebatas Software-nya saja.
"Infrastructure Architect" juga bakal banyak demand. Sedangkan
"Enterprise Architect" adalah orang yang cukup powerful di
perusahaan. Dia bertanggung jawab untuk Enterprise Blueprint suatu
perusahaan. Dia mendefine policy-policy yang harus di-follow oleh
Solution Architect & Infrastructure Architect di perusahaan
tersebut. Orang ini mestinya direct report ke CIO.
SAKKC: Apa saja kira-kira tantangan yang Anda hadapi selama
menjadi seorang Software Architect? Dan apa yang membuat Anda
tertarik dengan posisi tersebut? Bisa dijelaskan?
NS: Yang paling menarik adalah I can always put myself in
tough intellectual test. Saya selalu bisa belajar hal baru.
Teknologi maupun soft-skill. Challenge yang paling sering dihadapi
adalah making the call to decide the "right trade-off". Atau
kadang-kadang, suatu ide desain menjadi sangat sulit untuk
di-implement di lapangan oleh para developer. Mesti figure out
alternatives. Intinya, architect spend most of his time THINKING dan
juga do whatever necessary to make those thoughts a reality.
SAKKC: Apa ada pesan-pesan untuk rekan-rekan yang lain yang
ingin menjadi seorang Software Architect?
NS: Well, see my article:
http://blogs.netindonesia.net/norman/articles/1258.aspx. Again,
yang perlu diingat, Architect itu gak melulu about technical
skill/hard skill. Soft skill SANGAT PENTING. Kemampuan komunikasi,
presentasi, menulis, berbicara, negosiasi, coaching, assertive,
leadership, dan sebagainya. Jadi, soft skill juga mesti
dikembangkan. Orang yang jago coding/technical-nya sangat jago tapi
soft skill-nys kurang, dia adalah "Super Developer". Bukan
Architect. Sebaliknya, kalau lack technical skill, cuma tahu "the
buzzwords", just do Marketing, dude!
Satu lagi, always keep yourself updated on Software Technology.
Kalau bisa malah lihat barang2 yang baru akan rilis.
SAKKC: Bagaimana komentar Anda sebagai seorang Software
Architect mengenai Software Architect?
NS: Seorang Software Architect sebaiknya tetap menjaga
agar coding/programming skill-nya tetap tajam. Ia harus selalu bisa
menyingsingkan lengan baju membimbing developer mengerjakan
task-task programming. Okay, bukannya full time coding, tapi mesti
bisa show ke Developer "what good code is", "what good software
design is". Coba visit:
http://www.martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf
dan juga:
http://www.agilearchitect.org/agile/principles.htm.
OK Norman. Terima kasih atas perbincangan yang walau hanya lewat
e-mail ini, tetapi yang jelas sudah bisa membuka mata rekan-rekan
pembaca lainnya untuk lebih mengenal profesi Software Architect pada
dunia TI.
Sekilas Norman Sasono
Norman Sasono, "geek" yang saat ini bekerja di Intimedia sebagai
Software Architect. Menerima award Microsoft MVP untuk spesialisasi
C#. Memegang sertifikasi MCSD.NET dan merupakan alumni ITS Surabaya.
Ia juga adalah Architect Leader di INDC (Indonesia .NET Developer
Community) dan sedang membantu mempersiapkan Indonesia Chapter of
IASA (International Association of Software Architect). Ia tertarik
pada bidang Software Architecture & Design, Framework/API
development, programming secara umum dan juga Software Development
Life Cycle. Norman Sasono bisa dihubungi pada e-mail
norman@intimedia.com.
Demikian wawancara singkat seputar profesi Software Architect dan
berbagai pernak-perniknya. Semoga bermanfaat bagi Anda
semuanya. Jika ada saran atau komentar bisa dikirimkan melalui
sony-ak@sony-ak.com. Untuk membaca tulisan menarik lainnya silakan menuju ke
situs Sony AK Knowledge Center yang beralamat di
www.sony-ak.com.
Terima kasih.
| Send
your comments or suggestions |
|
|
|