程式設計師能被淘汰嗎? | Journal
一些工具或開發專案的目的是為了淘汰程式設計師。讓業務團隊控制系統的行為。
從商業管理的角度來看,這聽起來是個好主意。想想看,如果我們不需要僱傭程式設計師,也不需要浪費時間與他們溝通需求,就可以省下很多錢。在現實中,我從來沒有見過一個工具或專案在這方面取得成功。
幾年前,我作為承包商參與了一個這樣的專案。我們正在為一個大型企業客戶編寫一個呼叫中心應用程式。這個系統的架構師說服了客戶,業務分析員將能夠用一種高階商業語言(由架構師發明)來編寫,這樣未來的變化就不需要僱用程式設計師來修改系統。據稱,每一行商業指令碼都有20或30行低階程式碼的力量。因此,這承諾比取消程式設計師的效率還要高。
這種商業語言有類、建構函式、解構函式,以及幾乎所有現代物件導向語言的特徵。也許一開始它是一種簡化的語言,業務團隊可以使用,但它的複雜程度與我們為實現系統的其他部分而編寫的Java程式碼相同。沒有經過程式設計師培訓的業務分析員是不可能用這種語言寫出有效的程式碼的。
更糟糕的是,程式設計團隊在用這種語言編寫程式碼時也很費勁。沒有偵錯程式或其他工具,甚至沒有一個帶顏色編碼的編輯器。當你遇到錯誤時,你必須確定它是指令碼的錯誤還是直譯器的錯誤,而直譯器幾乎每天都在修改。
即使我們承認消除對程式設計師的需求是一個值得追求的目標,我也認為這是不可能的。
這是因為程式設計師除了擁有程式語言的知識外,還有其他的技能和能力。
無論這是由訓練還是天性決定的,我都說不清楚。可能是兩者都有吧。程式設計師擁有在我們的領域中取得成功所必需的技能,這些技能透過實踐得到了培養。不管怎麼說,我注意到程式設計師在許多方面往往比他們的非程式設計師同事更有能力。
程式設計師的思維更有邏輯性:
透過if-then-else條件工作是任何程式設計師的核心能力。當我和商業團隊一起做需求工作時,我經常遇到缺乏同樣能力的情況。
在一個開發抵押貸款分析專家系統的專案中,我經常收到關於如何處理具有特定貸款價值比或特定貸款金額的貸款的規則要求。通常,這些要求會有差距。我對從0美元到10萬美元的貸款有要求;對從15萬美元到25萬美元的貸款有要求;對超過25萬美元的貸款也有要求。但在10萬美元和15萬美元之間有一個漏洞。在其他時候,我對重疊的範圍有相互衝突的要求。
程式設計師具有分析問題和提出解決方案的卓越能力:
他們擅長分析先決條件、事件的順序和結果。當然,這是程式設計的一個關鍵技能,但它在故障排除和商業案例分析中也很有用。
程式設計師通常具有的另一個關鍵能力是在混亂中創造秩序的能力。我認為這是因為程式設計師要負責在程式中創造秩序。我們把系統分成子系統,把子系統分成模組,把模組分成單元。沒有任何物理約束規定了解決方案的結構。無論存在什麼秩序,都是由編寫程式碼的人創造的。反思我曾經工作過的一些程式碼庫,很明顯,這並不是所有程式設計師的普遍特徵。
雖然人們通常認為程式設計師是編碼員,他們的主要才能在於編寫程式語言的神秘語法。我認為,他們的主要才能在於他們分析、排除故障和解決問題的能力。程式碼只是將程式設計師的思維過程推向高潮的物理表現形式。
假設有人設法寫了一個工具,允許人們定義軟體並控制其行為,而不需要寫程式碼。使用這個工具的人仍然需要程式設計師的所有其他心理能力。如果這種情況發生,我們並沒有消滅程式設計師;我們只是稍微改變了工作描述。
是的,我可以設想在遙遠的未來,人工智慧被用來開發程式碼--但這也不會消除程式設計師;它只是將他們移植到一個不同的平臺。
Reddit網友評論:
"如果我們有一個功能強大的工具,只要你可以在工具中寫出你想要的規範,這個工具就會讓它們變成現實,怎麼樣?"
但是,業務人員真的很不擅長編寫規範。
“如何製作一壺咖啡”的重點不是製作一壺咖啡。而是寫出清晰、簡潔、正確的步驟:
- 喝咖啡
- 獲取過濾器
- 加水
- 點選按鈕開始
但是,對於新手,會疑惑:咖啡在哪裡?為什麼有兩種型別的過濾器?多少水?糖在哪裡?
程式設計師需要有某種型別的思維。人們忽視了。它看起來很基礎,直到你試著把它寫下來,突然間它比你想象的要冗長和困難得多。
大多數業務人員也懶得寫出他們已經知道如何規定的事情。
關鍵是:不是“每個人都不擅長規範”,而是“沒有人專注於提高規範技能”:
有很多方法可以改進規範,但企業很少關心。經理要求更多的程式設計師比在任何技術方面培訓經理更容易。
任何足夠完整的規範都可以轉換為程式語言並建立有效的程式?
如果不是因為存在人類需要對模稜兩可的情況做出決定,那麼編寫規範比編寫程式更容易,UML 是對此的嘗試,但由於所有相同的原因而失敗了——程式設計與檔案中的怪異符號無關,它與解決定義不明確、模糊和模稜兩可的問題的複雜邏輯有關。
有另一篇關於 AI 取代程式設計師工作的帖子,基本上是說 AI 將很難將業務需求轉化為能夠滿足業務需求的程式碼,因為人們很不擅長編寫需求。相比之下,人們非常擅長藝術,所以也許人工智慧更有可能開始創造“好的藝術”。
人工智慧之所以擅長藝術,是因為它不需要精確。一個非常酷的城市景觀可以有幾乎無窮無盡的變化,同時看起來相似。因此,任何具有一定複雜程度的東西都可以看起來很酷。
業務需求要求精確:您不能隨便吐出類似於可能模糊的輸入要求的隨機解決方案變體。您必須仔細考慮並迭代以解決特定問題,然後在看到上次迭代中沒有解決的問題時進行更多迭代。
AI 會實現這一目標,但現在它在產生類似人類的模式生成方面做得很好,但(具有諷刺意味的是)在人類邏輯和迭代系統方面做得很差。
相關文章
- 平面設計會被淘汰嗎?
- 程式設計師高薪盛宴背後:未來有哪些程式設計師會被淘汰?程式設計師高薪
- 中年程式設計師只能坐等被裁嗎?程式設計師
- 程式設計師必讀期刊之 Journal of School Psychology程式設計師
- IT行業高薪的背後:未來9成的程式設計師會被淘汰?行業高薪程式設計師
- 程式設計師不會SQL?骨灰級工程師:全等著被淘汰吧!這是必會技能!程式設計師SQL工程師
- 老程式設計師被新程式設計師拍在沙灘上?程式設計師
- 42歲阿里程式設計師年薪200萬,面試小公司竟然被淘汰了?阿里程式設計師面試
- 程式設計好學嗎?零基礎能學程式設計嗎?程式設計
- 老程式設計師被裁,應屆生卻能月薪 1.3 萬?這你能忍?程式設計師
- 3年程式設計師寫的程式碼被應屆生懟:我能三行搞定!也配叫程式設計師?程式設計師
- 你需要程式設計師鼓勵師嗎?程式設計師
- 英語不好能學程式設計嗎?程式設計
- 阿里程式設計師試用期被淘汰,主管給出的理由讓人意想不到阿里程式設計師
- 程式設計師,你焦慮嗎?程式設計師
- 程式設計師的路好走嗎程式設計師
- 漫畫:程式設計師,你能“管理”好你的產品經理嗎?程式設計師
- 只有程式設計師才懂的高考卷,你能拿滿分嗎?程式設計師
- java程式設計師學歷重要嗎?Java程式設計師
- 程式設計師適合創業嗎?程式設計師創業
- 技術變化那麼快,程式設計師如何做到不被淘汰?程式設計師
- 架構師如何賦能程式設計師團隊? - esilva架構程式設計師
- 現在入行學IT晚不晚?年紀大了還能當程式設計師嗎?程式設計師
- 程式設計師被懟!HR:對不起,我們不招“精通Excel”的程式設計師程式設計師Excel
- 程式設計師寫書到底賺錢嗎程式設計師
- 30歲的程式設計師,你慌了嗎?程式設計師
- 羨慕程式設計師的高薪?你會讓你的孩子當程式設計師嗎?程式設計師高薪
- 大齡程式設計師找不到工作,程式設計師真的是吃青春飯的嗎?程式設計師
- 【linux運維】linux運維會被淘汰嗎?會消失在雲端計算中嗎?Linux運維
- 參加長沙Java培訓前景如何?程式設計師30歲會被裁嗎?Java程式設計師
- 程式設計師:寫作能收穫什麼?程式設計師
- 從程式設計師到架構師,有捷徑嗎?程式設計師架構
- 最近程式設計師頻繁被抓,如何避免面向監獄程式設計!?程式設計師
- 技術變化那麼快,Java程式設計師如何做到不被淘汰?Java程式設計師
- 程式設計師30歲投簡歷找工作,還能找到滿意的工作嗎?程式設計師
- The Data Way Vol.8|離開了程式碼,還能被稱為工程師嗎?工程師
- 程式設計師跳槽到對手公司,被前老闆設計陷害程式設計師
- 女程式設計師是這樣被惡搞的程式設計師