您現在的位置是:首頁 > 音樂首頁音樂

放心吧,我不賣課——我的程式設計自學之路

由 什麼值得買 發表于 音樂2023-01-30
簡介程式設計的書也可以適量看一點,特別是對於自學程式設計的人來說,一方面是可以擴寬思路,比如《讓工作化繁為簡:用Python實現辦公自動化》,能讓你瞭解一下,程式能幹什麼,你可以對照著想想,自己的工作中哪些任務是可以透過程式來解決的

自學點什麼好呢

作者:黑芒

背景

之前寫Nas的docker都用來幹啥了,有人評論說幹啥不好,假裝當程式設計師,唔,我想了想,其實像我這樣假裝當程式設計師收益還是挺大的,所以今天來跟大家分(pian)享(dian)一(jin)下(bi)。

學習過程

起源

我,地質狗。在我們這個行業,普通地質狗其實是不碰程式碼的,碰程式碼的那叫地理資訊系統。我們常見的工作狀態其實是這樣的:

放心吧,我不賣課——我的程式設計自學之路

我接觸程式設計是因為我進股市時機很好。2015年,進股市一週後大盤崩了。接下來半年的行情…慘不忍睹。在尋找新思路的過程中,我發現了量化交易,接觸了python。為了股市賺錢,我自學python。到現在為止,還有一個實盤中的量化策略在跑。收益其實不高,現在用一創跑的實盤,從2019年9月算起到現在(2022年12月),三年多下來年化收益10%左右(算上打新收益)。唯一的優勢就是我自己心裡能自我安慰下,我還有最佳化的空間,以及,不用去操作(畢竟剛工作那會天天上山,根本沒機會操作)。

在量化交易中,主要使用的是pandas庫和平臺自己的介面,偶爾用到Ta-lib。但是都在網站上,連Python環境都不用自己搭建。

接入工作

2017年我單位新專案要用arcgis。整個部門沒人會用。我看了看發現arcgis裡支援python的,我一下子膨脹了,心想我連裡面高階玩法python都會一點,整這個還不是輕而易舉,所以這活我接了。然後坑了,裡面arcpy好幾年沒更新了,相關人員好像跳槽了,極難用。而離開了量化平臺,我連個PyCharm和VSCode弄Python都得重新百度學習。不過總算慢慢摸索過來了。

後來專案中遇到了問題,每天有幾百張甚至上千張取樣照片要根據座標、時間進行重新命名。這肯定不能手動啊,我寫了個python程式完成了,透過讀取EXIF資訊,與GPS掌機上儲存點進行對比計算,根據時間差、距離進行重新命名。也就是從這個時候開始,我開始真正接觸Python的內容。

2018年,土壤環境的標準更新,市面上的軟體沒來得及跟上。單位前面的專案即將結束,專案成果得更新成新國標的,用python寫了個用上。這時候還想將程式發給同事用,所以學了PyQt,pysimplegui等庫。但是加了pandas的庫太難轉成exe了,同事部署python也不會,最終我變成了資料處理中心。大家把資料發給我,我跑一遍把結果發回去。

後來,專案裡又遇到了種種問題,有的牽扯到了向量資料,我又接觸了geopandas庫。有的需要大批次處理生成word文件,又接觸了python-docx庫,等等等等。隨著解決問題,自己的水平也在逐漸提升。每次我都會想辦法折騰點新東西。專案結束的時候我弄了個專題,機器學習的資料預測與傳統距離反比差值的對比。

走出python,接觸別的語言

新專案來了,我有感於上一輪專案野外記錄後人工轉電子記錄的繁瑣,想直接電子記錄。又去學了flutter。用python的fastapi寫後臺,放在自己家的nas上,然後用flutter寫了個app。導航、記錄全搞定。flutter初學,基本靠抄。印象很深刻,基本抄的是github上一個日記app。

新專案出了一次野外,感覺app有點問題,回來又用GetX庫把整個app重寫了一次,還加入了照片和樣品管理,使用者系統也加上了。抄的內容基本改完了。

放心吧,我不賣課——我的程式設計自學之路

然後專案開始吹牛逼,說要搞數字化。我又去學了Vue,打算寫一個網頁管理端。目前還沒寫完……專案這邊不重視,寫了又是隻有我自己一個人用,我也就懶了。估計最後可能直接鴿掉。

自學程式設計我收穫了什麼?

那麼透過這一系列的自學,我收穫了什麼呢?

首先是升職加薪。2017年接了arcgis的相關工作後,部門新專案因為都是用arcgis的,當時就我會,我一個人承擔了3個專案的相關工作,第二年就讓我當了其中一個專案的專案負責。對我個人來說,帶來了工資收入上的大提升。

其次是額外收入。在2018年開始,由於我將工作內的很多問題都透過程式設計來解決了,那麼也就順勢接了點私活。幾年下來陸陸續續也賺了不少零花錢。

最後是節省時間。同樣是由於工作中很多問題透過程式設計解決,最終完成同樣的工作,所需要的時間,我比同事更短,我可以將節省下來的時間的一部分拿出來自己分配,比如看書。

從我個人學習經歷的一點建議

說實話,我的程式設計學習經歷,並不具有太強的參考意義。基本就是興趣+趕鴨子上架。但是作為一個真的吃到了甜頭的人,我還是腆著臉給大家幾個建議吧:

1。程式設計並不是程式設計師專屬,實際上我自己感覺,很多工作裡,一些小程式都可以極大的提升自己的工作效率,帶來提升。甚至由於你自己才是這些工作的實際操作者,你更知道整個過程中,哪些事情是最需要程式的,哪些地方可以變通一下,你對需求才是最瞭解的。

2。不要把程式設計想的太難,Python這種,抄抄寫寫,錯錯錯錯錯錯錯錯錯對錯錯錯錯錯錯對,磨一陣子,其實都能有點收穫;

3。要多實踐,看影片上課學的東西,也許比較系統,但是永遠沒有你自己找一個實際問題,自己寫了來的效果好;

4。程式設計的書也可以適量看一點,特別是對於自學程式設計的人來說,一方面是可以擴寬思路,比如《讓工作化繁為簡:用Python實現辦公自動化》,能讓你瞭解一下,程式能幹什麼,你可以對照著想想,自己的工作中哪些任務是可以透過程式來解決的。一方面是可以完善一些細節,比如說《Effective Python:編寫高質量Python程式碼的90個有效方法》讓我知道了一些自學不太接觸的到的小技巧,讓我寫出來的程式碼,至少在我看來,更好看一點。

以上就是我自學程式設計的過程和收穫啦,希望也能幫助到你。