你的護城河在哪?老程式設計師的一些2016感悟

2022-01-12 09:37:58 字數 2206 閱讀 1962

由於工作職位關係,在公司一直做一些技術儲備工作。沒有實際的開發任務,只是多看一些新東西,萬一有需求可以出解決方案。

回顧2016,從前端開發到移動,從演算法到機器學習,自然語言處理等,看過的東西很多很雜。

我一直有個疑問,什麼才叫技術好?其實技術好,可能是個偽概念。

一門語言,乙個方向,大部分人的水平都差不多,只是熟練度,知識廣度的問題。

c#,有人可以用極其簡單的linq寫出很複雜的功能,有人要使用大段大段的**來實現相同的功能。

之間的差距就是,前者熟悉linq,後者不熟悉(熟練度不夠)或者根本不知道linq(廣度不夠)。

很多情況下,後者如果不是很差勁,後者其實可以通過培訓做到和前者相同的事情。

那麼,如果技術可以通過培訓就能獲得提公升,那麼,老程式設計師的護城河在**?

乙個畢業生,通過不斷的學習一門語言,大量的練習,就能寫出**了,老程式設計師的價值在哪?

可以很負責任的說,老程式設計師在某個領域的90%的知識,新人可以很快速的掌握。但是新人無法很快速的將所有知識整合起來,靈活使用。

例如,乙個抓取**資料的程式,其實這裡牽涉到http協議,html和dom知識,非同步和併發,資料儲存等問題。

如果這個程式出了問題,老程式設計師可以快速判斷錯誤的位置和解決方法,新人可能要耗費很多時間。(有些許可權,非同步的問題,新人可能根本沒有概念)

所以,知識儲備要有一定的廣度。

新人和老司機,在很多觀念上不同。

其實,真正難的程式,往往是那些不可能做出最優解的問題。也就是所謂的pn問題。

沒有最優解,說明這個問題往往是隨著規模增大,演算法的復制度高的硬體無法承受了。(今年的天池演算法比賽的題目就是這樣一道np問題)

在機器學習和自然語言處理領域,更加如此,這些領域都只能求得正確可能性最高的答案。(滴滴出行的大資料比賽,我也參加了)

在加密解密上,包括hash演算法上,工業標準也並非100%要求正確,有些hash演算法,在時間空間上要求很高的前提下,允許百萬分之一的錯誤率的。

例如,爬蟲在考慮哪些**爬過的演算法上,往往把**通過md5等演算法,轉換為數字指紋,這個指紋,其實做不到100%正確的。

其實,真正難的程式,往往是那些沒有任何介面的庫,比如gensim(nlp),scipy(ml),mecab(日語分詞)這樣的東西。

這些庫沒有辦法在朋友面前演示,沒有好看的介面,但是,這些庫踏踏實實是很多專案的基石。(這裡沒有貶低很多gui庫的意思,bootstrape這樣的**也很重要)

新手處理excel,可能只會vba。

老手處理excel,可以用c#操作,可以用npoi這樣的庫。可以呼叫vba的巨集。

很多時候,解決方案有很多,正確的解決方案,最優的解決方案,需要大量的經驗。

在資訊**的時代,沒有什麼技術壁壘。python,nodejs,react,nlp,只要你想研究,資料滿天飛。

如果有時間,各種技術最好都能看一下,知道這個技術的使用場景,優點,缺點。這樣就可以了。

大部分技術,看一下使用者手冊,api函式一調就可以跑了。如果沒有需求,沒有必要去深入學習。

知識豐富之後,你可以快速的制定乙個最優的解決方案,以及多個備選方案。

和別人交流的時候,不會被別人忽悠,不會無法理解對方的想法。

但是,如果你立志於在某個領域變成不可或缺的人。就必須從基礎上認認真真學習。

例如,機器學習方向,

100%的人,都會呼叫python的package,

95%的人,知道回歸,聚類背後的理論知識,

80%的人,知道拉格朗日和對偶演算法。

50%的人知道怎麼一步步推導公式。

但是再深入下去,如何調整引數,如何活用lda模型,這樣的大牛很少了。

要知道這些,閱讀大量的**,做大量的研究,跑大量的資料,必須這樣做,沒有捷徑。

只有這樣的人,才能獲得 養兵千日用兵一時 的待遇。平時積累經驗,需要的時候,為公司一錘定音。

當然,大牛,有些關鍵知識,請自行做好保密工作。有些東西說破就不靈了。世道艱險,自我保護不可少。

當然,以上這些有個前提:學習自己喜歡的東西,注意保養自己的身體。

年初在接觸react native這樣的東西的時候,我覺得很前衛。等到我學習機器學習,自然語言處理後,我發現,這些才是最前衛的。

可惜園子裡面的機器學習氛圍不好,很多文章閱讀數不過百。再過幾年,將是機器學習的天下,大家應該開始轉型了。

機器學習,入門難,學好難,但是真的學好了,高薪高待遇容易。

你的護城河在哪?老程式設計師的一些2016感悟

由於工作職位關係,在公司一直做一些技術儲備工作。沒有實際的開發任務,只是多看一些新東西,萬一有需求可以出解決方案。回顧2016,從前端開發到移動,從演算法到機器學習,自然語言處理等,看過的東西很多很雜。我一直有個疑問,什麼才叫技術好?其實技術好,可能是個偽概念。一門語言,乙個方向,大部分人的水平都差...

對程式設計師的一些建議

對程式設計師的一些建議 說起來真的感到很慚愧,都工作2年的人了,結果寫的 還是讓人一下子指出很多程式設計風格上的眾多問題 這個注釋寫的不好,明明是定義了void 函式,為什麼還要return 1呢。哎,看著別人指責自己的問題,心裡也是一肚子的苦水 專案趕的這麼緊,我寫的source如果都要revie...

程式設計師常用的一些工具

一些高效的軟體可以給我帶來高效的工作效率。下面說一下程式設計師常用的一下工具,高效的工具。謝謝大家支援it江湖 一 xshell xftp 免費軟體 xshell和 xftp都是 netsarang 出品的優秀網路管理 安全傳輸工具。xshell 是乙個免費的安全終端 器,可以作為 ssh teln...