程序员如何让自己的工作更上一个台阶
軟件開發(fā)可能是一份吃力不討好的工作,你要有創(chuàng)意,并能解決問題。有時(shí)候你覺得自己的代碼寫得很優(yōu)雅,卻無法向不懂代碼的人炫耀。經(jīng)常看見好萊塢電影里面,導(dǎo)演把我們描繪成精英×××,坐在一個(gè)神秘的終端前面,很快就能破解政府部門的密碼,并在60秒內(nèi)將整個(gè)數(shù)據(jù)庫復(fù)制到U盤里。不過,我覺得我連自己的筆記本電腦都破解不了,更不用說去破解別人的了,而且有時(shí)候我把一個(gè)Word文檔拷貝到U盤里都要花上不止一分鐘。
然而,在現(xiàn)實(shí)世界里,程序員并不像好萊塢導(dǎo)演們描述得那么厲害。我們的老板和同事并不在乎我們的代碼有多優(yōu)雅。他們不明白,我們每天都會(huì)被問一些愚蠢的問題,比如估計(jì)需要多長時(shí)間可以完成某項(xiàng)功能,而之前我們對(duì)這些功能可能一無所知。坦率地說,我們經(jīng)常被要求做一些甚至連他們自己都不知道是什么事情的事情!我們的價(jià)值常常以能否在數(shù)小時(shí)內(nèi)快速寫出代碼來衡量。我們經(jīng)常要面對(duì)不合理的截止期限,工作和生活的平衡往往是不存在的。不小心出個(gè)bug就有可能讓之前所有獲得的“好評(píng)”功虧一簣。事實(shí)上,更努力地工作通常只會(huì)讓別人提高對(duì)你的期望,而當(dāng)你稍稍沒有達(dá)到“標(biāo)準(zhǔn)”,你在別人眼里就成了一個(gè)“懶鬼”。
我們都很欽佩像喬布斯和扎克伯格這樣的人,并且認(rèn)為如果我們更有才華、更有創(chuàng)造力、更有動(dòng)力,也會(huì)在工作中取得更大的成功。我們會(huì)一直工作到凌晨,學(xué)習(xí)最新的框架和技術(shù),花費(fèi)整個(gè)周末來重構(gòu)我們的核心庫,以便更快、更高效地完成工作。而在很多情況下,我們忽視了自己的需求,忽視了朋友和家人,甚至忘記了為什么要這么折騰。有多少次,我埋頭苦干,把代碼寫出來,只是為了讓老板和同事不再抱怨,而不是為了得到什么榮譽(yù)或獎(jiǎng)勵(lì)。
“為什么你需要這么長時(shí)間開發(fā)這個(gè)新功能?為什么QA會(huì)在你的代碼中找到bug?你不測(cè)試自己的代碼嗎?”
當(dāng)有人說我們的小孩長得很丑,或者當(dāng)我們付出的努力和犧牲只換來消極的反饋和抱怨時(shí),我們很容易就進(jìn)入“防御”模式。有時(shí)候別人只是指出代碼中被忽略的一個(gè)小問題,或者要求加入一個(gè)小功能,都可能會(huì)引來我們指責(zé)性的回應(yīng)。我們?nèi)绾位貞?yīng)他人,如何回應(yīng)同事和客戶的抱怨,將會(huì)對(duì)我們的價(jià)值產(chǎn)生巨大的影響,并最終影響我們的職業(yè)生涯。
成功的程序員是那些抱有正確態(tài)度的人,好的態(tài)度終將勝過高超的技能,并且足以讓你得到非技術(shù)人士的認(rèn)可和賞識(shí)。
移情是關(guān)鍵
真正能夠影響我們職業(yè)生涯的是我們的態(tài)度。正如之前所說的,沒有人會(huì)關(guān)心你工作了多少個(gè)小時(shí),或者你的代碼有多么優(yōu)雅、多么富有想象力。努力寫好代碼是我們的本職工作,我們不會(huì)因?yàn)樽隽朔謨?nèi)事而得到額外的獎(jiǎng)勵(lì)。
別人在意的是你如何回應(yīng)他們的需求。不管是針對(duì)同事、客戶還是最終用戶,這個(gè)前提都適用。如果你想成為別人眼里的優(yōu)秀員工,首先要讓他們欣賞你。我見過一些我認(rèn)為最差勁的程序員,但他們?cè)诠镜奈恢脜s一路直上,超越了那些經(jīng)驗(yàn)豐富和才華橫溢的程序員,僅僅是因?yàn)樗麄兩钪O職場(chǎng)的游戲規(guī)則,知道如何與別人相處。通常,這些人最終會(huì)成為領(lǐng)導(dǎo)者和管理者,而其他程序員則繼續(xù)在“氣泡”里掙扎,不明白自己錯(cuò)在哪里,不明白為什么沒有得到應(yīng)得的嘉獎(jiǎng)。
讓我們舉一些典型的例子,看看我們應(yīng)該怎樣做才能讓人們對(duì)我們做出更積極的回應(yīng)。
老板:我不明白為什么需要3天時(shí)間才能在頁面上添加一個(gè)按鈕?喬上周添加一個(gè)新按鈕只用了2秒鐘!
錯(cuò)誤的回答:喬開發(fā)的是Windows應(yīng)用程序,并且他是往按鈕欄添加按鈕,而那個(gè)按鈕欄本來就是為了方便添加按鈕而設(shè)計(jì)的!而我這個(gè)是一個(gè)Web應(yīng)用程序,它需要支持所有設(shè)備,動(dòng)態(tài)適應(yīng)屏幕大小,還要支持各種瀏覽器及國際化!頁面上沒有可以放額外按鈕的空間,所以我不得不重新設(shè)計(jì)頁面,在不同的瀏覽器上進(jìn)行測(cè)試,確保頁面布局不會(huì)在小設(shè)備上發(fā)生錯(cuò)亂,然后創(chuàng)建新服務(wù),添加新邏輯……
那么為什么說這樣的回答并不妥當(dāng)?老板可能確實(shí)不知道“添加一個(gè)按鈕”背后究竟有多少“隱形”的工作,不知道需要做多少前端測(cè)試,不知道你是加班才把按鈕加好的,他們是在拿蘋果和橘子做比較。但他們沒有義務(wù)知道這些,不是嗎?有時(shí)候,你的解釋聽起來都是借口,特別是當(dāng)老板開始質(zhì)疑你的時(shí)候。
我的建議是“讀懂老板的言外之意”,并從老板的角度看待事情。你的老板可能從來沒有寫過代碼,因?yàn)榭赡軟]有必要,而且他真正想問的并不是為什么你花了那么長時(shí)間添加按鈕。你的老板關(guān)心的截止期限,如何讓客戶滿意,增加銷售額。關(guān)心你的老板關(guān)心的事情,用你的同理心體會(huì)老板的感受,并解決他們的需求和目標(biāo)。
更好的回答:我可以理解你為什么這么沮喪,也知道添加這個(gè)新功能對(duì)你來說至關(guān)重要。這對(duì)我來說也很重要,我希望盡我所能把工作做到最好,讓我們的產(chǎn)品變得更完美,這樣我們的客戶就會(huì)很高興。添加這個(gè)按鈕涉及到很多后端操作,如果你愿意,我很樂意詳細(xì)解釋給你聽?;ㄙM(fèi)一些額外的時(shí)間來確保按鈕在所有設(shè)備上都能正常工作,并進(jìn)行徹底測(cè)試,這些是很有必要的。以后我會(huì)更頻繁地向你匯報(bào)進(jìn)度,讓你更好地了解我在做什么以及進(jìn)展情況。
換句話說,就是不要找借口,你甚至不需要解釋什么,你需要做的是讓他們知道你的感受,讓他們知道你也理解他們的痛點(diǎn),并且也在關(guān)注他們所關(guān)注的事情。
QA:我測(cè)試了你添加的新按鈕,這是我第二次發(fā)現(xiàn)這個(gè)bug了。你有沒有看過我寫的bug描述?你在提交代碼之前有沒有測(cè)試過?
不好的回答:是的,我看了你寫的bug描述,并且按照你列出的步驟操作了,但就是無法重現(xiàn)問題,我還把過程錄下來給你了,你看了嗎?如果你想解決這個(gè)問題,就要想個(gè)辦法把它重現(xiàn)出來。
這樣回答的問題在于,帶有憤怒的情緒對(duì)事態(tài)的發(fā)展一點(diǎn)幫助都沒有。話里行間透著一股挫敗感,而且還給對(duì)方增加工作量,而這些本來是因?yàn)槟愕倪^錯(cuò)和你的不作為所導(dǎo)致的。這個(gè)時(shí)候,要繼續(xù)發(fā)揮“移情”的能力。
更好的回答:感謝你的耐心,在客戶發(fā)現(xiàn)bug之前把它們攔了下來。因?yàn)槲覠o法在我的系統(tǒng)中重現(xiàn)這個(gè)問題,是否可以明天早上開個(gè)會(huì)?我?guī)еP記本電腦來找你,然后看你是怎么操作的。這樣可以確保我們都了解問題所在,或許我還可以當(dāng)場(chǎng)把問題給解決了,這樣你就知道它已經(jīng)過測(cè)試并準(zhǔn)備好發(fā)布了。
在工作中得到認(rèn)可的幾個(gè)技巧
永遠(yuǎn)不要道歉,除非你真的需要彌補(bǔ)過失。相反,進(jìn)行積極的回應(yīng)。例如,把“我很抱歉花了這么長時(shí)間”改為“感謝你的耐心等待”。
向頂尖人物學(xué)習(xí)。找出工作中的“搖滾明星”,那些被人喜歡和信賴的人。他們做事的方式總能獲得他人的積極回應(yīng)。與他們交朋友,模仿他們的行為方式。
比別人來得早走得晚。雖然不一定非要這么做,但人們確實(shí)會(huì)注意到你的來來去去。不過,如果其他人在上午7點(diǎn)就來了,而你在11點(diǎn)左右才到,人們會(huì)認(rèn)為你是個(gè)懶鬼。如果大多數(shù)人工作到下午6點(diǎn),而你4點(diǎn)左右就走了,他們也會(huì)認(rèn)為你太懶散。
頻繁溝通。如果你每天都參加Scrum,那么很好,但如果你不參加Scrum,那么一定要向你的老板、領(lǐng)導(dǎo)和同事們說明你正在做什么,以及遇到什么困難。沒有必要太過冗長,只要做個(gè)快速更新就可以了,讓每個(gè)人都知道你正在做某件事,而且很上心。
在不工作時(shí),不要談?wù)摴ぷ?。如果你和同事出去聚?#xff0c;在與工作無關(guān)的地方用餐,就沒必要再談?wù)摴ぷ?。你可以詢問他們家人的情況,問問他們最近的假期過得如何,或者聊聊他們感興趣的事情。
總得來說,當(dāng)技術(shù)能力已經(jīng)達(dá)到了一定階段,影響你后續(xù)發(fā)展的是軟實(shí)力。你可能會(huì)發(fā)現(xiàn),積極的態(tài)度比優(yōu)雅的編碼能夠讓你走得更遠(yuǎn)。
轉(zhuǎn)載于:https://blog.51cto.com/13883564/2155213
總結(jié)
以上是生活随笔為你收集整理的程序员如何让自己的工作更上一个台阶的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 错误、调试和测试
- 下一篇: vmware14安装macos10.12