做者:Emma Wedekind翻譯:瘋狂的技術宅前端
原文:https://dev.to/emmawedekind/1...程序員
未經容許嚴禁轉載面試
成爲優秀程序員的祕訣之一就是學習如何搜索問題的答案。經過有效地學習 Google 到的東西,你將節省大量的時間。算法
讓你的團隊知道本身完成一項任務將花費多長的時間,並以兩種方式交付。經過可預知的和可靠的交付,你將創建起信任。編程
設計師爲用戶的痛點提供解決方案。爲了創建有效的產品,要向他們學習,並團結他們。segmentfault
找一個你能夠向他學習的人並從中汲取靈感。若是你須要技術導師,Coding Coach是一個很好的入門之地!後端
成爲一個可以分享想法,並使別人能夠從中汲取經驗的人。設計模式
寫評論時要解釋「why」,而不只僅是「what」。瀏覽器
函數和變量應該準確地表示它們的用途,所以 myCoolFunction
這樣的命名並不能讓你上天。安全
每一個人都須要時間去放鬆。快開始你一直想要的那次旅行吧。你的大腦和同事們都會感謝你。
沒有理由累積更多的技術債。
閱讀代碼是一種被低估的技能,但倒是一種很是寶貴的技能。
通過漫長的工做日,你須要時間進行放鬆。關閉工做通知,從手機中刪除無聊的應用。
能夠經過電子郵件或微信解決嗎?若是是的話,請避免開會。若是不是,請注意持續時間。瞄準更少。
結對編程容許你扮演教師和學生的角色。
經過簡潔明瞭的電子郵件來捕捉受衆羣體。沒有人想去讀你冗長的電子郵件。
與志同道合的人在一塊兒會激勵你走出低谷。
清理你的版本控制分支,就像在你的朋友來訪以前清理你的房子同樣。若是你不須要它就丟棄,不要把它扔進抽屜裏。
包容。不要告訴別人他們不夠好,不能進入這個行業。每一個人都有本身價值。
你選擇了一門須要不斷學習的專業。學會愛它。
這並不容易。但咱們都是在同一個起點開始的。你能行。
若是它不嚇到你,就不會幫助你成長。
在深刻研究代碼以前,應該先了解驗收標準。它將爲你節省時間和精力。
擁有一套內部和外部都知道的工具。瞭解這些工具能夠用於的目的,以及什麼狀況下項目能夠從中獲益。
向受信任的同事和朋友提出建設性的批評。它將幫助你成長爲優秀的程序員。
技術老是在發生變化,並且變化得很快。不要反對新技術,學習它,而後造成本身的見解。
經過關注出版物、博客、播客和科技新聞,及時瞭解最新的科技新聞。
強大的解決問題能力能夠解決任何問題。把握解決問題所需的一切。
不管你的頭銜頭銜是什麼,或者在什麼優秀的公司工做,都要保持謙虛。
瞭解如何吸引觀衆並進行有效的演示。
不要直接跳到第一個可能的解決方案。在深刻研究代碼以前檢查全部路徑。
科技行業內有許多部門。找到你最感興趣的領域併成爲專家。
嘗試創建一致且健康的習慣,例如消除分心、時間盒子任務、出席會議、以及有限從最重要的任務開始。這可能須要一些時間來適應,但從長遠來看它是值得的。
掌握瀏覽器的調試器工具。瞭解 IDE 的調試細節。經過學習調試問題和跟蹤錯誤的最有效方法,你將可以解決最困搞的錯誤。
若是你如今掌握一項技能就應該去運用它。除非有意識地進行改進,不然技能會隨着時間的推移而逐漸消失,並且這個行業發展很是迅速,持續練習也很重要。要擺脫「我一直都是這樣作」的心態,並進入「有更好的方法來作到這一點嗎?」的思惟方式。
若是你如今有一大包甜甜圈,這並不意味着你天天均可以吃一個🍩並長期保持這種狀態。
有時你必須表達本身的意見,所以瞭解其背後的原理很是重要。爲何解決方案 A 比解決方案 B 更好?提供有效的論據,你的意見將更加健全。
你是一種商品,應該獲得適當的報酬。請注意你所在城市的行業平均值。若是你賺的錢少了,就該和本身的經理聊聊了。拿到你應得的。
若是你遇到問題而且花費了太多時間尋找解決方案,那麼這時候就尋求幫助了。咱們都是人,都須要幫助。向同事尋求支持並不可恥。
人們以不一樣的方式進行學習。有些人經過視頻教程學習效果最好,有些人則經過閱讀書籍。弄清楚你的學習風格並努力練習。
有時你會被要求提供關於某些同事的反饋,請保持友善。你能夠表達本身對黛博拉(演員)缺少主動性的見解,而不是去把她撕成碎片。
連續進行 8 個小時的編碼幾乎是不可能的。你會很快倦怠並犯下不少錯誤。因此設置一個計時器,提醒本身停下來休息一下。出去走走。和同事一塊兒喝杯咖啡。離開屏幕將會對你的工做效率和工做質量產生積極的影響。
學習編碼須要時間,當你看不到進展時會很是沮喪。因此跟蹤你的成就和實現目標的進展很是重要。在計算機旁放一個小清單,每次實現某些功能時,請將其寫下來,不管多小。積少成多,集腋成裘。
搞懂語言的細微差異比死摳框架或庫的細節更好。你不必定須要逐個學習這些框架或庫,但理解它們的工做方式將有助於你編寫更清晰、更高效的代碼。
讓別人閱讀並分析你的代碼可能會使人恐懼,但也可以爲你提供寶貴的反饋,這將使你成爲更好的程序員。你還應該努力進行良好的代碼審查。
瞭解外圍領域相關的一些基礎知識,例如設計、營銷、前端或後端開發。它將幫助你成爲一個更全面的程序員。
每一個項目都有不一樣的需求,所以咱們必須選擇合適的工具。雖然選擇之前用過的技術很舒服,但若是它們不適合項目的須要,就應該探索替代方案。
全部人都會犯錯誤,在整個職業生涯中你會遇到不少錯誤。因此當你犯錯誤時,承擔責任是很重要的。它幫你與團隊成員和管理層創建信任。
在進行 pull 請求以前,請審視你本身的代碼。若是這是同事的工做,你會發表什麼評論?在請求代碼審查以前首先嚐試診斷問題或錯誤是很是重要的。
失敗就是沒有達到預期的結果,這並不必定是壞事。在咱們的職業生涯中有過不少失敗。瞭解你失敗的緣由,下次是否能夠換一個方法?
瞭解本身。你的弱點是什麼?也許你老是忘記在提交以前更新測試;或許你回覆的電子郵件真的很糟糕。瞭解你的弱點,以便本身能夠積極地解決這些問題。
這個行業在不斷髮展,因此好奇心很重要。若是你不瞭解某些內容,不管是項目要求仍是某一行代碼,請說出來。沒有人會嘲笑或批評你,你會建立更好的代碼。
世界上有無限的知識庫,根本沒法征服它。選擇幾個主題來掌握就好了。你能夠得到有關其餘領域的工做或與本身相關的知識,但沒法掌握全部的內容。
寫了一些代碼並不意味着你須要對它附加情感。沒有人喜歡本身的工做被拋棄,可是代碼總有一個生命週期,因此沒有必要對它有所捍衛。
優秀的團隊擁有彼此的支持。這創造了一個安全的空間來嘗試新事物,而沒必要爲成見擔憂。
找一些你欽佩的行業人士。它將激勵你完成本身的項目或嘗試新事物。
不管你擁有多少經驗或你的職位是什麼,你的工做都具備價值。給它應有的價值。
關閉微信通知、短信、電子郵件和社交媒體,這將有助於你集中精力並最大化你的工做效率。某人不會由於你須要 30 分鐘後再回復他的消息而崩潰。
試着並支持你的團隊成員,不管是參加劇要演示仍是他們遇到困難,去幫助他們吧。
若是有人作得很好,請告訴他們。贊同與並幫助是與團隊成員創建信任的好方法。這樣他們也更有可能會幫助你。
測試很重要。用單元測試、迴歸測試、集成測試、端到端測試去測試你的代碼,你的產品將更加穩定。
當你收到新需求或新的bug提示時,請先制定行動計劃。你須要什麼條件來解決這個問題或開發這個功能?即便只花上幾分鐘來制定計劃,也能夠幫你節省好幾個小時。
僞編碼是一項很是棒的技能,由於它容許你在不浪費時間編寫代碼的狀況下思考複雜問題。在紙上寫下一個方法,運行不一樣的測試用例並查看陷阱的位置。
若是你在工做中獲獎,請將其寫下來。若是你開發了一個關鍵功能,請將其寫下來。你積累的這些東西,能夠幫你進步,或着在艱難的一天去鼓舞士氣。
學習一些基本的排序和搜索算法和數據結構。這些是與語言無關的,能夠幫助你解決跨語言的問題。
雖然測試最新的技術頗有趣,但選擇那些在企業級應用中易於維護的技術。你的團隊將會在將來幾年內感謝你。
設計模式是構建代碼的有力工具。你可能不須要在每一個項目都去使用它們,但對它們有基本的瞭解將有助於構建更大的應用。
爲了可讀性和簡單性,不要經過編寫複雜的代碼來炫耀你的花哨的編程技巧。這將使你的團隊成員更容易合做。
技術債可能會產生巨大的性能影響,因此若是能夠的話就重構你的代碼。
不是每月進行一次大規模升級,而是應該更頻繁地小規模更新。這樣能夠大大的減小引入錯誤和破壞性變化的可能性。
儘快並常常提交是確保你工做整潔的最佳方式,而且還減小了恢復因意外引起的代碼丟失的壓力
你不只不該該懼怕尋求幫助,還應該學會何時去尋求幫助。在尋求幫助以前,你應該始終去嘗試解決問題,並記錄你嘗試過的東西。可是當你被一個簡單的問題困擾了一個多小時,成本就超過了收益,你應該去求助某一位同事。
在提問時,儘可能作到具體。
你的工做不須要爲了得到反饋而完成。但若是你不肯定方向是否正確,請讓可信賴的同事檢查你方案的有效性。
文檔是關於技術的最純粹的真實來源,所以學習閱讀文檔能夠幫助你快速成爲專家。
沒有什麼能阻止你嘗試解決問題。你有什麼損失?
你的想法和意見頗有價值,參加會議將有助於你與團隊和管理層創建良好的關係。
若是你有機會與貴公司的其餘團隊合做,那就去吧。
當你每週工做40個小時的時候,爲激情項目花些時間是很重要的。它們能夠幫助你從新激發對編程的熱愛,並嘗試在工做中沒法用到的新技術。(譯者吐槽:萬惡的美帝沒有996)
規劃你職業生涯的理想軌跡很是重要。若是你不這樣作,就是在無的放矢。
評論博客、參與Twitter主題、與社區互動。做爲一個活躍的旁觀者而不是小透明,你將學到不少東西。
學會肯定任務的優先級將有助於提升工做效率。即要保證完成即時的平常任務,也要使長期任務的待辦事項列表保持活躍,並按重要程度排序。
細節能夠在項目中產生重大影響。
你的隊友因爲他們的技能被僱用。使用並相信他們能夠完成工做。
若是你是團隊的領導,請學習如何有效地進行委派。它將爲你節省時間並減小挫折感。由於單憑你本身是沒法完成這一切的。
你惟一應該比較的是:昨天的本身。
學習編程將是一個漫長且艱苦的旅程。志同道合的人會鼓勵你繼續前進。
在一開始就搞大規模是一條走向失敗的道路。在構建時要考慮可伸縮性,但在須要以前不要去進行擴展。這樣就不會由於沒必要要的臃腫而壓倒團隊,同時是你的團隊保持了成長的能力。
若是你想使用一種很酷的新技術,應該權衡這樣作的性能影響。你能夠實現相似的東西而不會受到性能影響嗎?若是是這樣,你可能須要從新考慮本身的方法。
不要歧視新技術或新想法。對於學習新技能持開放的態度,也不要歧視別人,每一個人都值得尊重。
你永遠也不會知足工做要求中全部的條目。因此只要有機會就去申請!就算失敗了你能有什麼損失嗎?
你能夠在一個很長文件中編寫全部代碼,但這很難維護。經過模塊化,能夠確保咱們的代碼易於維護和測試。
若是你要從 Stack Overflow 複製並粘貼解決方案,應該徹底理解它的做用。搞懂你打算引入的代碼。
若是你喜歡本身的工做空間和技術設置,那麼你將更有動力去工做。去作你本身吧。
咱們都是從同一個起點開始的。隨着你的技能和職業的發展,請不要忘記你的初心。
若是出現問題,請儘可能保持樂觀。明天將會是新的一天。樂觀將有助於你的團隊充滿活力並保證你的心理健康。
某些東西如今起做用並不意味着它總事會如此。從新評估你的工做流程並在必要時進行調整。
若是你有能力在家工做,請學會有效地工做。找一個單獨的辦公空間,沒有分心。 Boneskull 寫了一篇關於在家工做的好文章,你應該看看。
可訪問性不是過後的工做,也不必定很是困難。每一個人都應該可以使用你的產品。
若是你告訴某人將在某個特定日期以前交付一些東西,那麼就要履行這一承諾。若是你沒法在截止日期以前完成,請儘早說出來。
若是你有一些額外的資源,能夠用來幫助你的團隊!他們會很感激你的。
一個很棒的我的做品集會讓你不同凡響。用它來展現你的編程和設計技巧!
從事這個職業是由於它引發了你的興趣。若是你感到沮喪和怨恨,請休息一下。給本身留出空間,從新點燃你對編程的熱情。
若是你學到了很酷的東西,請分享它們!出席當地的聚會或會議。在午飯期間去教你的同事或你帶的小弟。分享你的知識能夠加強你對它們的理解。
就是這樣!但願你可以成爲優秀的程序員!