新晉程序員的七大原罪,你中槍了嗎?

聖經中,將人類的惡性劃分爲七種表現方式,定義爲人類與生俱來源自靈魂的七原罪。

傲慢、妒忌、暴怒、懶惰、貪婪、貪食及色慾。

這七個極具概括性的詞,如今可以套用到人類各行各業、日常生活的各個方面所犯的錯誤。

程序員也難逃魔爪。

每次向新職業的過渡都涉及到學習曲線。完全適應新的工作環境前,人人必須經歷一個經受考驗蛻變的過程。

具有較強適應能力和應變能力的人可能會覺得這個過程順利和簡單。而普通人則可能需要更多的時間和精力來適應。不管是身處學術階段還是職業階段,過渡到數據科學職業無疑是個很大的挑戰。某種程度上,這是不斷學習、永無止境的旅程。而這趟旅程充滿艱難險阻,和各種未知,一不小心就會陷入錯誤的泥潭。

爲此,小芯向數據科學領域各路大神取經,總結出以下關於新晉程序員的7條原罪。快來看看,你有木有踩坑吧~

1. 沒有初步的策略

大多數不具備計算機科學和數據分析知識背景,卻想要開始數據科學的新職業的工程師,關於如何成爲數據科學家、數據分析家或數據工程師,他們沒有明確的戰略。

他們不斷增加信息量,但卻從未真正深入地瞭解特定內容。他們往往一次參加多個線上課程,從不同的網站中下載備忘單,閱讀許多作家的文章,但卻沒能形成一個成體系的計劃。

開始這個學習旅程之前,小芯強烈大家建議制定一個學習計劃和日常習慣表,遵循它們以實現目標和建立或加強分析能力和編程技能。在想從事的行業中對比較流行的編程語言和軟件進行研究,查找廣泛使用的庫和包,並根據目標定義最適合你的編程語言和軟件。堅持不懈和不斷實踐下,你就是明天的程序員大師!

2. 盡力一次性學習多種編程語言和軟件

新程序員常常受到一次學習多種編程語言和軟件的誘惑,進而將它們作爲技能寫進簡歷。可能你認爲這是推銷自己的一種手段,但很多時候適得其反。

數據科學、數據分析和數據工程職位空缺的公司和機構更傾向於選擇一位具備紮實專業背景的候選人,他精通一門或者兩門編程語言和軟件,最多三門。很少有職位要求你精通Python、R、SQL、C、C++、C#、Matlab、Java、Ruby等所有的編程語言。

相反地,要研究在特定行業或公司,你更可能會使用的編程語言和軟件;掌握一種或多種編程和分析技能,並真正地精通。你會發現所有的編程語言之間存在共同的邏輯和相似的功能。

然後。從一種語言過渡到另一種語言僅需學習不同的語法,而無需學習其背後的整個邏輯。

3. 代碼編寫過程中不尋求反饋意見

經理要求的標準、第三方期待得到的結果、客戶的需求與你實際完成的事情之間總是存在巨大的差距。

只要你在開發程序或新代碼,就嘗試將它分成幾個階段,徵求反饋意見之後再進行下一步。每個階段的反饋會讓你知道自己是否仍處於正確的操作軌道,或者是否要根據客戶的需求進行更改。但這不意味着你無法理解要求執行的操作,而是將其視爲利益相關者間的想法和期望。越是經常收到反饋,如果出現偏差,你需要修改的內容就越少。要記住持續的交流溝通對每個項目的成功實現都是至關重要的。

4. 不在代碼上寫註釋行

儘管這聽起來很明顯而且是一項微不足道的任務,但是返回暫停項目時,它是跟蹤每行代碼或代碼塊所執行操作的好策略。

在代碼編寫的初期過程,程序員對項目的目的和目標瞭如指掌並不斷更新;他們知道要編寫的程序背後的邏輯步驟,以及追求的結果。然而,由於各種原因(經濟限制、信息缺失、優先事項變更)的影響,所有的項目都容易暫停。這將迫使程序員在保留前一個任務的情況下需要切換到不同的任務。

恢復中斷項目所花時間越長,記住項目剩餘位置和缺失點的機率就越低。這就是註釋行的用武之地。在必要的地方嘗試加上它們;請記住標註得要足夠清晰,能夠讓程序員和執行者理解代碼背後的邏輯。

5. 沒有測試當前的知識水平

你可能已經看過許多操作方法和分步編程教程。你可能還閱讀了多本數據科學書籍和編程指南。你也可能已經完成了來自Udemy、Coursera 和DataCamp的許多編程訓練。猜猜接下來做什麼?

沒錯,就是測試當前的知識水平。上述訓練和課程的真正價值不在於獲取資格證書,而是獲得的知識並能成功將其運用於解決既定問題。

坦白來說,參加線上課程,跳過多數課而不是深入學習,每個人都可以獲得資格證書,公司和機構也非常清楚這一點。嘗試將自己推向新的極限,尋找線上編程挑戰,嘗試集思廣益,在沒有太多資源幫助的情況下進行編碼。這並不意味着執行實際工作時不能運用它們,但是這樣做能夠讓你在工作時舒適感和安全感更強,並降低對這些資源的依賴性。

6. 假裝知道一切

相信我,你做不到的。

沒有人能做到這一點。數據科學領域博大精深,每天都能學些新東西。你能夠開發、使用和掌握的所有庫、包、函數、方法及算法真的很多。時刻保持學習的好奇心和謙虛的態度,因爲你越認爲自己知道的多,實際你知道的越少。

7. 跟隨大流

某些時候,使用一種特定的編程語言和軟件會讓你感覺得心應手,於是你可能覺得無需學習新的編程語言和軟件。

小芯不止一次聽到數據分析小哥哥爭論哪種編程語言在性能、可利用的庫和包、線上資源以及受歡迎程度方面是很好的。甚至還吵起來,打起來。所以始終保持謙虛,認識到總會從其他的語言、庫、包或軟件中學習到新的知識,真的很重要!

畢竟,每種編程語言有其優缺點,但目標是充分利用它們,靈活運用,清楚最適合用於給定任務的編程語言,以解決特定的問題。

這些“罪狀”,你中了哪些呢?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章