與此同時,位于南京的趨勢中國研發中心在招聘中也遇到了挑戰。從上海開 往南京的火車上,趨勢的CTO陳怡芬同意南京研發中心的研發人員數目擴充一倍,面對這樣一個機遇,研發中心的負責人陸劍峰既興奮又忐忑不安,因為要短時間 內招到如此多優秀的人才,面臨的壓力也不小。為此,他還專門從總部請來了幾位研發高級副總裁和全球產品部用戶界面總監Amy Ma來鼓氣和傳授經驗。
對此,很多人耿耿于懷:中國如此多的開發人員,難道就選不出區區幾十人嗎?
當然,這些國際性的大公司對人員的挑剔是重要的因素,因為他們都遵循“寧缺毋濫”的原則。然而,當我們了解了這些企業的需求之后,你會發現,其實很多人 并不是栽在了網上四處流傳的號稱可以考察智商的“微軟面試題”上,而是很多顯而易見的基礎知識讓他們被拒之門外。靜下心來,仔細的分析一下,或許可以為自 己的明天找到更好的彌補之路。
基礎知識要扎實,會編程和懂編程差距甚遠
衡量一下,你能把用C#編程和懂C#編程區分開嗎?
事實上,能寫C代碼和真正寫一段C程序有相當的差別,這并不是說程序員所寫的代碼有錯誤或者不能運行,而是程序整體的架構就不對。軟件設計工程師應該知道他寫了某段程序對緩存的需求有多高,對CPU和GPU要求是怎樣,這些都應該是在他寫程序的時候大腦中非常清晰的。如果對整個系統的了解不透徹,就無法回答面試中的很多問題。張宏江說:“很多人只是將語言純粹當作一個工具來使用,而產品開發所需要的素質遠不止于此!
現在的高校在講授計算機課程的時候太分散,沒有按照系統的知識傳遞給學生,因此教學中需要把這些課程結合在一起,學計算機也應該像學數學一樣,一環扣一 環,把整個體系搞清楚,把軟件開發當作一門學問,而不是當作一種工具來學。當然,用培養科學家的方法培養工程師也會有問題,有些人會朝做虛的方向發展,他 會蔑視內存管理這些東西。張宏江說:“我在微軟看到很多大師,這些人厲害之處在于他們對系統的理解,所以寫出的程序才能這么漂亮!彼,張宏江建議現在的學生應當系統地學習計算機課程,并通過理解將各種內容融會貫通起來,甚至可以通過項目的形式來實踐書本中的零散知識。
加強軟件工程的思想
提起軟件工程,不同的人大腦中會有不同的想法。而對于研發中心這種以產品開發為中心的機構來說,軟件工程并不只是CMM類的學術詞匯和質量體系認證,而 是軟件工程化的開發流程。也就是說,軟件設計人員需要了解如何把軟件需求變成一個軟件功能,如何把功能再分解成模塊,以及評估每個模塊的開發所需要的時間 和優先級。他需要很清楚,哪些功能是必需的——沒有這個功能就無法稱之為一個產品;而哪些特性是比較吸引用戶的;哪些在時間緊迫的情況下是必須要放棄的。
趨勢科技工程與信息部全球執行副總裁梁國屏表示,在全球的研發體系中有專門的管理流程。一個想法要首先變成一份市場需求文檔,要評估整個市場份額和趨勢 所占的比例,產品規格說明書也要確定,項目經理做項目計劃,產品設計計劃,測試計劃,產品開發完成后還要做評估。而在這整個過程中,編碼時間只是占據項目 時間的1/6左右。
張宏江說:“如今的產品開發都是很大的工程,不可能是一個人對整個程序了如指掌,所以應該以軟件工程的理念去做。 每個軟件設計的人員不但知道自己需要做什么,還需要了解自己在整個軟件開發流程中起著什么作用,如何與其他同事配合工作,共同解決問題。適時的把“架構師 ”的概念融入整個流程!
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/