一、前言
工作一週了,這11,11,6是有點累。
每天十一點半左右打卡下班,第二天九點半起,十點四十左右到公司,每天要寫日報,這樣的日子一週持續六天。
其實也還行,也是身體累點。更主要的是發現自己有很多不會地方,很焦慮(組內就我一個是應屆,全組最菜),要學的東西太多,會在一段時間內沒有產出,生怕過不了試用期。
生理和精神的雙重焦慮暴擊,哈哈,估計適應一段時間會好很多。
二、缺點
要學的東西實在是太多了,讀研期間由於種種原因,沒有去實習,工作了極其不適應。主要有兩方面的缺點,
2.1 技能缺失
技能的缺失主要有以下幾點:
2.1.1 Linux開發經驗
不熟悉的技能有:
- vim(編輯器)
- bazel(構建工具)
- shell命令
- gdb(調試工具)
- Git(版本控制)
生產環境是Linux。而自己以前用Linux的時候也僅限於cd, mv, reboot等等簡單的命令,用vim也只是簡單的修改配置文件,隨便用用還行,可離靠這些吃飯還差的很遠。
2.1.2 c++語言實踐
主要是兩點:
- 智能指針的使用
- 多線程的編寫
以前在學校的時候,生活在自己的舒適區,寫的項目用的都是最原始的指針,C++的智能指針只是用來應付面試的,另外更別提多線程的經驗了。
2.1.3 CUDA編程
爲了更好的利用CPU,提高程序的效率,代碼從單線程走向了多線程。
現有的狀況,CPU的能力已經完全釋放,但依然跟不上計算任務的所需算力。那麼下一階段的發展可能是GPU編程,利用GPU的多核進行計算。這樣CUDA編程可以說是將來的必備技能(參照多線程技術的發展)。
自己在前幾年就想過這個發展趨勢,遺憾的是沒有付出實際行動去進行學習,工作中遇到了只能一臉懵。
2.1.4 框架學習
主要是RPC框架。
公司的實際生產中,很少有單機的程序(這是與學校的Demo項目最主要的不同)。大部分邏輯都以服務的形式進行提供,那麼這就要求對相應的RPC框架進行熟悉。
2.2 思考方式
快速迭代開發的過程中,很少有詳細的文檔對項目進行描述。在接手別的項目之後,如何能從“幾乎沒有註釋”的代碼中找到相應的處理邏輯。
2.2.1 數據流
一個有效的方法應該是按照數據的流動進行分析,然後在分析的過程中把握以下幾點:
- 模塊的劃分
- 數據的變化
“沒有註釋”≠“一團糟”
注意每個模塊的邊界條件,定義相關的數據格式。把握住這兩點就能寫出自己的模塊,來替換原有邏輯。
三、計劃
原來是計劃每週一篇博客的,在當前的情況下貌似是一種奢望了。
因爲博客是輸出自己知識的過程,主要是爲了自己便於總結、提升,當然,如果分享出來能幫助到別人就更好了。
但工作以後,一方面接觸到的東西是業務偏多,另一方面工作內容也會涉及公司機密(這肯定不能寫出來),導致沒啥可寫的。
好在剛工作,需要學習的基礎知識有很多,前一兩個月的可以進行基礎知識的總結。
以後寫博客應該分成以下兩個方向:
- 通用基礎知識(如某一框架的學習,源碼解讀)
- 工作經驗總結(尤其遇到問題的處理方法,思維邏輯的總結)
四、理想
當有太多的事情要忙的時候,很多人都會疲於奔波,他們把所有的精力都放在了眼前的事情上,卻忘了自己爲什麼要做這些,忘了自己本來要去哪。
希望以後工作的時候,時時刻刻記着
- 我爲什麼在這裏?
- 我爲什麼要做這件事?
另外,拖延症一定要改!