自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

會(huì)寫程序還不夠,硅谷杰出軟件工程師都有的 5 種能力

移動(dòng)開發(fā)
曾任職于Google和Quora等公司、現(xiàn)任Quip軟件工程師的Edmond Lau,于 《The Effective Engineer》 一書中訪問任職于Facebook、Instagram和Google等知名網(wǎng)路公司的資深軟件工程師,歸納出他們眼中高生產(chǎn)力的杰出軟件工程師都具備的五種能力。

曾任職于Google和Quora等公司、現(xiàn)任Quip軟件工程師的Edmond Lau,于 《The Effective Engineer》 一書中訪問任職于Facebook、Instagram和Google等知名網(wǎng)路公司的資深軟件工程師,歸納出他們眼中高生產(chǎn)力的杰出軟件工程師都具備的五種能力。

一、不害怕探索陌生程序語言

接觸新專案或是轉(zhuǎn)換工作跑道時(shí),都有可能需要學(xué)習(xí)全然陌生的程序語言,許多人對(duì)此感到害怕,甚至未嘗試就先放棄。其中,跳脫舒適圈的恐懼往往多于學(xué)習(xí)程序,會(huì)擔(dān)心是否無法重現(xiàn)過去工作的好表現(xiàn),甚至因此懷疑自身能力。

不論是多厲害的工程師,一定都有起點(diǎn),就像打造Microsoft Windows基礎(chǔ)的微軟資深工程師Dave Cutler為文組出身,沒受過正式電腦科學(xué)教育,比起同輩花更多時(shí)間在錯(cuò)誤中學(xué)習(xí)。在這之中,最重要的兩個(gè)關(guān)鍵為具備「成長(zhǎng)心態(tài)」(growth-mindset)而非「固守心態(tài)」(fixed-mindset),以及「樂于學(xué)習(xí)」(optimize for learning)的態(tài)度。

學(xué)習(xí)陌生程序語言這項(xiàng)關(guān)鍵能力會(huì)越練越上手,并讓你在學(xué)習(xí)過程中成為更好的程序設(shè)計(jì)師。

二、精通Debug

「為什麼程序跑出來和我預(yù)期的不一樣?」是許多工程師會(huì)遇到的問題。Debug能力往往是影響工程師是否能順利完成專案的關(guān)鍵因素,卻被大部分人低估。Debug的系統(tǒng)性思考如下:

  1. 先假設(shè)造成bug的可能原因。
  2. 若假設(shè)為真,界定此假設(shè)可能導(dǎo)致的結(jié)果。
  3. 試著檢視是否有和這些結(jié)果衝突的現(xiàn)象。
  4. 若有衝突表示假設(shè)錯(cuò)誤,要重複上述思考過程。

由此可知,想加快Debug速度,要提升「提出假設(shè)」和「檢視假設(shè)」的能力。假設(shè)能力可隨著Debug經(jīng)驗(yàn)的累積而提升,檢視能力則需加強(qiáng)善用檢測(cè)工具的技能。在此過程,必須先假設(shè)所有東西都是可檢視的,并找出可用來檢測(cè)或加快檢測(cè)速度的工具或機(jī)制,千萬不要只用自己熟悉的工具。

三、開發(fā)節(jié)省時(shí)間的工具

減少時(shí)間做那些電腦就可做的工作,例如開發(fā)節(jié)省時(shí)間的工具和使工作流程自動(dòng)化。

曾負(fù)責(zé)Facebook軟件基礎(chǔ)建設(shè)團(tuán)隊(duì)的軟件工程師Bobby Johnson,帶領(lǐng)該團(tuán)隊(duì)從6人成長(zhǎng)至超過1百人。他觀察到,團(tuán)隊(duì)中表現(xiàn)出色的人多數(shù)寫了許多工具,這些看似和績(jī)效無直接相關(guān)的工具開發(fā)時(shí)間可能佔(zhàn)三分之一的工作時(shí)間,卻因此大大提升工作效率,其中包含用來部署程序、監(jiān)測(cè)系統(tǒng),以及其他可節(jié)省時(shí)間的工具。

四、優(yōu)化重複性工作的速度

軟件工程師每天可能要搜尋、瀏覽函數(shù)定義很多次,善用鍵盤快捷鍵可省下可觀的時(shí)間。例如,每次搜尋需花12秒,類似的步驟每天要重複20次,若用快捷鍵可將搜尋時(shí)間縮短到2秒,一年下來即省了40個(gè)小時(shí)。其他狀況如每次Debug都需要在不同裝置測(cè)試,除了要分別打開app,還要設(shè)定測(cè)試情境,這時(shí)候就可以思考如何加快這類重複性工作的速度。

五、發(fā)展系統(tǒng)性思考模式

寫完程序碼、讓程序可運(yùn)作僅是冰山一角,要產(chǎn)出真正有價(jià)值的程序,必須從程序本身提升到整個(gè)系統(tǒng)來思考。

  • 你的程序和其他程序庫以及其他人寫的功能是否相容?
  • 程序是否測(cè)試完成,并確保其他成員可執(zhí)行你寫的這些功能?
  • 部署你的程序需要改變哪些生產(chǎn)環(huán)境?
  • 新程序?qū)ζ渌谶\(yùn)作的系統(tǒng)是否有負(fù)面影響?
  • 客戶和使用者的新程序使用情況是否如預(yù)期?
  • 新程序是否達(dá)到公司期待的效果?

從巨觀的角度思考問題,可讓你更懂得如何調(diào)配時(shí)間和精力以讓程序達(dá)到***效果。

責(zé)任編輯:李英杰 來源: techug.com
相關(guān)推薦

2014-09-22 09:47:14

2009-02-11 13:15:54

軟件工程師女工程師google

2022-01-16 07:12:30

軟件工程師吵架開發(fā)

2023-06-05 10:07:13

軟件工程平臺(tái)工程師

2017-11-09 14:12:44

大數(shù)據(jù)軟件工程師算法工程師

2009-02-12 14:45:17

軟件工程師

2013-09-03 09:30:44

軟件工程師軟件工程師頭銜

2014-08-20 10:24:11

軟件工程師

2010-08-10 13:29:58

軟件工程師

2022-09-16 08:00:00

軟件工程師求職薪酬

2022-04-18 10:13:32

軟件開發(fā)寫作

2022-07-29 09:12:44

軟件硬件開發(fā)

2020-02-25 22:45:21

程序員技能開發(fā)者

2011-05-16 10:05:33

軟件工程師Java工程師

2013-11-06 09:55:04

2015-06-02 04:08:42

軟件工程師私活

2009-03-20 09:45:45

3G軟件工程師職位

2018-01-09 17:21:18

軟件工程師創(chuàng)業(yè)代碼

2021-04-22 09:00:00

軟件工程師代碼

2009-02-11 13:38:00

軟件工程師程序員職業(yè)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)