- 相關(guān)推薦
杰出軟件工程師具備的能力
硅谷是所有軟件工程師向往的天堂,硅谷杰出軟件工程師具備哪些能力呢?一起和yjbys小編來(lái)了解一下吧!
一、不害怕探索陌生程序語(yǔ)言
接觸新專(zhuān)案或是轉換工作跑道時(shí),都有可能需要學(xué)習全然陌生的程序語(yǔ)言,許多人對此感到害怕,甚至未嘗試就先放棄。其中,跳脫舒適圈的恐懼往往多于學(xué)習程序,會(huì )擔心是否無(wú)法重現過(guò)去工作的好表現,甚至因此懷疑自身能力。
不論是多厲害的工程師,一定都有起點(diǎn),就像打造Microsoft Windows基礎的微軟資深工程師Dave Cutler為文組出身,沒(méi)受過(guò)正式電腦科學(xué)教育,比起同輩花更多時(shí)間在錯誤中學(xué)習。在這之中,最重要的兩個(gè)關(guān)鍵為具備「成長(cháng)心態(tài)」(growth-mindset)而非「固守心態(tài)」(fixed-mindset),以及「樂(lè )于學(xué)習」(optimize for learning)的態(tài)度。
學(xué)習陌生程序語(yǔ)言這項關(guān)鍵能力會(huì )越練越上手,并讓你在學(xué)習過(guò)程中成為更好的程序設計師。
二、精通Debug
「為什么程序跑出來(lái)和我預期的不一樣?」是許多工程師會(huì )遇到的問(wèn)題。Debug能力往往是影響工程師是否能順利完成專(zhuān)案的關(guān)鍵因素,卻被大部分人低估。Debug的系統性思考如下:
先假設造成bug的可能原因。
若假設為真,界定此假設可能導致的結果。
試著(zhù)檢視是否有和這些結果沖突的現象。
若有沖突表示假設錯誤,要重復上述思考過(guò)程。
由此可知,想加快Debug速度,要提升「提出假設」和「檢視假設」的能力。假設能力可隨著(zhù)Debug經(jīng)驗的累積而提升,檢視能力則需加強善用檢測工具的技能。在此過(guò)程,必須先假設所有東西都是可檢視的,并找出可用來(lái)檢測或加快檢測速度的工具或機制,千萬(wàn)不要只用自己熟悉的工具。
三、開(kāi)發(fā)節省時(shí)間的工具
減少時(shí)間做那些電腦就可做的工作,例如開(kāi)發(fā)節省時(shí)間的工具和使工作流程自動(dòng)化。
曾負責Facebook軟件基礎建設團隊的軟件工程師Bobby Johnson,帶領(lǐng)該團隊從6人成長(cháng)至超過(guò)1百人。他觀(guān)察到,團隊中表現出色的人多數寫(xiě)了許多工具,這些看似和績(jì)效無(wú)直接相關(guān)的工具開(kāi)發(fā)時(shí)間可能占三分之一的工作時(shí)間,卻因此大大提升工作效率,其中包含用來(lái)部署程序、監測系統,以及其他可節省時(shí)間的工具。
四、優(yōu)化重復性工作的速度
軟件工程師每天可能要搜尋、瀏覽函數定義很多次,善用鍵盤(pán)快捷鍵可省下可觀(guān)的時(shí)間。例如,每次搜尋需花12秒,類(lèi)似的步驟每天要重複20次,若用快捷鍵可將搜尋時(shí)間縮短到2秒,一年下來(lái)即省了40個(gè)小時(shí)。其他狀況如每次Debug都需要在不同裝置測試,除了要分別打開(kāi)app,還要設定測試情境,這時(shí)候就可以思考如何加快這類(lèi)重復性工作的速度。
五、發(fā)展系統性思考模式
寫(xiě)完程序碼、讓程序可運作僅是冰山一角,要產(chǎn)出真正有價(jià)值的程序,必須從程序本身提升到整個(gè)系統來(lái)思考。
你的程序和其他程序庫以及其他人寫(xiě)的功能是否相容?
程序是否測試完成,并確保其他成員可執行你寫(xiě)的這些功能?
部署你的程序需要改變哪些生產(chǎn)環(huán)境?
新程序對其他正在運作的系統是否有負面影響?
客戶(hù)和使用者的新程序使用情況是否如預期?
新程序是否達到公司期待的效果?
從宏觀(guān)的角度思考問(wèn)題,可讓你更懂得如何調配時(shí)間和精力以讓程序達到最佳效果。
【杰出軟件工程師具備的能力】相關(guān)文章:
軟件工程師應該具備的條件10-14
現場(chǎng)監理工程師應具備的能力10-20
文秘需要具備的能力05-06
導演需要具備的能力07-22
秘書(shū)必須具備的能力10-15
編導應具備的能力06-23
CFO必須具備的能力09-26
中層領(lǐng)導必須具備的能力05-19
采購人員必須具備的能力06-13