釘釘軟件二次開發(fā)就像一艘沒有舵的航船,沒有人知道會(huì)駛向何方。使用了有缺陷的架構(gòu),軟件開發(fā)就會(huì)成為吞噬人力的黑洞。如果一個(gè)軟件開發(fā)組織希望通過合理的成本持續(xù)地遞交成功的產(chǎn)品,那么首要的工作是選擇正確的軟件架構(gòu)師。
在前面幾節(jié)中,我們已經(jīng)從技術(shù)的角度討論了釘釘軟件二次開發(fā)架構(gòu)的方方面面。在這一節(jié)中,我們將要討論一個(gè)更具有普遍意義的話題——軟件架構(gòu)師的素質(zhì)。每個(gè)成功的軟件架構(gòu)師都有自己認(rèn)識(shí)世界、認(rèn)識(shí)軟件、認(rèn)識(shí)架構(gòu)的方式。他們或許擁有成熟的思想體系,或許擁有經(jīng)過大量實(shí)踐驗(yàn)證的經(jīng)驗(yàn),或許是個(gè)孤僻乖戾的天才,或許工作在如魚得水的環(huán)境中,或許曾經(jīng)聽到過神的旨意。
條條大路通羅馬,成功沒有定式。我們探討軟件架構(gòu)師的素質(zhì),是為了從本質(zhì)上解決軟件架構(gòu)問題。很多時(shí)候,問題的產(chǎn)生不是源于技術(shù)原因,而是源于人本身。軟件架構(gòu)師應(yīng)該具備哪些素質(zhì)呢?在我看來,應(yīng)該主要包括以下幾點(diǎn)。誠實(shí)知道的,就是知道的;不知道的,就是不知道的;知道不多,或者不知道,學(xué)習(xí)之后就知道了。這就是軟件開發(fā)中的誠實(shí)。
在職場(chǎng)中打拼而獲得的生存技巧,不能幫助你成為一名成功的釘釘軟件二次開發(fā)架構(gòu)師。假裝知道、回避交流,或者看上去的誠實(shí),也許可以長(zhǎng)期維護(hù)你的權(quán)威形象,同時(shí),也阻礙了你獲得更多的知識(shí)。在我的職業(yè)生涯中,遇見過很多不稱職的軟件架構(gòu)師:他們善于在交流的過程中,不斷地變換自己的想法;或者,通過質(zhì)疑對(duì)方,來轉(zhuǎn)移大家對(duì)自己錯(cuò)誤見解的關(guān)注;或者,技巧性地避重就輕。
不喜歡落下文字,是這些人的典型特征。想象力社交軟件開發(fā)架構(gòu)師應(yīng)該具備很強(qiáng)的形象思維能力。軟件設(shè)計(jì)中的創(chuàng)意靈感基本上來自想象(而不是邏輯推理)。在現(xiàn)實(shí)生活中,有很多循規(guī)蹈矩的人,他們不愿意想象,他們喜歡一成不變的架構(gòu),他們喜歡夸大未知的風(fēng)險(xiǎn),他們對(duì)任何改變都會(huì)做出排斥的反應(yīng)。
我經(jīng)常看到這樣的場(chǎng)景:當(dāng)現(xiàn)有架構(gòu)無法解決現(xiàn)實(shí)問題時(shí),很多軟件架構(gòu)師沒有一丁點(diǎn)想象的沖動(dòng);他們寧愿采用最保守的方式來應(yīng)付,而不論這種方式是否合理。架構(gòu),是軟件的生命、活力和新鮮血液,是生命的需要。在一味保守的思想下,架構(gòu)將成為一具僵尸,失去生命的意義。我認(rèn)為,對(duì)想象和創(chuàng)造沒有興趣的人,不會(huì)成為一個(gè)好的釘釘軟件二次開發(fā)架構(gòu)師。