要成為當今軟件開發中受人尊敬的專業人士,你需要掌握各種技能,而且達到高水平的專業級別。最起碼,你需要能夠把你的英語解決方案翻譯成軟件實現。 不僅技術上要正確,在業務上也得可行。因此,對業務有一個深刻的理解總是沒有壞處的。這使得你可以有效地收集和談判客戶的需求,并確保軟件能夠經過時間的 考驗。企業希望軟件是一個長期的投資,能夠在幾年甚至幾十年之后依然物盡其用。很少有希望軟件只存活幾個星期的。如果真的有,那可真是一個糟糕的投資。
遺傳編程

你可能會覺得自動化的軟件開發是一個奇思妙想,甚至覺得這是不可能的。但是遺傳編程告訴我們nothing is impossible。軟件會產生變異,改變它們的指令,努力順利發展以變得更適合。在每個突變后,它們將自行評估它們是否正趨向于期望的輸出。這里對于 合適的評估是由測試提供的。而且是大量的測試。這些測試都封裝了經過時間、空間和功能性制約的業務邏輯。突變越合適,通過的測試越多。這是值得重申的是, 我們不應該關心生成實現的細節。事實上,生成多個符合要求的解決方案是完全合理的。要減少解決方案只需要增加更多限制問題就可以了。

軟件開發人員的傳統角色將會被淘汰。他們很快會被重新定位到設計、開發和維護測試。即,計算機的程序設計將變得不必要,因為它們自己就能編程。這種 范式將對軟件行業產生翻天覆地的影響。改變業務需求,直接改變測試,而這會觸發軟件自動化的進化。修改現有代碼,以滿足新興需求的壓力將一去不復返。計算 機會做好這件事:因為它不會有重新開始的顧慮。它也不關心可維護性,并且最后一定更兼容不斷變化的業務需求。

說了這么多,我決定把將來的重心放到測試上,以應對將來軟件行業的變化。那么,你呢?

對軟件開發的熟練要求放寬了

在美國,對軟件開發人員的需求一直在增長,但對技能熟練程度的要求卻在降低。計算機編程退步到了尋找正確的軟件庫然后將它們串接起來得程度。那么你 如何解釋軟件或平臺作為服務的迅速崛起?是的,有時你是需要弄清楚哪些組件裝配在一起才最適合你的特定問題,而且,當找不到這樣的組件時,你必須自己動手 創建。但是,現在的問題是,很多時候,該軟件已經存在。在這種情況下,你的工作就是無聊重復的順序:選擇庫,聯合庫,按照需求測試。

但是先等等!你可能會認為,編程還囊括了很多合同規定的內容。當然,我們可以構建一個已經構建過的結構,但它們還需要個性化,才能適應特定的業務需 求。這無疑需要一定程度技術和智慧的,對吧?而對于這種說法,我承認。是的,業務需求常常是非常多樣和特殊的,然而現在卻在開始漸漸地變得大同小異。

因此,選擇組件來滿足業務需求成為了自動化的主要目標。既然有這么多潛在的組合,那么那些永遠不需要睡覺、吃飯和休息的員工才是最完美的員工。人工輔助軟件開發的時代正在到來。也就是說,計算機將執行大部分的開發步驟,而人類只需要協助它們即可。

在這個新的時代,人工智能研究人員和測試人員將占據統治地位。人工智能研究人員負責想出大致的思路。他們將確定需要解決哪些問題,即通過給定的輸入 描述期望的輸出。然后,測試人員編寫斷言這個問題確實被解決的測試。也就是說,驗證正確的輸出是由給定的輸入確定的。此時的計算機負責將給定的輸入轉換為 所需的輸出。

index-icon-weibo index-icon-facebook index-icon-twitter github-1
wen-xin-2
? ??友情鏈接 | 法律說明? ? ? ? ? 北京起步科技股份有限公司 ??2006-2016 ? ? ? ?京ICP備13007148號