一、不害怕探索陌生程序語言
接觸新專案或是轉(zhuǎn)換工作跑道時,都有可能需要學(xué)習(xí)全然陌生的程序語言,許多人對此感到害怕,甚至未嘗試就先放棄。其中,跳脫舒適圈的恐懼往往多于學(xué)習(xí)程序,會擔(dān)心是否無法重現(xiàn)過去工作的好表現(xiàn),甚至因此懷疑自身能力。
不論是多厲害的工程師,一定都有起點,就像打造Microsoft Windows基礎(chǔ)的微軟資深工程師Dave Cutler為文組出身,沒受過正式電腦科學(xué)教育,比起同輩花更多時間在錯誤中學(xué)習(xí)。在這之中,最重要的兩個關(guān)鍵為具備「成長心態(tài)」(growth-mindset)而非「固守心態(tài)」(fixed-mindset),以及「樂于學(xué)習(xí)」(optimize for learning)的態(tài)度。
學(xué)習(xí)陌生程序語言這項關(guān)鍵能力會越練越上手,并讓你在學(xué)習(xí)過程中成為更好的程序設(shè)計師。
二、精通Debug
「為什么程序跑出來和我預(yù)期的不一樣?」是許多工程師會遇到的問題。Debug能力往往是影響工程師是否能順利完成專案的關(guān)鍵因素,卻被大部分人低估。Debug的系統(tǒng)性思考如下:
1、先假設(shè)造成bug的可能原因。
2、若假設(shè)為真,界定此假設(shè)可能導(dǎo)致的結(jié)果。
3、試著檢視是否有和這些結(jié)果沖突的現(xiàn)象。
4、若有沖突表示假設(shè)錯誤,要重復(fù)上述思考過程。
由此可知,想加快Debug速度,要提升「提出假設(shè)」和「檢視假設(shè)」的能力。假設(shè)能力可隨著Debug經(jīng)驗的累積而提升,檢視能力則需加強善用檢測工具的技能。在此過程,必須先假設(shè)所有東西都是可檢視的,并找出可用來檢測或加快檢測速度的工具或機制,千萬不要只用自己熟悉的工具。
三、開發(fā)節(jié)省時間的工具
減少時間做那些電腦就可做的工作,例如開發(fā)節(jié)省時間的工具和使工作流程自動化。
曾負(fù)責(zé)Facebook軟件基礎(chǔ)建設(shè)團隊的軟件工程師Bobby Johnson,帶領(lǐng)該團隊從6人成長至超過1百人。他觀察到,團隊中表現(xiàn)出色的人多數(shù)寫了許多工具,這些看似和績效無直接相關(guān)的工具開發(fā)時間可能占三分之一的工作時間,卻因此大大提升工作效率,其中包含用來部署程序、監(jiān)測系統(tǒng),以及其他可節(jié)省時間的工具。
四、優(yōu)化重復(fù)性工作的速度
軟件工程師每天可能要搜尋、瀏覽函數(shù)定義很多次,善用鍵盤快捷鍵可省下可觀的時間。例如,每次搜尋需花12秒,類似的步驟每天要重?20次,若用快捷鍵可將搜尋時間縮短到2秒,一年下來即省了40個小時。其他狀況如每次Debug都需要在不同裝置測試,除了要分別打開app,還要設(shè)定測試情境,這時候就可以思考如何加快這類重復(fù)性工作的速度。
五、發(fā)展系統(tǒng)性思考模式
寫完程序碼、讓程序可運作僅是冰山一角,要產(chǎn)出真正有價值的程序,必須從程序本身提升到整個系統(tǒng)來思考。
· 你的程序和其他程序庫以及其他人寫的功能是否相容?
· 程序是否測試完成,并確保其他成員可執(zhí)行你寫的這些功能?
· 部署你的程序需要改變哪些生產(chǎn)環(huán)境?
· 新程序?qū)ζ渌谶\作的系統(tǒng)是否有負(fù)面影響?
-
軟件工程師
+關(guān)注
關(guān)注
8文章
218瀏覽量
21177
發(fā)布評論請先 登錄
相關(guān)推薦
Testin云測獲智能化軟件工程工作組優(yōu)秀單位榮譽
![](https://file1.elecfans.com/web3/M00/05/24/wKgZPGd9BIKAasMYAAP9Ml_injM792.jpg)
不同時期的硬件工程師,最怕發(fā)生的事 #電子工程師 #硬件工程師 #內(nèi)容過于真實 #YXC晶振 #揚興科技
特斯拉招募軟件工程師強化無人駕駛與機器人遠程操作
![](https://file1.elecfans.com/web1/M00/F3/FA/wKgaoWciDI6ABdEhAAJtvu-cw_c556.jpg)
當(dāng)你的工程師朋友失聯(lián)時,別氣,ta真的是在忙工作 #搞笑 #電子愛好者 #硬件工程師 #晶振 #揚興科技
![](https://file1.elecfans.com/web2/M00/07/FB/wKgZombz6VuAFeotAAIjSCj1HKI007.jpg)
FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區(qū)別?
![](https://file1.elecfans.com/web2/M00/FF/40/wKgaomahti2AV26dAAMiNIjdnKg435.jpg)
嵌入式軟件工程師如何提升自己?
索尼誠邀軟件工程師參與PS免費手游平臺設(shè)計
嵌入式軟件工程師和硬件工程師的區(qū)別?
![](https://file1.elecfans.com/web2/M00/E5/09/wKgZomZB1aqAfoLMAALwKMk88bw153.jpg)
![](https://file1.elecfans.com/web2/M00/DF/FB/wKgZomY1H9uAdzzJAAMwQMmJ0js548.jpg)
“班長!說好畢業(yè)后當(dāng)硬件工程師,你怎么..." #搞笑 #電子行業(yè) #電子工程師 #晶振 #揚興科技
![](https://file1.elecfans.com/web2/M00/DE/DE/wKgZomYwuQ-AegjsAAISSibiD4I286.jpg)
評論