程式設計師如何讓自己的工作更上一層樓
軟體開發可能是一份吃力不討好的工作,你要有創意,並能解決問題。有時候你覺得自己的程式碼寫得很優雅,卻無法向不懂程式碼的人炫耀。經常看見好萊塢電影裡面,導演把我們描繪成精英×××,坐在一個神秘的終端前面,很快就能破解政府部門的密碼,並在60秒內將整個資料庫複製到隨身碟裡。不過,我覺得我連自己的膝上型電腦都破解不了,更不用說去破解別人的了,而且有時候我把一個Word文件複製到隨身碟裡都要花上不止一分鐘。
然而,在現實世界裡,程式設計師並不像好萊塢導演們描述得那麼厲害。我們的老闆和同事並不在乎我們的程式碼有多優雅。他們不明白,我們每天都會被問一些愚蠢的問題,比如估計需要多長時間可以完成某項功能,而之前我們對這些功能可能一無所知。坦率地說,我們經常被要求做一些甚至連他們自己都不知道是什麼事情的事情!我們的價值常常以能否在數小時內快速寫出程式碼來衡量。我們經常要面對不合理的截止期限,工作和生活的平衡往往是不存在的。不小心出個bug就有可能讓之前所有獲得的“好評”功虧一簣。事實上,更努力地工作通常只會讓別人提高對你的期望,而當你稍稍沒有達到“標準”,你在別人眼裡就成了一個“懶鬼”。
我們都很欽佩像賈伯斯和祖克伯這樣的人,並且認為如果我們更有才華、更有創造力、更有動力,也會在工作中取得更大的成功。我們會一直工作到凌晨,學習最新的框架和技術,花費整個週末來重構我們的核心庫,以便更快、更高效地完成工作。而在很多情況下,我們忽視了自己的需求,忽視了朋友和家人,甚至忘記了為什麼要這麼折騰。有多少次,我埋頭苦幹,把程式碼寫出來,只是為了讓老闆和同事不再抱怨,而不是為了得到什麼榮譽或獎勵。
“為什麼你需要這麼長時間開發這個新功能?為什麼QA會在你的程式碼中找到bug?你不測試自己的程式碼嗎?”
當有人說我們的小孩長得很醜,或者當我們付出的努力和犧牲只換來消極的反饋和抱怨時,我們很容易就進入“防禦”模式。有時候別人只是指出程式碼中被忽略的一個小問題,或者要求加入一個小功能,都可能會引來我們指責性的回應。我們如何回應他人,如何回應同事和客戶的抱怨,將會對我們的價值產生巨大的影響,並最終影響我們的職業生涯。
成功的程式設計師是那些抱有正確態度的人,好的態度終將勝過高超的技能,並且足以讓你得到非技術人士的認可和賞識。
移情是關鍵
真正能夠影響我們職業生涯的是我們的態度。正如之前所說的,沒有人會關心你工作了多少個小時,或者你的程式碼有多麼優雅、多麼富有想象力。努力寫好程式碼是我們的本職工作,我們不會因為做了分內事而得到額外的獎勵。
別人在意的是你如何回應他們的需求。不管是針對同事、客戶還是終端使用者,這個前提都適用。如果你想成為別人眼裡的優秀員工,首先要讓他們欣賞你。我見過一些我認為最差勁的程式設計師,但他們在公司的位置卻一路直上,超越了那些經驗豐富和才華橫溢的程式設計師,僅僅是因為他們深諳職場的遊戲規則,知道如何與別人相處。通常,這些人最終會成為領導者和管理者,而其他程式設計師則繼續在“氣泡”裡掙扎,不明白自己錯在哪裡,不明白為什麼沒有得到應得的嘉獎。
讓我們舉一些典型的例子,看看我們應該怎樣做才能讓人們對我們做出更積極的回應。
老闆:我不明白為什麼需要3天時間才能在頁面上新增一個按鈕?喬上週新增一個新按鈕只用了2秒鐘!
錯誤的回答:喬開發的是Windows應用程式,並且他是往按鈕欄新增按鈕,而那個按鈕欄本來就是為了方便新增按鈕而設計的!而我這個是一個Web應用程式,它需要支援所有裝置,動態適應螢幕大小,還要支援各種瀏覽器及國際化!頁面上沒有可以放額外按鈕的空間,所以我不得不重新設計頁面,在不同的瀏覽器上進行測試,確保頁面佈局不會在小裝置上發生錯亂,然後建立新服務,新增新邏輯……
那麼為什麼說這樣的回答並不妥當?老闆可能確實不知道“新增一個按鈕”背後究竟有多少“隱形”的工作,不知道需要做多少前端測試,不知道你是加班才把按鈕加好的,他們是在拿蘋果和橘子做比較。但他們沒有義務知道這些,不是嗎?有時候,你的解釋聽起來都是藉口,特別是當老闆開始質疑你的時候。
我的建議是“讀懂老闆的言外之意”,並從老闆的角度看待事情。你的老闆可能從來沒有寫過程式碼,因為可能沒有必要,而且他真正想問的並不是為什麼你花了那麼長時間新增按鈕。你的老闆關心的截止期限,如何讓客戶滿意,增加銷售額。關心你的老闆關心的事情,用你的同理心體會老闆的感受,並解決他們的需求和目標。
更好的回答:我可以理解你為什麼這麼沮喪,也知道新增這個新功能對你來說至關重要。這對我來說也很重要,我希望盡我所能把工作做到最好,讓我們的產品變得更完美,這樣我們的客戶就會很高興。新增這個按鈕涉及到很多後端操作,如果你願意,我很樂意詳細解釋給你聽。花費一些額外的時間來確保按鈕在所有裝置上都能正常工作,並進行徹底測試,這些是很有必要的。以後我會更頻繁地向你彙報進度,讓你更好地瞭解我在做什麼以及進展情況。
換句話說,就是不要找藉口,你甚至不需要解釋什麼,你需要做的是讓他們知道你的感受,讓他們知道你也理解他們的痛點,並且也在關注他們所關注的事情。
QA:我測試了你新增的新按鈕,這是我第二次發現這個bug了。你有沒有看過我寫的bug描述?你在提交程式碼之前有沒有測試過?
不好的回答:是的,我看了你寫的bug描述,並且按照你列出的步驟操作了,但就是無法重現問題,我還把過程錄下來給你了,你看了嗎?如果你想解決這個問題,就要想個辦法把它重現出來。
這樣回答的問題在於,帶有憤怒的情緒對事態的發展一點幫助都沒有。話裡行間透著一股挫敗感,而且還給對方增加工作量,而這些本來是因為你的過錯和你的不作為所導致的。這個時候,要繼續發揮“移情”的能力。
更好的回答:感謝你的耐心,在客戶發現bug之前把它們攔了下來。因為我無法在我的系統中重現這個問題,是否可以明天早上開個會?我帶著膝上型電腦來找你,然後看你是怎麼操作的。這樣可以確保我們都瞭解問題所在,或許我還可以當場把問題給解決了,這樣你就知道它已經過測試並準備好釋出了。
在工作中得到認可的幾個技巧
永遠不要道歉,除非你真的需要彌補過失。相反,進行積極的回應。例如,把“我很抱歉花了這麼長時間”改為“感謝你的耐心等待”。
向頂尖人物學習。找出工作中的“搖滾明星”,那些被人喜歡和信賴的人。他們做事的方式總能獲得他人的積極回應。與他們交朋友,模仿他們的行為方式。
比別人來得早走得晚。雖然不一定非要這麼做,但人們確實會注意到你的來來去去。不過,如果其他人在上午7點就來了,而你在11點左右才到,人們會認為你是個懶鬼。如果大多數人工作到下午6點,而你4點左右就走了,他們也會認為你太懶散。
頻繁溝通。如果你每天都參加Scrum,那麼很好,但如果你不參加Scrum,那麼一定要向你的老闆、領導和同事們說明你正在做什麼,以及遇到什麼困難。沒有必要太過冗長,只要做個快速更新就可以了,讓每個人都知道你正在做某件事,而且很上心。
在不工作時,不要談論工作。如果你和同事出去聚餐,在與工作無關的地方用餐,就沒必要再談論工作。你可以詢問他們家人的情況,問問他們最近的假期過得如何,或者聊聊他們感興趣的事情。
總得來說,當技術能力已經達到了一定階段,影響你後續發展的是軟實力。你可能會發現,積極的態度比優雅的編碼能夠讓你走得更遠。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31546605/viewspace-2199232/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 搬磚 1-5年 的 Java 程式設計師,如何讓自己的職業生涯更進一層樓?變得更值錢?Java程式設計師
- 《星露穀物語》製作人:如何讓成功更上一層樓
- 如何使用kafka增加topic的備份數量,讓業務更上一層樓Kafka
- 讓你的Mac閱讀體驗更上一層樓——Bookends for MacMac
- 自學程式設計,如何找到自己的第一份程式設計師工作?程式設計師
- 告別瑣碎工作:資料專案,讓你的職業發展更上一層樓
- 利用Q5讓遊戲應用更上一層樓遊戲
- 瞭解這12個概念,讓你的JavaScript水平更上一層樓JavaScript
- Office 2021:打造專業品質,讓辦公更上一層樓
- ON1 Effects 2023:讓照片特效更上一層樓 mac啟用版特效Mac
- 預設密碼“admin"將被禁止,安全更上一層樓密碼
- 程式設計師如何讓自己的技術能力突飛猛進?程式設計師
- 運維難度“更上一層樓”——不存在的運維
- 別讓自己成為一名廢棄的程式設計師程式設計師
- 程式設計師如何保護自己的眼睛程式設計師
- 程式設計師如何讓自己的技能變現?你是不是感覺自己錯過了一個億?程式設計師
- 分散式 SQL 使資料庫更上一層樓 - thenewstack分散式SQL資料庫
- 讓程式設計師不再苦逼的神器(上)程式設計師
- 作為非IT行業大企裡的程式設計師,我講一個自己工作上的故事行業程式設計師
- 程式設計師如何祝自己生日快樂程式設計師
- 程式設計師如何搭建自己的個人部落格程式設計師
- 如何通過一句話讓程式設計師暴走?程式設計師
- 如何確定自己是否適合做程式設計師?程式設計師的成長需要什麼?程式設計師
- 如何確定自己是否適合做程式設計師?程式設計師
- 程式設計師應該如何找工作呢?程式設計師
- 如何讓程式設計師變得沒朋友程式設計師
- 優思學院|QC七大管理工具,讓你的管理水平更上一層樓
- 有經驗的程式設計師應該如何提升自己程式設計師
- 程式設計師如何借勢AI提高自己:從高效工作到技能升級的全面指南程式設計師AI
- 程式設計師讓計算機替自己完成工作,老闆該不該解僱他?(老王觀點)程式設計師計算機
- 程式設計師工作之餘應該注意鍛鍊自己的身體程式設計師
- 30個Python程式設計師需要知道的程式設計技巧,可以讓你的工作事半功倍!Python程式設計師
- 程式設計師如何能把一個功能說的工作量很大?程式設計師
- 學會這12個框架,你的薪資和level能更上一層樓框架
- 阿里畢玄:程式設計師如何提升自己的硬實力阿里程式設計師
- 讓程式設計師崩潰的瞬間(非程式設計師勿入)程式設計師
- 風變程式設計,讓程式設計學習更簡單!程式設計
- 更上一層樓: Android 11 首個開發者預覽版到來Android