來自10位成功IT人士的23條經驗教訓
英文原文:23 Lessons From 10 Highly Successful Developers
五個月前——4 月 16 日,星期四——我們發布了 bugtrackers.io 作為展示 web 開發人員生活的一個新的平臺。
我希望它能夠成功,能夠受到大家喜愛。因為我們展現了很多或著名的,或成功的,或平凡的高科技人員的生活,比如 CTO (首席技術官)、開發人員、網頁設計師或產品人員。
在我意料之外的是,對我也產生了很大的影響。
今天,我想將這些頂級的經驗分享給大家。或者你也可以閱讀所有的采訪。
這將是你的寶貴的財富,正如它們帶給我的那樣。
Morten Primdahl,Zendesk 的首席技術官兼聯合創始人
1. 擴展技術是一個挑戰。Just do it。
我們是從一個只有 3 個人其他啥都沒有的創業公司逐步成長為一家大型的具備可擴展性,業務操作能力,數據庫和產品開發的企業。如果你真心醉心于做企業,那么這就應該成為你的目標。
當你從 2009 年還只有幾十號人成長到我們現在這個規模,那么你得能適應公司巨大的變化。既有技術上的挑戰,也有組織結構上的考驗。擴展經營意味著迅速成長和雇傭更多的工程師。這是一個全球性的挑戰。但是要真正解決的話,我只有一句話:真的很難。
2. 迸發激情。
做你喜歡做的事情。做你充滿激情的事情。不要別人說什么你干什么。了解怎樣才能實現自我,走好自己的道路。激情是促使你前進的動力。
3. 面對面交流對于遠程團隊是必不可少的。
我們規劃了高額的差旅費用以便于讓大家能夠面對面地交流。盡管我們有 Skype、谷歌視頻群聊(Google Hangouts)和 Flowdock,但是我們依然每年組織幾次讓大家聚在一起。如果你加入本公司,那么你會有兩周時間在舊金山和團隊相處,此經歷讓會讓你獲益匪淺。
歡迎閱讀我們對 Morten 的采訪。
Sunil Sadasivan,Buffer 得首席技術官
4. 角色比職位名稱更重要。
在非自然層次結構中我的角色被定義為是 CTO。但是,在自然的層次結構中,其他人或許也會承擔一些我的工作任務,如果他們在工作中需要的話。
因此,在 Buffer,職稱變得不是那么重要——因為我們大多數人會擔任很多不同的角色。
5. 投資自己。
Mark Cuban 曾經說過,“你能做的最好的投資就是投資自己”,事實確實如此。
雖然我以前的創業公司并不成功,但這或許是我做的最好的一件事,因為這是一個投資。
我投資了時間來專注發展自己。
6. 100% 的測試覆蓋率并不重要。
我們并不是太關心測試覆蓋率有沒有達到 100%。
重要的是你要去判斷什么是真正重要的,什么將會被破壞,然后根據實際情況添加測試。
歡迎閱讀我們對 Sunil 的采訪。
PJ Hagerty,Engine Yard 的團隊領導
7. 學習新技術。
關于技術教育現在有一個巨大的轉變。技術發展是如此之快,以致于越來越多的人開始意識到,我們需要學習了。
所以我是周末課程學習的堅實擁護者,學習不僅可以挑戰自我,還能激發興趣。何況現在網上各種免費的資源比比皆是,你還有什么理由不去學習呢。
8. 優先測試,經常發布。
我們信奉測試先行的理念。我們上市的產品很少是沒有經過高規格測試的。
但是我從不認為我們有辦法找到所有百分之百的 bug,因此經常發布是王道。
歡迎閱讀我們對 PJ 的采訪。
Rani Angel,Infragistics 的 web 開發負責人
9. 管理遠程工作人員是一個挑戰。
最大的挑戰毫無疑問是管理分散在全球各地的團隊。這是一個巨大的挑戰。其中最大的難點是由于時差的不同,團隊能夠同時工作的重疊時間只有區區幾個小時。
我們面臨的挑戰是,作為一個管理者你得確保你的工作任務始終保持在第一位。另外,你還得解決團隊不能在同一地理位置工作所產生的痛苦。
10. 探索各個行業。
隨著我的成長,我開始喜歡接觸不同的機會,比如說實習工作,營銷工作,所以了解一點銷售知識,能夠讓我更快地進入這些領域。
年輕時候的經歷在很大程度上影響了我的觀點,讓我更能適應職場。
歡迎閱讀我們對 Rani 的采訪。
Thomas Schranz,Blossom 的 CEO
11. 不管你多大年紀,都應該去學習如何寫代碼。
我曾經認為:“哎呀,我不會編程,學習編程實在是太復雜了。”我知道那個時候,有很多年紀比我還小的孩子早就已經開始編程了,我心里想:“唉,我已經晚了,算了,我不學了。”然后,一個很偶然的機會,我學會了編程。
我建議任何人,對,就是任何人,無論多大年齡的,至少可以從開始學習編程。
12. 學會如何說“不”。
有時說“不”其實比真正去做這件事情更難。
我認為大家面對的一個經常性的挑戰就是對要求說“不”。不管是來自客戶的,團隊的,還是來自于你自己的。
對想法說“不”并不意味著這個想法就是壞的。說“不”其實更麻煩。因為你將不得不向每個參與的人解釋,說服他們,在會議上降低所有人的積極性。與此相比,只是構建一個東西,哪怕你知道它不正確,相對而言就比較簡單了。
歡迎閱讀我們對 Thomas 的采訪。
Leif Singer,iDoneThis 的產品負責人
13. 緊跟其他開發人員的腳步。
我認為最重要的事是使用技術——實踐并優化,跟隨其他人都在探索的技術,但也不要一下子學的太多。保持在現行流行趨勢的頂端對于我們而言比技術更重要。
14. 不要害怕刪除產品的功能。
我們時不時地還得刪除功能,當我們發現沒人使用或沒有足夠的人使用這些功能的時候。
刪除不再使用的技術也會成為一種問題,這是因為這不屬于真正改善和提煉產品,但卻是一個任務。
歡迎閱讀我們對 Leif 的采訪。
Eric Elliott, Fight Poverty with Code 的創始人
15. 明智地選擇編程語言。
JavaScript 有著巨大的潛力,因為它是當今世界最流行的語言。如果你寫 JavaScript 庫,那么就能幫助更多的人。
16. 實時功能既工程巨大又非常復雜。
關于實時性和協作功能我們已經接觸過不少。多人同時操作 app 的狀態是極其復雜的。
我工作于 Adobe 的創意云團隊。創意云團隊是所有人都可以參與合作的創意項目。我親眼目睹了其合作管理之復雜,以及做好一個真正好的能和其他用戶交互而不會互踩腳趾頭的用戶工作流程的困難。
歡迎閱讀我們對 Eric 的采訪。
Johannes Nagl,Swat.io 的首席技術官
17. 標準化的編碼方式。
當開發人員從創建短命的營銷活動轉移到長壽的長時間在線的 SAAS 方案時,實現一個完全新的關于架構、代碼和可持續性的思維將會是一個大的挑戰。
代理項目經常像個人秀——各種不同的代碼風格層出不窮。將這些風格規范化標準化是快速奏效的首要方法之一。使用如持續集成等工具有助于更多地專注于產品。
18. 謹記測試。
在 web 開發中,我深信測試是“另一個每個開發人員都應該知道,并整合到他們的工作流程中的學科”。
因此,資源專業化是維持已建立的測試環境的好方法。更重要的是,每個開發人員應該時刻將測試謹記在心。
歡迎閱讀我們對 Johannes 的采訪。
Florian Motlik,Codeship 的首席技術官
19. 關于 CTO 的角色現在還沒有達成共識。
一百個 CEO 就有一百個 CTO 的角色問題。關于如何成為 CTO 的書也并不是很多,這是因為這個角色在不同的公司中往往不盡相同。我是一個面向外部的 CTO。我不管理團隊。
我從來沒有真正在內部管理過一個團隊。一旦我們真的成長到需要更多管理的時候,我們會招聘一個工程副總裁。
20. 作為服務的基礎設施將發揮巨大的作用。
云依然是服務的集合,服務的集合依然是你必須要管理而我不喜歡做的事情。我們應該做的是為此提供服務。
21. 測試復雜度和測試速度之間的權衡。
我們需要做的最大權衡是測試復雜度和測試速度之間的權衡。
最好的情況是,在每個瀏覽器上統統測試一遍以確保它都可以工作。但是,這需要很多很多的時間,甚至是一個做不完的工程。
所以你必須做好權衡得失。
歡迎閱讀我們對 Florian 的采訪。
Christian Braun,PAYMILL 的工程副總裁
22. 招聘偉大的開發人員是一個挑戰。
當然,或許你不認為這是挑戰。之所以聘請開發人員會成為一個主要挑戰的原因是每家公司都希望人才。此外你還必須得有足夠的開發人員才能完成產品改進。
23. 讓溝通變得暢通無阻。
我們預測變化需求。然后,管理層就可以對有關費用和輕重緩急有一個清晰的輪廓。
歡迎閱讀我們對 Christian 的采訪。
更多
除了這 23 個寶貴的經驗教訓之外,我們還收獲了很多。更多的方法歡迎進入 onbugtrackers.io 查看。
最后,我想知道,你最大的收獲是什么呢?
-
譯文鏈接:http://www.codeceo.com/article/23-lessons-from-10-person.html
翻譯作者:碼農網 – 小峰
來自: www.codeceo.com