作者:Edmond Lau ,The Effective Engineer 作者。 Soft & Share 獲作者授權翻譯。
身為新手軟體工程師,由於缺少經驗你很有可能犯了些戰略上的錯誤。 也許你自己建立了某一個功能後才發現原來早就有一個共同的設計模式原本可幫助你做得更好,或是你意外地在已經上線的服務或是產品推出有問題的程式碼,或是你忘了處理系統擴展與效能表現,讓你在截止日前完工前備感壓力辛苦地趕工。
告訴我,我會忘記; 教導我,我只是記得;讓我深入其中,我便學會。 ~ Benjamin Franklin
作者:Edmond Lau ,The Effective Engineer 作者。 Soft & Share 獲作者授權翻譯。
身為新手軟體工程師,由於缺少經驗你很有可能犯了些戰略上的錯誤。 也許你自己建立了某一個功能後才發現原來早就有一個共同的設計模式原本可幫助你做得更好,或是你意外地在已經上線的服務或是產品推出有問題的程式碼,或是你忘了處理系統擴展與效能表現,讓你在截止日前完工前備感壓力辛苦地趕工。
作者:Edmond Lau ,The Effective Engineer 作者。 Soft & Share 獲作者授權翻譯。
在你的一生中,持續待在軟體工程師這個職位是一個好的職涯選擇嗎?或是你必須轉換到管理職位以繼續攀登工程生涯的階梯?這就是最近在 Quora 上工程師想知道的事,並且這是一個重要的且值得解決的問題。特別是那些對於管理群眾不會感到興奮的人。
好消息是持續擔任軟體工程師的職位並且不用選擇管理這個職位是一個很好的職涯選擇。然而如果你想穿透所謂透明天花板的話,不要指望單憑多年的技術經驗攀登職涯階梯。以下是一個粗略的模型公式,你的職涯成就與你所創造的價值成正比。
Continue reading “如果你不想走管理路線,工程師職涯要如何成長?”原文:Why’d You Do That?!? An Engineer’s Guide to Debugging User Behavior
作者:Edmond Lau ,The Effective Engineer 作者。 Soft & Share獲作者授權翻譯。
“為什麼我的程式沒有做到我預期它做的呢? ”
Continue reading “你為何那樣做? 給工程師的使用者行為除錯指引”原文 : What Qualities Make a Good Startup Engineer?
Soft & Share 取得 The Effective Engineer 作者 Edmond Lau 授權翻譯。
不是每一位優秀的工程師是一位很好的新創工程師。我在過去的六年中在三家新創公司(Ooyala, Quora, 和 Quip)面談過一些最有希望的應試者,他們在頂尖的科技公司像是 Google 已經有 5 年以上的工作經驗,在我們面談過程中表現並不好。這些候選者平時並不是不好的工程師,事實上他/她們在目前的工作上表現非常出色,我們只是認為他/她們對一家新創公司而言並不是特別的出色。
Continue reading “新創公司優秀軟體工程師的必備特質”原文: How to Strategically Procrastinate and Actually Boost Your Creativity
本文由The Effective Engineer作者Edmond Lau授權翻譯
一家在大學校園內的便利商店才剛關門,Grant和他的研究所學生給參與者一個功課: 為這塊空地做個最佳利用的商業提案。 有一組馬上開始執行這個任務,做出相當傳統的提案—如開另一家新的便利商店。另一組被要求先稍微拖延些時間再來做這件事。他們玩了些電腦遊戲,如掃雷、接龍、紙牌等。 當這第二組開始執行這任務時,他們提出一些比較大膽、有創意的想法,如儲藏設備或甚至家教中心。 獨立評分者在不知哪個提案是哪一組提議的狀況下,給予拖延過的這組高過馬上做的那組28%的點子創意分數。 另外,研究生也讓一組參與者先玩游戲,之後才告訴他們有個這樣的商業提案任務,但發現這一組並沒有比馬上做的那一組比較有創意,證明玩遊戲本身並不是創意的刺激來源。
看起來是策略性的拖延,讓任務在腦中醞釀,可實際地讓你產生更多創意。類似的發現也在之後的行業研究複製。 這些和直覺悖離的研究結果給我們一個很有力的觀點:是有策略能讓我們以更少的時間更有效地工作。
你可能有過這樣的經驗,已經埋頭苦幹一整天想解決一個困難的問題。 可是你卡住了,就是怎麼樣也想不出辦法來解決,快被這搞瘋… 直到晚上淋浴的時候—才大叫”我發現了!”, 創意的火花在腦中燃現,你會驚嘆為什麼沒早點想到呢?
我已經有好幾次這樣的經驗。 在我參與Ooyala和Quora新創日子的早期,我通常嚴守一個禮拜工作60到80小時的紀律,回憶那段期間多次”啊哈”解決工程問題的奇跡時刻,都發生在一段長距離的散步或去做個的淋浴。 我也看到同樣的事情發生在整個工程師團隊—每個人都很專注努力地工作,要在截止日前完成專案,結果忙到聖誕節才有喘息的時間,那時才發現有替代的解決方案,之前做了一堆沒必要的事。
為何會發生這種事呢? David Rock’s Your Brain at Work 對這提供很好的解釋。頭腦就像個舞台,演員在不同的時間來來回回,且舞台上可活動的空間有限。當我們深度地聚焦於解決一個問題,我們看到與聽到的都是擠在台上正在運作的想法—沒什麼能留給新觀點進來的空間。
只有當你減少在腦裡的活動— 發生在你淋浴、長距離的散步或像前面研究那樣參與者拖延任務,去玩電腦遊戲— 那時我們的潛意識就出來幫忙了。 之前腦袋被問題給佔滿了,現在舞台多了些空間給其他可能的創意進來。(註二) 這過程與光學錯覺相似,我們經常需要往後退一步、將腦袋清空重新設定觀點。
在很多文化很強調努力工作的倫理。我的移民父母在三藩市的中國城三十年來每週工作六天,且標榜努力工作是成功的代價。當然,如果不是他們努力工作,我也無法有今天的自己。
但隨著我們的社會越來越往知識型的工作發展(如工程師)—我們的影響力將越來越由是否我們做對的事來決定,而非一昧地投時間下去,這種做法也讓我們承受工作過度的風險。一個Glassdoor的調查指出在美國,受僱員工平均只用了一半的可放假日,且61%承認在放假的時候也做了些工作。 (註三) 我們的停機時間,我們做策略性拖延的機會,以及創造力的果實,都因此蒙受打擊。
在最近專案中,有多少時間是因為沒有多想周全替代方案或點子而浪費掉的? 有什麼是有可能產生更大影響的產出你本來有可能完成的? 這些是很艱難的問題,不過有件事很清楚 —如果你不給自己一些時間好好省思,你很難發現問題的答案。
那我們要如何產生創意的火花,更接近Grant研究的觀點呢? 如果我們可更有系統地製造引發創意的條件(或至少增加創意的可能性),以長遠來看,我們將可變得更有效率且少浪費很多時間。
主要的觀察是在我們有時間壓力時很難把時間空出來。 當你的團隊要你趕出一些成果、當你正在崗位上打火,或你客戶正在等你更新修改,就算工作過度的代價難以衡量 、科學研究也顯示策略性拖延會有好處,大家還是很容易地會想 “只要再多花一些時間工作,就可以讓事情早點完成。”
製造創意條件並讓自己成功的最佳方法是在沒有工作壓力時設定好健康的例行事務,這些同樣的習慣將變成你默認的行為,就算今天有工作壓力也一樣。 這好像悖離直覺—但這能刻意騰出日常讓你遠離工作的時間,你將避免燃燒殆盡,並增加你的效率。
例如,你可以:
改變你的正常作息不是很簡單。不過一旦你開始持續做一個活動,就很容易重複同樣的動作,因為漸漸地這會成為一個習慣。再過一陣子,當你在遇到其他事情於同樣時間需要你取捨時,你會想要選擇做這活動。
騰出時間離開工作— 別讓過度工作窒息了你的創造力。
原文 What Makes A Good Engineering Culture
Soft & Share 取得 The Effective Engineer 作者 Edmond Lau 授權翻譯。
我最喜歡問面試的工程師的其中一個問題–告訴我各一件在他們以前上班的公司中,他們喜歡和不喜歡的軟體開發團隊(譯注 : 原文為 engineering ,但是內文都是意指軟體開發和團隊管理)文化。我已經面試了超過500人– 其中許多來自頂尖高科技公司像 Facebook ,Google,Amazon,Palantir,和 Dropbox – 隨著時間的演進,這個面試問題給了我了一種感覺讓我知道優秀的工程師在尋找什麼樣的軟體開發團隊文化和避免什麼樣的軟體開發團隊文化。從這些面談回應給我的反思和我自己從Google、Ooyala、 和 Quora 7年的工作經驗,我精選了十件軟體開發團隊可以做的事用來建立一個良好的軟體開發團隊文化。
Continue reading “造就優良的軟體開發團隊文化的要素有哪些?”有志者事竟成、人定勝天… 這是從小聽到大的諺語。 我們在學習過程中,一直都被灌輸著只要努力、有恆心、有毅力,終有一天會成功。 但這是真的嗎? 走對路的時候加上努力、恆心和毅力,是真的。 走錯了,沒修正,花再多的力氣也白費工夫。
以下這部訪談 The Effective Engineer 作者 Edmond Lau 的Youtube片中,作者很清楚地指出他在寫這本書的過程中,訪談過許多矽谷成功人士,發現成功人士的心態(Mindset)和框架(Framework)是可以後天培養出來的。一個人是否警覺地做時間分配,如何運用時間的決策方式將決定其將有多大的影響力。 對於一位軟體工程師,很有可能精通如何運用時間的法門會比技術的精進發揮更大的影響力。
軟體工程師在某個程度來說是個永遠都嫌學能不足的行業。 技術的更新一年比一年快,且軟體的團隊隨著應用範圍與複雜度的擴大,團隊協作(包含需求管理、版本控制、代碼審核、測試、除錯、部署、自動化)的效能已經是產品開發成功與否的重要關鍵。在這種多方要兼顧還要自修的現實下,軟體工程師更需要懂得如何運用自己的時間。
我們都知道要work smart,不要work hard; 遵循80/20法則,找出”20″高效率的事,讓20分的努力有80分的產出將會是關鍵。
要了解如何找出這”20″高效率的事,The Effective Engineer 中有兩個很重要的衡量要素:
IMPACT LEVERAGE
IMPACT 影響力:指我們決定做的事所創造出來的價值,這價值包含對個人、對團隊、對公司組織甚至到對國家社會或地球宇宙的影響程度。
LEVERAGE 槓桿 :指每投入的單位時間所發揮的影響力。
由自己想要創造什麼樣的影響力,來訂定目標,由每個可行方案的槓桿,找出”20″高效率的事。
這段影片提供幾個建議:
更多相關的內容請參考 The Effective Engineer,書中還告訴你如何選擇公司、何時停掉沒希望的專案、有什麼比較便宜的方式驗證你的想法以減少工作浪費…等相關高槓桿的問題。
本文特色圖片來自https://pixabay.com
根據10 Classic Books Every Serious Developer Should Read (Soft & Share翻譯文),首推的書為The Pragmatic Programmer: From Journeyman to Master 。
The Pragmatic Programmer作者Andrew Hunt 和 David Thomas為他們的書擷取了精華,如果您還沒有看這本書,可以先睹為快,如果看過了,也可當座右銘。
Continue reading “認真的軟體專業人必讀的經典之一The Pragmatic Programmer精華錄”
本文由The Effective Engineer 作者Edmond Lau授權翻譯
「不游就淹死 (sink-or-swim)」, 這聽起來不是最鼓舞的話。 Ooyala的CTO,也是前Google聯合創始人, Sean也許可在我進入狀況後跟我說這話, 不過這話在我一到職跨入新創世界的第一天就明白告訴我- 不會有什麼救生圈,唯一可行的是不斷掙扎且最好學會如何以最快的速度生存。
Continue reading “新創公司如何建立優質的工程師到職流程”