初入軟件工程行業,容易犯下的最大錯誤,你中槍了嗎?

全文共2526字,預計學習時長

8分鐘

初入軟件工程行業,容易犯下的最大錯誤,你中槍了嗎?


筆者大學畢業之初缺乏目標還負債累累,但躊躇滿志,想在“專業的”軟件工程行業打拼一番。


筆者早前便了解過Agile並在實習時多多少少使用過它。在課堂上、個人項目中以及不同工作崗位上寫過很多代碼。還在一些設計方案和大局思維方面小試過身手。


當時與大多數初出茅廬的工程師一樣:渴望學習、進步,併發揮自己最大的潛力,成為最好的工程師。


也正因如此,犯下了不少錯誤。工作伊始兩週,便寫錯了代碼,害了一名同事不得不加班加點才能按時提交報告。


但筆者所犯下的大多數錯誤並不是由於寫錯了代碼或是未能按期完成項目導致的(雖然這兩種情況也時有發生)。導致犯下錯誤的原因是筆者不想顯得無知。大多數人將這種情況稱為冒充者綜合症。筆者懼怕承認不理解一個想法,概念,或是記不住如何遍歷樹。


這一恐懼使得筆者在事業之初犯下了一些錯誤。希望通過分享這些錯誤,你們能夠避免犯同樣的錯誤。


問的太少


初入軟件工程行業,容易犯下的最大錯誤,你中槍了嗎?


筆者對這一點心知肚明,但發現自己有知識欠缺時,仍然沒有向他人請教,而是感到自己格格不入,並嘗試通過谷歌和Stackoverflow搜索聽到的想法。(優秀的開發者都會這麼做,不是嗎?)


開會時,只會靜靜地傾聽小組中其他成員的見解,默不作聲地點點頭,希望他們不會要我說說自己的想法。


寫代碼時,筆者深陷於自己所看到的糟糕的代碼中(筆者的第一份工作是上線一個十分難以理解的計費系統),並指望著只要多看就遲早能看懂。筆者花費了大量的時間在根本看不明白的代碼上,只因不敢與向他人請教自己不理解的縮略詞和術語。


一定要大膽提問!千萬別覺得一個問題第一次沒聽明白就說明你的能力不足以理解這個問題。你的所有同事都是這麼過來的,剛剛離開校園時他們也有所欠缺。他們在學習的過程中也需要幫助,所以千萬彆氣餒。


他們中有些人甚至可能和你一樣,也努力想要和大家保持一致。有不計其數的工程師在會議中默默點頭表示同意,但實際上完全不知道會議中提出的想法是什麼意思。


與其羞於開口,倒不如問出一些有益於團隊理解的問題,比如說:


·“你剛剛提到的關於表格分區的內容我不是很明白,能再解釋解釋嗎?”


·“我不太明白這個項目是如何架構的,可以給我一些記錄文檔讓我深入瞭解一下嗎?”


·“我最近在學習使用Ansible,但遇到了一些瓶頸。你能回答我的幾個問題嗎?”


說的太多


初入軟件工程行業,容易犯下的最大錯誤,你中槍了嗎?


筆者提出的問題太少,但說的又太多。而且所說的話往往都與自己實際的知識儲備不相稱。


筆者在工作剛滿一年時發現了這一問題。那時,筆者已經學到了不少知識,覺得自己不再是個職場新丁,並且想炫耀自己在工作時學到的一切。筆者認為,工作的年限不同,可能會犯的錯誤的種類也不同,記住這一點非常重要。


筆者當時急於發表意見,並且十分自傲,不願傾聽別人的意見。


直到筆者所進行的一個項目快要分崩離析之時,筆者才意識到自己的這一行為。幾位資深工程師被指派到筆者的團隊,在短暫的查看我們的成果之後,他們便開始指出所犯的錯誤。誠然,早在項目之初團隊就應該有幾位資歷深厚的工程師為項目保質保量,但這並非可控之事。


在這一過程中,筆者意識到自己仍未對所從事的工作了如指掌。筆者意識到自己需要學習的還有很多。筆者學會了傾聽,再次開始提出自己的問題,並坦然接受自己並非全知全能這一事實。


你可能也會在工作中遇到相似的情況。比如在你覺得自己已經學富五車的時候,突然發現自己需要學習的仍然還有很多。在職場中應該儘早意識到這一點。越早意識到自己並非全知全能,便能越早的開始學習、進步。


只寫與工作相關的代碼


初入軟件工程行業,容易犯下的最大錯誤,你中槍了嗎?


在這一點上,筆者吃了很大的虧。筆者不再磨練自己寫代碼的技術,而只是專注於眼前的工作。


需要澄清的是,專注於被指派的代碼以及項目是成為一個成功的工程師不可或缺的。但是,筆者更希望自己當時能每週拿出兩個小時的時間來做開源開發或是在LeetCode或TopCoder上寫一些富有挑戰性的代碼。


之所以這麼說,是因為在工作一段時間之後,大部分的項目代碼的中心內容都只與一部分代碼概念相關。筆者目前的工作內容是建立通過RESTful APIs進行高通量、低延遲的分佈服務。這一工作雖然的確富有挑戰性,但對工作內容瞭如指掌之後,大多數工作內容都頗為相似。正因如此,筆者發現自己解決問題的方式都幾乎一樣。


但筆者已經很久沒有做過需要用到圖像引擎或是簡單的文本編輯器(以及其他工具)的工作了。筆者甚至都不確定運用這些工具的工作是否也同樣富有挑戰性,但筆者賭它們有。


鑽研工作項目之外的代碼是保持寫代碼水準的絕佳方法,同時還可以通過做出一些開源貢獻,為簡歷增光添彩。一週只需抽出幾個小時,編碼技藝便會突飛猛進。如果你覺得工作中沒有時間這麼做,就去找管理人員談談,看看是否能運用上班時間這麼做。畢竟,你的編碼技術提升了,無論於己於公司都是一件好事。


筆者犯下的錯誤還有許多,但筆者認為以上幾點是影響最大的。


前兩種錯誤歸根結底是因為不想顯得無知或是想要在人前顯得技高一籌。千萬不要陷入這樣的怪圈之中。每當你太在乎別人對你的看法時,切記,別人可能根本就不在乎你。


第三種錯誤可謂是老生常談了。筆者進入職場後便忽略了引導自己進入軟件工程行業的技能,即對於雕琢代碼的執著。自從晉升為高級工程師後,筆者寫的與工作項目無關的代碼越來越多。這麼做使得筆者在工作中獲益良多(寫代碼的速度也大有提升!)。


初入軟件工程行業,容易犯下的最大錯誤,你中槍了嗎?


希望這篇文章能夠幫助讀者在軟件工程行業有個良好的開端!


祝編碼愉快!


如果有相似經歷,歡迎在評論區分享討論喲~

初入軟件工程行業,容易犯下的最大錯誤,你中槍了嗎?

我們一起分享AI學習與發展的乾貨


分享到:


相關文章: