![成為一個優秀程序員的101個小建議](http://p2.ttnews.xyz/loading.gif)
0. 遵守規則的情況下跨過那道牆看看
這條是我專門為國內程序員加的,大家應該都懂,不然的話第一條就打住了。
1. 善用google⭐
作為一名程序員,你要知道如何搜索問題的答案。學會有效的使用google,你將節省大量開發時間。
2. 謹慎承諾超額交付⭐
讓你的團隊知道一項任務需要三週的時間,並在兩週內完成,這比讓他們知道相反的情況要好。通過謹慎承諾和超額交付,你會建立信任。
3. 善待產品設計人員,他們是你的朋友
產品設計人員為用戶的痛點提供解決方案。向他們學習,團結一致地構建有效的產品。
4. 找到一名導師
找到一個可以學習和借鑑的人。如果你需要技術指導,Coding Coach會是一個不錯的地方。
5. 成為一名導師
做一個別人可以學習和借鑑的人。你可以嘗試在Coding Coach成為別人的導師。 上面兩條的網站有廣告的嫌疑,請自行斟酌。國內厲害的程序員也很多,掘金,知乎上找就可以了。
6. 寫些有用的評論
寫下有用的回答而不是問為什麼,mark和灌水也沒什麼意思、。
7. 合理的命名變量和函數名
函數和變量應該準確地表示它們的用途,因此myCoolFunction不是一個好名字。
8. 給自己放個假
我們都需要時間來緩解壓力。去一個你一直想去的地方放個假。你的大腦和同事都會感謝你的。
9. 刪除無用代碼⭐
沒有理由積累更多技術債務。
10. 學會閱讀代碼⭐
閱讀代碼是一項非常寶貴的被低估的技能。
11. 找到健康工作和生活平衡點
結束一週的工作之後,週末放鬆一下。關閉工作通知,刪除手機上的應用程序。
12. 只安排必要的會議
能用郵件解決的就沒必要開會,如果非要開,也應該讓會議簡短高效。
13. 結對編程
結對編程可以讓你同時扮演老師和學生的角色。
14. 寫好郵件
郵件的內容應該簡潔而清晰,抓住重點。沒人會想看你的四頁郵件,兄弟。
15. 加入社區⭐
和志同道合的人在一起會激勵你走出低谷。
16. 清理你的分支⭐
清理你的版本控制分支,就像在你的岳父母來訪之前清理你的房子一樣。如果你不再需要,請刪掉它,不刪留著過年啊。
17. 接納萌新
包容點,不要告訴別人不夠好,不能進入這個行業。每個人都是有價值。
18. 活到老學到老
你選擇了一個需要不斷學習的職業,學會愛上它。
19. 永不言棄
這並不容易,但是我們都是從同一個地方開始,你也能做到。
20. 敢於接受有挑戰性的任務⭐
如果任務沒有挑戰,它就不會幫助你成長。
21. 項目開始前明確需求⭐
在開擼之前,你應該瞭解驗收標準,這將為你節省時間和痛苦。
22. 工欲善其事,必先利其器⭐
擁有一套你熟悉的工具,瞭解哪些工具服務於哪些目的,以及項目何時可以從使用這些工具中獲益。
23. 我們需要建設性的批評
向信任的同事和朋友尋求建設性的批評,它將幫助你更優秀。
24. 保持開放思維⭐
技術在變化,而且變化得很快。不要反對新技術,學習它,然後形成自己的觀點。
25. 保持在技術前沿,不要掉隊⭐
通過關注出版物,博客,播客和科技新聞,及時瞭解最新的科技新聞。
26. 專注於解決問題⭐
鍛鍊自己解決問題的能力,強大的解決問題的能力能夠幫助你應付一切,專注於解決問題的方法。
27. 保持謙虛⭐
三人行必有我師,無論你什麼頭銜,什麼公司,都要保持謙遜。
28. 不光要代碼寫的好,PPT也要講得好
學習如何吸引你的聽眾,並給出有效的演示。
29. 選型如買菜,也要貨比三家⭐
給自己更多選擇,在開展工作前,調研儘可能多的解決方案。
30. 找到自己的定位⭐
科技產業也有很多分類,找到你最感興趣的領域,併成為一名專家。
31. 養成好習慣⭐
試著建立一致的、健康的習慣,比如保持專注,合理安排時間,出席會議,從最重要的任務開始。這可能需要一些時間來適應,但從長遠來看是值得的。
32. 學會debug⭐
探索瀏覽器調試器工具。學習使用IDE調試的細節。通過學習最有效的調試問題和跟蹤錯誤的方法,再困難的bug也能搞定。
33. 鍛鍊你現有的技能⭐
並不是說你已經掌握了一項技能就不需要再鍛鍊它。業精於勤荒於嬉,除非有意識地提高技能,否則技能會隨著時間的推移而消失。而這個行業又發展得如此之快,堅持練習是很重要的。從“我一直都是這樣做的”的心態中走出來,進入“有沒有更好的方法來做這件事”的心態。 僅僅是因為你現在擁有六塊腹肌,不意味著你就可以每天吃一個。
34. 瞭解原因⭐
有時你必須表達自己的意見,因此瞭解其背後的原因非常重要。為什麼解決方案A比解決方案B更好?提供有效的論據,你的意見將更加可靠。
35. 瞭解自己的價值
技術也是商品,應該得到適當的報酬。瞭解你所在地區的行業平均水平。如果你賺的錢少了,是時候和你的老闆談談,追求你應得的。
36. 不要害怕尋求幫助⭐
如果你被困在一個問題上,花了太多時間尋找解決方案,是時候尋求幫助了。我們都是人,我們都需要幫助,尋求同事的援助並不可恥。
37. 學會學習⭐
人們學習的方式不同,有些人通過視頻教程學得最好,有些人通過閱讀書籍學得最好。弄清楚你的學習風格,然後努力實踐。
38. 與人為善
有時你會被要求向同事提供反饋,友善一點,你可以對某位同事不夠積極表達看法,而不是出言不遜。
39. 休息一下
連續敲8個小時代碼幾乎是不可能,你很快就會筋疲力盡,犯很多錯誤。所以設個鬧鐘來提醒自己停下來休息一下。去散散步,和同事一起喝杯咖啡,遠離屏幕會對你的工作效率和質量產生積極的影響。
40. 跟蹤你的學習進度
學習編程需要時間,當你看不到進展時,你會感到非常沮喪。所以跟蹤你的成就和實現目標的進展非常重要。在你的電腦旁邊放一個小清單,每次你完成一件事,把它寫下來,不管它有多小,最終將會從量變到質變。
41. 不要依賴庫和框架⭐
掌握一個框架和庫不如深入學習這門語言,沒有必要一個接一個的學習這些庫和框架,但是理解框架和庫如何實現可以幫助你寫出更簡潔強壯的代碼。
42. 學會愛上代碼審查
讓別人閱讀和分析你的代碼可能會讓你不安,但是可以提供寶貴的反饋,這會讓你成為一個更好的程序員。而且你也應該提高進行良好代碼評審的能力。
43. 多方位全面學習
學習其他領域的基礎知識, 如設計、營銷、前端開發或後端開發。它將幫助你成為一個更全面的程序員。
44. 不要選擇熟悉的技術,而應該是正確的⭐
每個項目都有不同的需求,因此我們必須為這項工作選擇合適的工具。儘管選擇以前使用過的技術很方便,但是如果它們不適合項目的需要,應該探索其他替代方案。
45. 勇於承擔責任⭐
所有人都會犯錯,在你的職業生涯中,你會犯很多很多的錯誤。因此,當你犯了錯誤時,站出來承擔責任是很重要的,它將與你的團隊成員和管理層建立信任。
46. 檢查自己的代碼⭐
在發起PR請求之前,檢查自己的代碼,如果這是同事的工作,你會發表什麼評論?在請求代碼審查之前首先嚐試自己診斷問題或錯誤非常重要,就像考試交卷前應該自己檢查一遍。
47. 從失敗中吸取教訓⭐
失敗只是沒有達到預期的結果,並不一定是件壞事。在我們的職業生涯中,我們會面臨很多失敗,從失敗中學習下次你能做些什麼。
48. 正視自己的缺點
瞭解你自己,你的缺點是什麼?也許你總是在推送之前忘記更新測試,或者你真的不擅長回覆電子郵件。瞭解你的弱點,這樣你就能積極地改善它們。
49. 保持好奇心⭐
這個行業在不斷髮展,所以好奇心很重要。如果你不明白什麼,不管是項目需求還是一行代碼,大聲說出來。沒有人會因為你要求說明而批評你,你會因此創造出更好的代碼。
50. 不要試圖學習一切⭐
世界上有無窮無盡的知識寶庫,你不可能征服它。選擇幾個要掌握的主題,其餘的就不要管了。你可以獲得其他領域的相關知識,但你不可能掌握所有內容。
51. 該捨棄就捨棄
僅僅因為你寫了一些代碼並不意味著你需要對它產生感情。沒有人喜歡他們所做的工作被丟棄,但是代碼有一個生命週期,所以沒有必要一直保留著它。
52. 團隊支持
優秀的團隊相互支持,這為嘗試新事物創造了一個安全的空間,而不用擔心受到懲罰。
53. 在社區中尋找鼓舞
在行業裡找幾個你欽佩的人。它會激勵你繼續你的項目或嘗試新事物
54. 重視並且珍惜你的工作
不管你有多少經驗或者你的職位是什麼,你的工作都是有價值的,給予它應有的價值。
55. 排除干擾
關掉閒置的通知、短信、電子郵件和社交媒體會幫助你集中精力,最大化你的工作日。晚30分鐘回覆你朋友的信息,他死不了,真有事就打電話了。
56. 樂於助人
試著支持你的團隊成員,無論是參加一個重要的演講,還是在他們遇到困難時幫助他們。
57. 不要吝嗇你的讚美⭐
如果有人做得很好,告訴他們。正面反饋是與團隊成員建立信任和幫助他們事業發展的好方法。他們也更有可能幫助你
58. 測試你的代碼⭐
測試是很重要的。單元測試、迴歸測試、集成測試、端到端測試。測試你的代碼,你的產品將會更加穩定。
59. 制定應對計劃
當你收到一個新功能需求或bug修改時,先制定應對計劃,你需要什麼來解決這個問題或開發這個特性?花幾分鐘來做這件事,也許後面可以為你節省數小時的沮喪。
60. 掌握偽代碼
偽代碼是一項很好的技能,因為它允許你在不浪費時間編寫代碼的情況下考慮複雜的問題。將一種方法寫在紙上,運行不同的測試用例,看看缺陷在哪裡。
61. 記錄你的成就
如果你在工作中獲得了嘉獎,把它寫下來。如果你開發了一個重要的功能,把它寫下來。你會擁有一些積累、沉澱,它將有助於你職業晉升亦或在某一艱難的日子鼓舞你的士氣。
62. 學習編程基礎⭐
學習一些基本的排序和搜索算法以及數據結構。它們與語言無關,可以幫助你跨語言解決問題。
63. 選擇長期維護的技術
儘管測試最新的技術很有趣,但是選擇那些在企業應用程序中易於維護的技術。你們的團隊將在未來的歲月裡感謝你們。
64. 學習設計模式⭐
設計模式是構建代碼的有效工具。你可能不是每個項目都需要它們,但是對它們有一個基本的瞭解將有助於構建更大的應用程序。
65. 化繁為簡⭐
不要編寫複雜的代碼來展示你高超的編程技能,而要著眼於可讀性和簡單性。這將使你的團隊成員更容易做出貢獻。
66. 還清技術債務
技術債務可能會對性能產生巨大影響,所以如果能夠重構,就應該重構。(這個建議絕對是好的,但是現實中要面臨諸多問題)
67. 優先小版本迭代
與其每個月發佈一次大規模的升級,不如更頻繁地發佈較小的變更。這樣你不太可能會引入bug和破壞更改。
68. 儘早並經常提交⭐
儘早提交和經常提交是確保你的工作保持乾淨的最好方法,並且還可以減少意外地恢復重要更改的壓力。
69. 瞭解何時尋求幫助
你不僅不應該害怕尋求幫助,而且你應該學會什麼時候尋求幫助。在尋求幫助之前,你應該試著解決問題,並記錄下你嘗試的事情。但是當你被一個簡單的問題難住一個多小時的時候,代價大於收益,你應該向同事求助。
70. 問一些有效的問題⭐
當你問問題的時候,要儘可能的具體,(可以參考github提issue的要求)。
71. 工作中及時尋求反饋
你的工作不需要完成就能得到反饋。如果你不確定方向,請一位值得信賴的同事來檢查你的解決方案的有效性。
72. 閱讀文檔⭐
文檔是關於技術的最純粹的事實來源,因此學習閱讀文檔可以快速幫助你成為專家。
73. 儘可能做出各種嘗試⭐
沒有什麼能阻止你嘗試解決問題的方法,你有什麼損失呢?
74. 在會議上積極發言
你的想法和意見是有價值的,所以參加會議將有助於你與你的團隊和管理層建立融洽的關係。
75. 跨團隊協作
如果你有機會和公司裡的其他團隊一起工作,那就去爭取吧。
76. 保持項目熱情
當你每週工作40個小時時,花時間做你感興趣的項目是很重要的(72小時的話更要如此)。它們可以幫助你重新找回對編程的熱愛,並嘗試你在工作中可能無法接觸到的新技術。
77. 確定你的職業目標⭐
對你的職業生涯有一個理想的軌跡是很重要的。如果你不這樣做,你就是在沒有目標的情況下射箭。
78. 加入到討論中來⭐
在博客上發表評論,參與Twitter主題,參與社區活動,做一個積極的旁觀者會比單純的旁觀學到更多東西。
79. 確定任務優先級
學會確定任務的優先順序將有助於提高您的工作效率,建立一個日常任務和長期任務待辦事項列表,並按最重要的順序排序。
80. 不要忽略細節
細節可以在項目中產生很大的影響。
81. 信任你的同事
你的同事因為他們的技能而被僱傭,交給他們工作,並相信他們能完成。
82. 學會委託
如果你處於領導地位,學習如何有效地委派任務。它會節省你的時間,你不能做所有的事。
83. 不要拿自己和別人比較
你唯一應該比較的是昨天的自己。
84. 找到你的盟友
學習編程將是一個漫長而不怎麼容易的過程,和那些幫助你成長並鼓勵你堅持下去的人在一起。
85. 不要想一步登天⭐
一開始考慮太多做一個大而全的項目會讓你不堪重負。構建時要考慮可伸縮性,但在需要時才開始擴展。這樣你就不會用不必要的膨脹來壓倒你的團隊,而是保持了成長的能力。
86. 衡量性能影響⭐
如果你想使用一種很酷的新技術,你應該權衡這樣做的性能影響。你能在不影響性能的情況下實現類似的功能嗎?如果可以,你可能需要重新考慮你的方法了。
87. 技術歧視不可取⭐
不要歧視新技術或新想法,對學習新技能的可能性保持開放的心態,也不要歧視他人,我們都值得尊重。(也不要歧視舊技術,即使現在前端框架盛行,但你也不能說Jquery就沒有任何可取之處。)
88. 申請你不能勝任的工作
你永遠不可能滿足工作的所有要求,所以抓住機會申請吧,你有什麼損失呢?
89. 模塊化你的代碼
你可以在一個長文件中編寫所有代碼,但這是不可維護的。通過模塊化,我們確保代碼易於理解和測試。
90. 不要只是做代碼的搬運工⭐
如果你要複製並粘貼Stack Overflow中的解決方案,你應該確切地理解它的作用,有意識地選擇要引入的代碼。
91. 創造一個舒適的工作環境⭐
如果你喜歡你的工作環境和技術設置,你會更有動力去工作,所以還在等什麼?
92. 記住你來自哪裡
我們都是從同一個地方開始的,隨著你的技能和職位的發展,不要忘記你來自哪裡,不要膨脹。
93. 試著保持樂觀
如果出了什麼問題,試著樂觀一點。明天是新的一天。樂觀會幫助你的團隊充滿活力和精神健康。
94. 不斷重新評估你的工作流程⭐
僅僅因為某樣東西現在有效,並不意味著它永遠有效。重新評估你的工作流程,並在必要時做出調整。
95. 學會在家辦公
如果你有能力在家工作,那就學會有效地在家工作。找一個獨立的辦公空間,遠離干擾。Boneskull寫了一篇很棒的關於在家工作的文章,你應該看看。
96. 無障礙代碼
無障礙不是事後才想到的,也不一定很難,每個人都應該能夠使用你的產品。
97. 遵守你的承諾⭐
如果你告訴別人你會在某一天完成某件事,要信守承諾。如果你不能在截止日期前完成任務,那就早點說出來。
98. 積極主動
如果你有額外的精力,找一個任務來幫助你的團隊,他們會很感激你是主動的。
99. 創建一個令人驚歎的作品集
一個優秀的作品集讓你與眾不同,使用它作為展示你的編程和設計技巧的機會!
100. 記住你喜歡編程的原因⭐
你進入這個行業是因為它激發了你的興趣,如果你感到沮喪和怨恨,休息一下,給自己空間重新點燃你對編程的激情。
101. 分享你的知識⭐
如果你學到了一些很酷的東西,不要吝惜分享它,參加當地的技術交流會,在午餐時間教你的同事或學員,分享你的知識可以讓更多人受益同時自己也能鞏固提高。
閱讀更多 powser 的文章