成爲優秀程序員的101條準則

做者:Emma Wedekind

翻譯:瘋狂的技術宅前端

原文:https://dev.to/emmawedekind/1...程序員

未經容許嚴禁轉載面試

1. 擅長 Google 搜索

成爲優秀程序員的祕訣之一就是學習如何搜索問題的答案。經過有效地學習 Google 到的東西,你將節省大量的時間。算法

2. 承諾與交付

讓你的團隊知道本身完成一項任務將花費多長的時間,並以兩種方式交付。經過可預知的和可靠的交付,你將創建起信任。編程

clipboard.png

3. 善待你的設計師;他們是你的朋友

設計師爲用戶的痛點提供解決方案。爲了創建有效的產品,要向他們學習,並團結他們。segmentfault

4. 找一位導師

找一個你能夠向他學習的人並從中汲取靈感。若是你須要技術導師,Coding Coach是一個很好的入門之地!後端

5. 作個導師

成爲一個可以分享想法,並使別人能夠從中汲取經驗的人。設計模式

6. 寫出有用的評論

寫評論時要解釋「why」,而不只僅是「what」。瀏覽器

7. 恰當地爲變量和函數命名

函數和變量應該準確地表示它們的用途,所以 myCoolFunction 這樣的命名並不能讓你上天。安全

8. 休假

每一個人都須要時間去放鬆。快開始你一直想要的那次旅行吧。你的大腦和同事們都會感謝你。

9. 刪除未使用的代碼

沒有理由累積更多的技術債。

10. 學習閱讀代碼

閱讀代碼是一種被低估的技能,但倒是一種很是寶貴的技能。

11. 創建健康的工做與生活之間的平衡

通過漫長的工做日,你須要時間進行放鬆。關閉工做通知,從手機中刪除無聊的應用。

clipboard.png

12. 只安排必要的會議

能夠經過電子郵件或微信解決嗎?若是是的話,請避免開會。若是不是,請注意持續時間。瞄準更少。

13. 結對編程

結對編程容許你扮演教師和學生的角色。

14. 寫出精彩的電子郵件

經過簡潔明瞭的電子郵件來捕捉受衆羣體。沒有人想去讀你冗長的電子郵件。

15. 加入社區

與志同道合的人在一塊兒會激勵你走出低谷。

clipboard.png

16. 清理你的代碼分支

清理你的版本控制分支,就像在你的朋友來訪以前清理你的房子同樣。若是你不須要它就丟棄,不要把它扔進抽屜裏。

17. 不要保守

包容。不要告訴別人他們不夠好,不能進入這個行業。每一個人都有本身價值。

18. 持續學習

你選擇了一門須要不斷學習的專業。學會愛它。

19. 不要放棄

這並不容易。但咱們都是在同一個起點開始的。你能行。

20. 完成充滿挑戰的任務

若是它不嚇到你,就不會幫助你成長。

21. 在開始以前先搞清要求

在深刻研究代碼以前,應該先了解驗收標準。它將爲你節省時間和精力。

clipboard.png

22. 有一個工具箱

擁有一套內部和外部都知道的工具。瞭解這些工具能夠用於的目的,以及什麼狀況下項目能夠從中獲益。

23. 學會建設性的批評

向受信任的同事和朋友提出建設性的批評。它將幫助你成長爲優秀的程序員。

24. 保持開放的思想

技術老是在發生變化,並且變化得很快。不要反對新技術,學習它,而後造成本身的見解。

25. 關注相關的信息

經過關注出版物、博客、播客和科技新聞,及時瞭解最新的科技新聞。

26. 專一於解決問題

強大的解決問題能力能夠解決任何問題。把握解決問題所需的一切。

27. 保持謙虛

不管你的頭銜頭銜是什麼,或者在什麼優秀的公司工做,都要保持謙虛。

clipboard.png

28. 學會演講

瞭解如何吸引觀衆並進行有效的演示。

29. 在開始以前先審視全部的解決方案

不要直接跳到第一個可能的解決方案。在深刻研究代碼以前檢查全部路徑。

30. 找到你擅長的領域

科技行業內有許多部門。找到你最感興趣的領域併成爲專家。

31. 養成良好的習慣

嘗試創建一致且健康的習慣,例如消除分心、時間盒子任務、出席會議、以及有限從最重要的任務開始。這可能須要一些時間來適應,但從長遠來看它是值得的。

clipboard.png

32. 學習調試

掌握瀏覽器的調試器工具。瞭解 IDE 的調試細節。經過學習調試問題和跟蹤錯誤的最有效方法,你將可以解決最困搞的錯誤。

33. 不斷加強你現有的技能

若是你如今掌握一項技能就應該去運用它。除非有意識地進行改進,不然技能會隨着時間的推移而逐漸消失,並且這個行業發展很是迅速,持續練習也很重要。要擺脫「我一直都是這樣作」的心態,並進入「有更好的方法來作到這一點嗎?」的思惟方式。

若是你如今有一大包甜甜圈,這並不意味着你天天均可以吃一個🍩並長期保持這種狀態。

34. 瞭解背後的原理

有時你必須表達本身的意見,所以瞭解其背後的原理很是重要。爲何解決方案 A 比解決方案 B 更好?提供有效的論據,你的意見將更加健全。

clipboard.png

35. 瞭解你的價值

你是一種商品,應該獲得適當的報酬。請注意你所在城市的行業平均值。若是你賺的錢少了,就該和本身的經理聊聊了。拿到你應得的。

36. 不要懼怕尋求幫助

若是你遇到問題而且花費了太多時間尋找解決方案,那麼這時候就尋求幫助了。咱們都是人,都須要幫助。向同事尋求支持並不可恥。

37. 學習怎樣學習

人們以不一樣的方式進行學習。有些人經過視頻教程學習效果最好,有些人則經過閱讀書籍。弄清楚你的學習風格並努力練習。

38. 保持友善

有時你會被要求提供關於某些同事的反饋,請保持友善。你能夠表達本身對黛博拉(演員)缺少主動性的見解,而不是去把她撕成碎片。

39. 休息一下

連續進行 8 個小時的編碼幾乎是不可能的。你會很快倦怠並犯下不少錯誤。因此設置一個計時器,提醒本身停下來休息一下。出去走走。和同事一塊兒喝杯咖啡。離開屏幕將會對你的工做效率和工做質量產生積極的影響。

40. 跟蹤你的進度

學習編碼須要時間,當你看不到進展時會很是沮喪。因此跟蹤你的成就和實現目標的進展很是重要。在計算機旁放一個小清單,每次實現某些功能時,請將其寫下來,不管多小。積少成多,集腋成裘。

clipboard.png

41. 不要過分依賴框架或庫

搞懂語言的細微差異比死摳框架或庫的細節更好。你不必定須要逐個學習這些框架或庫,但理解它們的工做方式將有助於你編寫更清晰、更高效的代碼。

42. 學會代碼 review

讓別人閱讀並分析你的代碼可能會使人恐懼,但也可以爲你提供寶貴的反饋,這將使你成爲更好的程序員。你還應該努力進行良好的代碼審查。

43. 瞭解外圍的領域

瞭解外圍領域相關的一些基礎知識,例如設計、營銷、前端或後端開發。它將幫助你成爲一個更全面的程序員。

44. 不要選擇輕鬆的技術,要選擇正確的

每一個項目都有不一樣的需求,所以咱們必須選擇合適的工具。雖然選擇之前用過的技術很舒服,但若是它們不適合項目的須要,就應該探索替代方案。

45. 爲你的錯誤負責

全部人都會犯錯誤,在整個職業生涯中你會遇到不少錯誤。因此當你犯錯誤時,承擔責任是很重要的。它幫你與團隊成員和管理層創建信任。

46. 審視本身的代碼

在進行 pull 請求以前,請審視你本身的代碼。若是這是同事的工做,你會發表什麼評論?在請求代碼審查以前首先嚐試診斷問題或錯誤是很是重要的。

47. 從失敗中學習

失敗就是沒有達到預期的結果,這並不必定是壞事。在咱們的職業生涯中有過不少失敗。瞭解你失敗的緣由,下次是否能夠換一個方法?

48. 認清你的弱點

瞭解本身。你的弱點是什麼?也許你老是忘記在提交以前更新測試;或許你回覆的電子郵件真的很糟糕。瞭解你的弱點,以便本身能夠積極地解決這些問題。

49. 保持好奇心

這個行業在不斷髮展,因此好奇心很重要。若是你不瞭解某些內容,不管是項目要求仍是某一行代碼,請說出來。沒有人會嘲笑或批評你,你會建立更好的代碼。

clipboard.png

50. 不要試圖學習全部的東西

世界上有無限的知識庫,根本沒法征服它。選擇幾個主題來掌握就好了。你能夠得到有關其餘領域的工做或與本身相關的知識,但沒法掌握全部的內容。

51. 不要敝帚自珍

寫了一些代碼並不意味着你須要對它附加情感。沒有人喜歡本身的工做被拋棄,可是代碼總有一個生命週期,因此沒有必要對它有所捍衛。

52. 召回你的團隊

優秀的團隊擁有彼此的支持。這創造了一個安全的空間來嘗試新事物,而沒必要爲成見擔憂。

53. 在社區中尋找靈感

找一些你欽佩的行業人士。它將激勵你完成本身的項目或嘗試新事物。

54. 重視你工做的價值

不管你擁有多少經驗或你的職位是什麼,你的工做都具備價值。給它應有的價值。

clipboard.png

55. 保持專一

關閉微信通知、短信、電子郵件和社交媒體,這將有助於你集中精力並最大化你的工做效率。某人不會由於你須要 30 分鐘後再回復他的消息而崩潰。

56. 支持

試着並支持你的團隊成員,不管是參加劇要演示仍是他們遇到困難,去幫助他們吧。

57. 給予必要的信任

若是有人作得很好,請告訴他們。贊同與並幫助是與團隊成員創建信任的好方法。這樣他們也更有可能會幫助你。

58. 測試你的代碼

測試很重要。用單元測試、迴歸測試、集成測試、端到端測試去測試你的代碼,你的產品將更加穩定。

59. 作計劃

當你收到新需求或新的bug提示時,請先制定行動計劃。你須要什麼條件來解決這個問題或開發這個功能?即便只花上幾分鐘來制定計劃,也能夠幫你節省好幾個小時。

60. 學習使用僞代碼

僞編碼是一項很是棒的技能,由於它容許你在不浪費時間編寫代碼的狀況下思考複雜問題。在紙上寫下一個方法,運行不一樣的測試用例並查看陷阱的位置。

clipboard.png

61. 記錄你的成就

若是你在工做中獲獎,請將其寫下來。若是你開發了一個關鍵功能,請將其寫下來。你積累的這些東西,能夠幫你進步,或着在艱難的一天去鼓舞士氣。

62. 學習編程的基本功

學習一些基本的排序和搜索算法和數據結構。這些是與語言無關的,能夠幫助你解決跨語言的問題。

63. 選擇長壽和可維護性的技術

雖然測試最新的技術頗有趣,但選擇那些在企業級應用中易於維護的技術。你的團隊將會在將來幾年內感謝你。

64. 學習設計模式

設計模式是構建代碼的有力工具。你可能不須要在每一個項目都去使用它們,但對它們有基本的瞭解將有助於構建更大的應用。

65. 不要裝B

爲了可讀性和簡單性,不要經過編寫複雜的代碼來炫耀你的花哨的編程技巧。這將使你的團隊成員更容易合做。

clipboard.png

66. 償還技術債

技術債可能會產生巨大的性能影響,因此若是能夠的話就重構你的代碼。

67. 小步快跑

不是每月進行一次大規模升級,而是應該更頻繁地小規模更新。這樣能夠大大的減小引入錯誤和破壞性變化的可能性。

68. 儘快並常常提交

儘快並常常提交是確保你工做整潔的最佳方式,而且還減小了恢復因意外引起的代碼丟失的壓力

69. 知道什麼時候去尋求幫助

你不只不該該懼怕尋求幫助,還應該學會何時去尋求幫助。在尋求幫助以前,你應該始終去嘗試解決問題,並記錄你嘗試過的東西。可是當你被一個簡單的問題困擾了一個多小時,成本就超過了收益,你應該去求助某一位同事。

70. 有效的提問

在提問時,儘可能作到具體。

71. 得到有關未完成工做的反饋

你的工做不須要爲了得到反饋而完成。但若是你不肯定方向是否正確,請讓可信賴的同事檢查你方案的有效性。

clipboard.png

72. 閱讀文檔

文檔是關於技術的最純粹的真實來源,所以學習閱讀文檔能夠幫助你快速成爲專家。

73. 嘗試全部的可能性

沒有什麼能阻止你嘗試解決問題。你有什麼損失?

74. 在會議上發言

你的想法和意見頗有價值,參加會議將有助於你與團隊和管理層創建良好的關係。

75. 跨團隊協做

若是你有機會與貴公司的其餘團隊合做,那就去吧。

76. 有激情項目

當你每週工做40個小時的時候,爲激情項目花些時間是很重要的。它們能夠幫助你從新激發對編程的熱愛,並嘗試在工做中沒法用到的新技術。(譯者吐槽:萬惡的美帝沒有996)

77. 制定你的職業目標

規劃你職業生涯的理想軌跡很是重要。若是你不這樣作,就是在無的放矢。

clipboard.png

78. 參與對話

評論博客、參與Twitter主題、與社區互動。做爲一個活躍的旁觀者而不是小透明,你將學到不少東西。

79. 肯定任務的優先級

學會肯定任務的優先級將有助於提升工做效率。即要保證完成即時的平常任務,也要使長期任務的待辦事項列表保持活躍,並按重要程度排序。

80. 不要忽視細節

細節能夠在項目中產生重大影響。

81. 相信你的隊友

你的隊友因爲他們的技能被僱用。使用並相信他們能夠完成工做。

82. 學會委派

若是你是團隊的領導,請學習如何有效地進行委派。它將爲你節省時間並減小挫折感。由於單憑你本身是沒法完成這一切的。

83. 不要將本身與別人比較

你惟一應該比較的是:昨天的本身。

84. 與志同道合者在一塊兒

學習編程將是一個漫長且艱苦的旅程。志同道合的人會鼓勵你繼續前進。

clipboard.png

85. 不要在一開始就上規模

在一開始就搞大規模是一條走向失敗的道路。在構建時要考慮可伸縮性,但在須要以前不要去進行擴展。這樣就不會由於沒必要要的臃腫而壓倒團隊,同時是你的團隊保持了成長的能力。

86. 權衡性能的影響

若是你想使用一種很酷的新技術,應該權衡這樣作的性能影響。你能夠實現相似的東西而不會受到性能影響嗎?若是是這樣,你可能須要從新考慮本身的方法。

87. 不要歧視

不要歧視新技術或新想法。對於學習新技能持開放的態度,也不要歧視別人,每一個人都值得尊重。

88. 申請你沒有資格的工做

你永遠也不會知足工做要求中全部的條目。因此只要有機會就去申請!就算失敗了你能有什麼損失嗎?

模塊化你的代碼

你能夠在一個很長文件中編寫全部代碼,但這很難維護。經過模塊化,能夠確保咱們的代碼易於維護和測試。

90. 不要只是複製和粘貼

若是你要從 Stack Overflow 複製並粘貼解決方案,應該徹底理解它的做用。搞懂你打算引入的代碼。

clipboard.png

91. 創造一個激勵本身的環境和設置

若是你喜歡本身的工做空間和技術設置,那麼你將更有動力去工做。去作你本身吧。

92. 記住你來自哪裏

咱們都是從同一個起點開始的。隨着你的技能和職業的發展,請不要忘記你的初心。

93. 保持樂觀

若是出現問題,請儘可能保持樂觀。明天將會是新的一天。樂觀將有助於你的團隊充滿活力並保證你的心理健康。

94. 不斷從新評估你的工做流程

某些東西如今起做用並不意味着它總事會如此。從新評估你的工做流程並在必要時進行調整。

95. 學習如何在家工做

若是你有能力在家工做,請學會有效地工做。找一個單獨的辦公空間,沒有分心。 Boneskull 寫了一篇關於在家工做的好文章,你應該看看。

clipboard.png

96. 無障礙準則

可訪問性不是過後的工做,也不必定很是困難。每一個人都應該可以使用你的產品。

97. 履行你的承諾

若是你告訴某人將在某個特定日期以前交付一些東西,那麼就要履行這一承諾。若是你沒法在截止日期以前完成,請儘早說出來。

98. 積極主動

若是你有一些額外的資源,能夠用來幫助你的團隊!他們會很感激你的。

99. 創建一個使人驚歎的我的做品集

一個很棒的我的做品集會讓你不同凡響。用它來展現你的編程和設計技巧!

100. 不要忘記你喜歡編程的緣由

從事這個職業是由於它引發了你的興趣。若是你感到沮喪和怨恨,請休息一下。給本身留出空間,從新點燃你對編程的熱情。

101. 分享你的知識

若是你學到了很酷的東西,請分享它們!出席當地的聚會或會議。在午飯期間去教你的同事或你帶的小弟。分享你的知識能夠加強你對它們的理解。


clipboard.png

就是這樣!但願你可以成爲優秀的程序員!


本文首發微信公衆號:前端先鋒

歡迎掃描二維碼關注公衆號,天天都給你推送新鮮的前端技術文章

歡迎掃描二維碼關注公衆號,天天都給你推送新鮮的前端技術文章

歡迎繼續閱讀本專欄其它高贊文章:


相關文章
相關標籤/搜索