我多次聽經(jīng)理或招聘人員說,優(yōu)秀工程師是可以與其他優(yōu)秀工程師交換的。他們可能會說,“首席工程師為這個項目選擇了 F# 語言,如果外面沒有太多的 F# 開發(fā)者,那么有幾年經(jīng)驗的優(yōu)秀開發(fā)者應該也還不錯。”
我還聽說過一些這樣的言論,“我知道他們是前端人員,但我們現(xiàn)在需要他們做些后端工作。因為他們本身很優(yōu)秀,所以這沒什么大不了的。”
如果你相信這些蠢話,那我都可以把布魯克林大橋賣給你了。我還創(chuàng)立了下一個獨角獸公司,業(yè)務就是把冰賣給愛斯基摩人!我敢肯定,公司很快會有 10 億美元的估值!機會難得,快來投資吧~
好吧,不開玩笑了,說實在的,“優(yōu)秀的”軟件工程師可以交換,這樣的想法并不靠譜。我有時會對軟件工作感到疑惑,是不是我在簡歷上寫,“我保持良好的記錄,不斷在新技術上開拓馳騁”,然后我就能去任何想去的公司了?
我不敢相信今天要坐下來和你解釋這一點,但是,現(xiàn)在讓我們從語言差異開始說起。實際上,我已經(jīng)將多種語言的代碼投入生產(chǎn),從 Scala 到 C#,從 Java 到 JavaScript。即使我能在幾周內(nèi)學會任何類 C 語言的的語法,(給別人可能需要更多時間,)我仍然清楚地知道,我不會用一種新的語言去開發(fā)一個生產(chǎn)代碼庫。
那么行業(yè)或商業(yè)背景呢?我已經(jīng)涉獵在很多領域,包括健康衛(wèi)生、電子商務、教育和電信。我是否應該認為我有資格在社交媒體工作哪?那么制造業(yè)、航空航天、數(shù)字加密貨幣(Cryptocurrency)哪?我的領域究竟能拓展到哪一塊?在我被要求從 Web 過渡到移動、桌面或物聯(lián)網(wǎng)時,也發(fā)生了同樣的情況。
現(xiàn)在,讓我給你講個小故事。去年,在做后端 Java web 服務工程師的全職工作時,我還參與了另一個團隊的工作,他們要在 Ionic Framework 中做一個移動應用程序,并使用 Angular、TypeScript 和一些定制庫打組合拳。直到長達八個月的項目臨近結束時,我才得以“適應”這種融合了 Ionic/Angular/TypeScript 的工作方式。實際上,“適應”這個詞可能有點夸大其詞。但仍然困擾我的是,我要在控制器中公開字段,因為需要在視圖中顯示它們,或者常量應該與其他變量一樣命名。
順便一說,如果你想在 JavaScript 中使用靜態(tài)類型(static typing),你很快就會發(fā)現(xiàn),這條路走不通。必須準備好“任何”類型!不過,我喜歡使用的 RxJs 訂閱。
在項目結束后,我愉快地撤了。我現(xiàn)在再也不會自稱為 TypeScript 或移動開發(fā)者了。這不是要在口頭上表達優(yōu)越性,而是一個簡單的經(jīng)驗問題:八個月的時間不足以證明我在此方面的資質(zhì)。我敢打賭,任何全職編程的人都會同意我的看法。
一個花了幾年時間研究某種語言的開發(fā)者,將能夠毫不費力地用它思考。她會在腦海中隨時準備好所有需要的資源來完成任務,然后繼續(xù)投入下一個任務。她了解語言環(huán)境,可以輕松地將標準庫和第三方庫結合成一個具有內(nèi)聚性的新功能,就像一把鑰匙對應一把鎖一樣,以此來輕松地解決問題。然而,當她不知道什么是可用的時候,她會重新造輪子,或者更糟的情況是,她會完全不知所措。
每一種語言都有著其獨特的習慣用語、構建和依賴管理工具、框架、庫、在線社區(qū)、IDE 等一系列東西,這些東西在日常實踐中,對開發(fā)者生產(chǎn)力的影響比我們想象的要大得多。
但是,所有的語言都一樣嗎?我是說,C# 和 C++ 的開發(fā)者,到底有什么區(qū)別?“只是 # 和 ++ 的區(qū)別,哈哈,沒什么大不了的!”快,把說這話的人扔去喂獅子!
我不是說任何人都不應該更換自己的語言、行業(yè)或設備。我只是說,程序員是不一樣的。一個以 F# 為主要語言編寫應用程序的軟件團隊,不會從我的 Java 經(jīng)驗中獲益,盡管我也花了大量時間寫 Scala。我只是說,我們不能找到那些“優(yōu)秀的開發(fā)者”,然后出于奇思妙想,隨機地把他們拖到不同的團隊,并期望他們能夠發(fā)揮出應有的效果。我是說,不要把所有“優(yōu)秀的”開發(fā)者當作是可以交換的。
可交換開發(fā)者的神話是不現(xiàn)實的。人與人之間的不同無法消除,并愿每個人都能找到最適合自己的那個角色!
-
軟件工程師
+關注
關注
8文章
243瀏覽量
21348
發(fā)布評論請先 登錄

硬件工程師看了只會找個角落默默哭泣#硬件工程師 #MDD #MDD辰達半導體 #產(chǎn)品經(jīng)理 #軟件工程師

工程師經(jīng)驗分享:社區(qū)之星 趙云 沉著穩(wěn)定才能做好技術

如何成為一名嵌入式軟件工程師?



嵌入式軟件工程師就業(yè)好不好?
Testin云測獲智能化軟件工程工作組優(yōu)秀單位榮譽

不同時期的硬件工程師,最怕發(fā)生的事 #電子工程師 #硬件工程師 #內(nèi)容過于真實 #YXC晶振 #揚興科技
為什么嵌入式驅(qū)動開發(fā)工程師可以拿高薪?


FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區(qū)別?

評論