码农的自我修养
今天這篇文章,是昨天晚上突然想寫的。目前為止,我作為一名在IT行業沉浮將近6年的技術人,有些事有些話,我經歷過的,我看到過的,我思考過的,憋著一次性分享給你。
?
我先說說我自己,我現在在公司的title名義上是架構師,但我對架構師的定義程度比較深,自我感覺還需努力。我更喜歡定義自己為全棧工程師,而我感覺我是真實意義上的全棧。
?
經歷過移動互聯網浪潮伴,隨著移動端的成長和成熟;創過業做過技術與業務的橋梁;目前在公司擔任架構師,前期和需求方溝通,然后由我制作需求原型,外加演示,敲定初稿后。設計技術架構,包含但不限于后端模塊設計、接口設計、數據庫設計等,并用圖形呈現出來。公司這邊有進駐的人力,一般我只需要把核心部分搞定,包括一些核心代碼的編寫、文檔編寫等,其他的安排出去就好。有時,人力不足時,我還需要兼前端頁面的開發等。
?
以前,對于總是變化的技術和內容,我會感覺到不舒服,因為變化太快了。就像網上段子常說的,“學不動了”、“求求你別學了,跟不上了”等之類的話。哈,當然這些只是當作段子來看,學不學這些都不是由我們自己決定的,而是由行業的發展決定的,不學就出局唄。
?
現在,我釋懷了,面對未來和不確定,有時還會有點小刺激,我享受其中。與其排外,不如欣然接受新鮮事物,與時代共振才是我們緊跟時代的方式。
?
面對變化與不變,架構師常說對于不變的部分要下沉,對于變化的部分要上浮。我想這個思想理念,其實也適用于我們日常工作的方方面面。例如作為一名碼農,你下沉的首先是你解決問題的思維方式,獲取信息的途徑和路徑,以及分析數據得出結論的能力。其次,至于選用哪一種方式解決問題,用了什么技術點來實現這個需求,需要但不是最重要的。
?
對于程序猿,我有個小建議,入行前3年,你可以把主要精力集中放在解決問題的形式上,例如用了哪些技術點、怎么用等等,這些是前提。然后,入行4-7年,就要開始考慮下沉你的經驗和思維。因為這個階段,需要你有更高的視野,你需要把以前的經歷經驗下沉為方法論復用,這是你區別剛入行程序猿的壁壘。
?
下面我展開來說,我理解的《碼農的自我修養》。
?
心法篇
心法主要談的是思維方式,萬變不離其宗,所有的東西都是由思想衍生出來的。
?
思維方式有很多種,對于程序猿,這里我想說兩個思維方式,分別是“層次思維”(也可以說是直升機思維)、用戶思維。
?
什么是層次思維?
?
層次思維要求我們看待問題,要層層拔高,只有當你不斷站在更高的位置看問題時,你會慢慢看到問題的全貌。不斷提升看問題的視角,就能看到問題從因到果的問題鏈,錯綜復雜的關系鏈。這些東西都是做決策的判斷依據,是CTO或者領導必備的思維方式和工具。
?
所以說,碼農與CTO真正的差距,不是能打多少行代碼的差距,而是思維方式的差距。碼農就像井底之蛙,只看到自己看到的那片天,感覺還蠻好的;而CTO早已經跳出了那個井,看到的是廣闊的天空和延綿不絕的大地。這本身就是一種降維打擊,就像之前聽過的一個段子,地球上最聰明的那個人比不過外星人最笨的那個,其實就是這個道理,降維打擊、等級差異。
?
什么是用戶思維?
?
用戶思維其實要求的是,我們要從用戶的角度來看待問題和場景。平衡好人、場景、技術這三者之間的關系。
?
用戶思維要求我們站在用戶的視角來看待和思考問題,用戶真正需要的是什么?怎么滿足用戶的需求?還有沒有其他更好的方式?
?
例如,有天一個用戶找到你,問你要一瓶礦泉水。這個時候你會怎么做?
?
直接給他一瓶礦泉水?還是說,你會先問一下用戶為什么會需要礦泉水?是基于什么場景下的需求等?
?
也許用戶只是口渴了,只要是解渴的液體都行。那么無論你提供的是礦泉水還是茶,還是其他飲料,都能滿足用戶的需要。反而是用戶會覺得你思考全面,考慮到了方方面面,不同的解決路徑等,這就是用戶思維。
?
態度篇
在職場里,我認為做事的態度比能力更重要。
?
能力是可以培養和學習的,而態度則是一個人的里子,是一個人的修養以及事物認知決定的,這個需要閱歷、經歷和見識。
?
古話說,一個領導者最重要的素質排行是,德、勇氣、能力。
?
能力是排在最后一位的,所以身在職場的朋友,要清楚地認識到你所處的位置,千萬不要恃才傲物,恃才傲物的這種選手在職場是活不了幾集的。
?
在職場里,怎么體現一個員工的素質?
?
職場里的人分三類,首類是自燃型的、其次是他燃型的、最后是阻燃型的。
?
我們要爭取做自燃型的人,做人做事有自己的規劃和計劃,與公司同頻,有長期規劃、中期規劃、短期規劃、每日工作計劃等。
?
就算達不到自燃型的人才,也要做到他燃型,千萬不要做阻燃型的人。阻燃型的人不單止自己沒有什么產出,也會影響別人產出,是公司除之而后快的毒瘤。
?
說完了職場人的基本素質之后,那怎么體現職場做事的態度呢?
?
讓交代工作給你的人放心、安心,這就是最好的工作態度。
?
事事有計劃,階段性有反饋。做事認真負責,關自己事,精益求精,用百分之120%的態度輸出你的價值和成果。
?
只有這樣子,你不單止磨礪了自己的心性,也能獲得很多額外的信任和認可,這是你對工作敷衍了事所得不到的東西。
?
這些東西價值百倍,會影響你一輩子,越負責越自由。
劍術篇
下面我列舉幾個場景來闡述劍術的具體實踐。
?
1)日常的工作計劃
?
雖然公司通常會有一些公司層面的,例如像jira這樣的項目計劃管理系統,但我還是建議每個人都需要有一份自己的日程工作安排。
?
在系統上記錄的計劃一般都是關鍵的節點信息,不夠詳細,而且變更性較弱。在自己的云筆記上,按照規劃把自己當天的工作計劃列一下,不用太復雜,就標注日期,然后1、2、3這樣按照優先級列點,一來可以清晰當天的工作內容,今天完成不了的明天接著安排,以后階段性做工作匯報的時候,也不用冥思苦想,直接打開工作計劃,把關鍵成果copy出來即可。
?
工作計劃是緊盯著目標,然后展開一系列的任務,是不斷推進目標達成必備的手段和工具。
?
2)從0到1快速上手
?
怎么快速從0到1上手一門語言?
?
快速上手,我是有點發言權的。我以前寫過一篇文章介紹過,兩個星期快速上手、熟練應用vue。
?
這里,有些方法論分享給你,可以作為參考。
?
對于計算機語言,我一直的理解就是工具,語言本身就是工具,我們要清楚這個概念,不要把自己給埋進去了。
?
對于語言,那么就有語言的組成語法,其實就是語言的規則。
?
我們要快速認知和使用一門語言,那么第一步就應該去閱讀語法,例如vue的語法及常見的用法,不用太深,了解有個概念就行。
?
好,接下來,你需要借力,借助別人做好的輪子。(其實很多開發思維都類似,最快落地的方式就是站在巨人的肩膀上,然后改進。)
?
當時,我在github上搜索vue的輪子,看看有沒有現成的做得比較好的庫,還真被我找到了。因為,我以前也做過輪子庫,也開源出去,我深知輪子庫對效率的重要程度,它可以直接避免很多無用功,直接上業務邏輯。
?
說到這里,還是挺感謝那些樂于分享的程序猿,是你們讓這個世界更加美好。
?
有了輪子庫之后,我們就要磨業務邏輯了。這里要注意的是,盡量把主干流程都跑通先,例如vue的打包、vue常用的命令、vue的部署、vue框架用法及配置等。只要主干流程是通的,剩下的分支樹葉,慢慢補、慢慢磨沒關系。
?
上面的介紹,其實還是需要你有一定的基礎,起碼你的經驗和思維會告訴你,接下來要做什么,去哪里找信息,怎么使用信息,還有哪些不足等。另外,最最最重要一點是,心態!臨危不亂,有條不紊地處理挑戰和問題。
?
3)表述問題的方式
?
其實很多人都不會問問題。
?
有時候,我會收到網友的問題,什么都不說,直接丟給你“xxx什么什么的404,怎么解決?”
?
對于這樣的問題,脾氣好的博主直接不理你。遇到心情不好的主,直接就懟你了。什么素質,不給場景、沒有截圖、沒有更多的信息,你讓我猜?你當我是神仙嗎?浪費我的時間。
?
一個好的問題表述應該把你的預期,過程到哪,做了哪些努力,遇到什么問題,需要什么協助都寫清楚。讓人來回確定問題不過分地說都是耍流氓,你都沒有想清楚就來浪費我的時間,讓我來幫你梳理問題?我們不要做這樣的人,這體現職場的專業度。
?
另外,我們在描述一件事或者一個問題的時候,特別是給上司匯報。盡量簡短,一次性地把情況給說清楚了,能一句話說清楚的就不要兩句話,盡量不要讓對方來回確定內容信息。
?
最后的話,最好的時間應該留給思想和知識,作為碼農也要有基本的素質和修養,這是你以后能否走得遠的一個很重要的因素,希望你在這條路上能不斷前行,做更好的自己。
?
總結
- 上一篇: 微信小程序实现PDF转图片(java s
- 下一篇: 11g 日志传输压缩模式