第七十期:IT技术人员的自我修养
8月4日
以下文章來源于空山新雨的技術空間?,作者空山新雨的技術空間
前言
在IT領域摸爬滾打多年,從一個普通程序員到技術主管,到技術經理,再到技術總監,踩過不少坑、加過不少班,也背過不少鍋。
在提升自身技術能力與管理能力的同時,也一直在思考,作為IT技術從業者,如何做才能讓我們在這個領域里發展得更好。
在年齡漸長時能從容應對所謂的“中年危機”,或者說IT技術人員的自我修養,應從哪些方面去努力。
本文不是所謂成功人士的經驗之談(作者離自己理解的成功還有十萬八千里),而是以一個技術人員的角度做的一些思考與總結。
希望能給已在這個行業或有志于從事這個行業的同僚以參考,與之共勉。
持續學習,構建自己的知識體系
學習能力應該是一個人最重要的能力之一,因為我們絕大部分技能都需要通過學習獲得,所謂天才,也不過是其學習效率或學習能力比一般人強而已。
IT技術更新日新月異,不論是新版本的更新還是新框架的產生,都以極快的速度在推進,令人眼花繚亂,應接不暇。
因此,對IT技術人員來說,持續學習、有選擇地學習顯得尤為重要。
那么我們平時應該怎么來學習,不斷提升自己專業技能及綜合能力呢,我總結了如下幾種方式:
1. 從書本學,從網絡學
現在技術書籍市場也是魚龍混雜,良莠不齊,并且價格都還不便宜。所以建議還是有選擇地購買技術書籍。
一般原理介紹類書籍,如介紹JVM基本原理,數據庫基本原理,設計模式、算法之類的書籍等等,具備一定的保值度,可以購買不斷重溫學習。
而框架介紹類書籍,個人不建議購買。
因為框架更新迭代一般都比較快,有時候你買的時候可能就已經過時了,不具備保值度,所以建議從官方文檔、博客、公眾號等渠道學習,也就是從網絡學。
從網絡學最好的方式是從官方文檔學,因為信息在傳播過程中是有損耗的。
尤其是英文文檔,各人語言、理解水平不同,對原文的解析或多或少有些偏差,官方文檔最原始,損耗也最低。
其次,從一些知名的優質的博客學,從公眾號學,并且最好能從頭到尾地看,了解學習作者整體的技術體系(那些東拼西湊、沒有經過實踐直接復制粘貼的最好就不要去看了)。
2. 向先進學
三人行,必有我師焉,向比你厲害的人學。
在一個團隊中,總有那么幾個能力比較強的,而能力強的人總有一些不一樣的特質與習慣。
多與這些人交流,善于去發現總結別人好的特質與習慣,然后模仿,吸收,最終形成自己的特質與習慣。
3. 從復盤總結學
任何一個組織或團隊,總會存在這樣那樣的一些問題,如果一個團隊沒有任何問題,那這本身就是一個問題。
對問題的處理不應該終止于解決,還應及時對其復盤總結,從中吸取經驗與教訓,避免同樣的問題再次發生。
我曾就職的某公司數據部門,在第一次對跨年晚會現場直播做實時數據統計與分析時,因缺乏經驗,產品運營部門給的預估并發用戶數是50w左右。
于是團隊按這個預估做了壓測,準備了對應的服務器,結果當晚直播并發在線用戶數達到250w+,5倍還不止的壓力直接把整條實時分析鏈路沖垮。
并且搞笑的是當初準備的服務器磁盤大多是幾十G的配置,滾滾而來的日志不到幾分鐘就把磁盤給打滿。
幾個人光是遷移日志文件保障數據不丟失就已是手忙腳亂了,對實時分析服務只能撒手棄療。
所幸數據都保存了下來,事后補救也創造了我們連續工作36個小時的記錄。
這是一次典型的失敗教訓,事后我們復盤總結了幾點,一是預估不足;二是沒有準備應急方案;三是沒有與其他部門協同起來,比如運維。
在第二年年底時,我們做了三倍于預估量的準備,并且每個服務做好鏡像,隨時準備擴容,并且把運維部門協同起來作戰,實時監視每項指標,順利應對了同時在線五六百萬用戶的現場直播。
因此,從對問題與失敗的復盤總結中學,是進步提高的一個主要方式,團隊如此,個人也如此。
4. 做好知識管理
聞道有先后,術業有專攻,對IT技術領域來說,真正的全棧是極少的,樣樣精通一般就意味著樣樣平庸。
所以,選好自己的技術方向,并深耕下去,一般IT軟件技術領域的方向有服務端、WEB前端、移動端、大數據、人工智能等。
在學習與工作的同時,對一些重點、難點及時做好記錄。
好記性不如爛筆頭,很多人在上學階段都有做筆記的好習慣,但是參加工作后,卻把這個好習慣給丟了。
對于IT技術人員,?每天大部分時間都對著電腦,所以可以采用一些筆記軟件(如印象筆記、OneNote等)來對平時學習的一些知識點,遇到的一些問題及解決方案進行整理記錄,便于回顧與查閱。
也可以通過博客、公眾號的形式,定時對自己的知識體系進行梳理,既鞏固了自己的知識,又能給人以學習參考,何樂而不為。
如果這兩者都還沒有的,趕緊去選一個從今天開始用起來吧。
求甚解,知其然,知其所以然
所謂求甚解,就是理解事物背后的本質與根源,從而觸類旁通,舉一反三。
比如你在某某博文中看到添加某個注解就能達到某某功能,你是直接拿來就用還是會分析為什么這么做就能達到效果。
再比如某個程序崩潰了,你是直接重啟處理還是在有條件的情況下收集必要的數據分析原因,或者在先保障程序服務可用之后再持續跟進定位。
許多人都有過找人協助解決問題的經歷,我也幫助過很多人定位處理過問題,但其中相當一部分人在你幫他解決問題之后,來一句“牛叉”,然后,就沒有然后了。
不會問這個問題出現的原因是什么,不會問為什么這么處理就沒事了,不會問怎么來避免這個或這類問題。
然后下次找你過去協助,你會發現可能又是類似的問題。
我也見過很多這樣的場景,線上服務故障了,某程序員通過重啟服務恢復了,但不久后又故障了,于是再重啟。
以至于后面每天定時重啟一下,來避免故障再出現,卻從來沒有想過去定位故障發生的原因。
可能會覺得沒有類似經驗,不知道從何處入手,但經驗都是積累的,沒有人從一開始就能掌握所有技能。
這些都是一種浮于表面,不求甚解的不良習慣。
怎么求甚解,最簡單的方法就是多問幾個為什么,直至了解到某個問題或某個知識點的本源。
我曾與一個現在微軟工作的研究生同學一起跟隨一家公司做項目需求調研,當時那家公司組織去黃山旅游,我們就在黃山腳下的酒店里整理文檔。
晚上大家一起吃飯喝酒,回到房間的時候,我已經只能在椅子上趴著了,卻發現我那同學不急不慢地從包里拿出電腦,然后開機,然后,打開了Eclipse……
后來了解到是他一直在思考解決一個問題,吃飯的時候突發靈感,所以回來就馬上試驗一下。
這個例子我并不是說我那同學酒后寫代碼的能力有多強,而是說優秀者之所以優秀,在于他們那種遇到問題力求甚解的習慣與品質。
但另一方面,求甚解并不意味著你要一頭鉆到底,花費大量功夫絞盡腦汁追溯到操作系統底層甚至硬件層次,因為畢竟工作不同于科研,是需要有高效產出的。
一般而言,你了解到框架設計的基本原理及關鍵源碼,或問題產生的根本原因與最優解決方案,防止同類問題再次發生即可。
責任感,做一個靠譜的人
衡量一個技術人員是否合格的標準我覺得無外乎三個:有態度、有技術、有素養。
這里我將態度放在第一位,責任感是態度的一個重要表現。
技術人員的責任感表現在哪些方面呢,我認為也是三點,是否具有自我驅動力、是否具有契約精神、是否具有主動擔當。
自我驅動力就是把分配給你的任務真正當成自己的事情,保質保量按期去完成,主動去跟進你的依賴上游,主動跟團隊反饋問題與進度,主動去學習提升技能與工作效率。
契約精神就是對自己承諾的事情說到做到,如果有變動也能及時溝通反饋協商。
主動擔當就是勇于承擔自己應當承擔或者無人能承擔的責任,為團隊出謀劃策,盡自己能力協助他人。
做到這三點,就是一個有責任感的人,就是一個靠譜的人,這樣的人就是不論是老板或上級,還是同事都會信賴,尊重的人。
延伸視野,不止于增刪改查
經常聽到一些同行抱怨,在這里每天就是增刪改查,沒什么意思,也沒什么成長。面對這種抱怨,我想說的是技術人員的視野不應該這么狹隘。
任何一個Web項目,都會涵蓋從產品定位、需求分析到系統架構設計、數據庫設計、前后端開發、測試到部署上線、運行維護。
其中涉及的每一個環節都包含一本書都無法說清的內容,都有你可以去學習的東西。
有些人可能會說,我就是個開發,你讓我去管產品、架構、測試、運維的事?面對這種質問,我可能會說,那你接著去寫增刪改查吧。
我認為技術人員的價值,不在于你能寫出多么優美的代碼(當然不是說代碼不需要寫得好),也不在于你能設計出一個多么大而全高屋建瓴的架構。
而在于你實實在在的解決問題的能力,在于你使用技術手段服務于業務的能力。
增刪改查之外,你可以了解的東西太多。
比如你了解你們項目的整體架構嗎,
了解系統的部署方案嗎,
了解整體業務流程嗎,
了解所有的重點難點嗎。
如果都了解了,那你能找出現有各環節存在的問題嗎,能給出解決這些問題的具體方案嗎。
所以,不要抱怨只有增刪改查了,延伸你的視野,從軟件工程的角度而不只是某個功能某個模塊的角度來提升自己的認知與能力吧。
因為只有延伸你的視野,拓寬你的知識面,才能提升你實實在在的解決問題的能力。
如果你一直停留在這事不歸我管的認知,那你的水平能力與發展空間也就基本止步于此了。
保持高度專注,提高工作效率
有人可能會說,你說的這么輕巧,我每天寫代碼都寫不完,哪有那么多時間來學習、求甚解、延伸視野。
對于這類同學,可能需要反問下自己為什么會一直這么忙,是技術水平與崗位不匹配還是工作效率太低?
經歷過面試篩選的一般來說技術水平與崗位應該還是匹配的,那怎么來提高工作效率,我認為一個主要方法是提高專注度。
讀書的時候,你發現那些成績好的,往往下課或放學都不會一直捧著書看,而那些一天到晚都捧著書看的,往往成績都一般般,為什么?
因為成績好的在學習的時候他能高度專注,心無旁騖,所以效率很高,而那些一天到晚捧著書看的不可能無時無刻都能集中注意力。
因為人的精力是有限的,有可能一會聽聽音樂,一會放空下大腦,久而久之養成這種拖泥帶水的習慣,想不低效都難。
工作也一樣。
說一個我自己的例子,我屬于那種工作時候能高度專注的人,忙事情的時候可能一天下來水都忘了喝一口。
臨畢業時曾在一家德企實習,一起進來的有一位同濟的同學與一位復旦的同學(這里沒有任何學校偏見,純屬個例討論),每周主管會給我們三人分配同等工作量的任務,我一般兩到三天并能完成且不需要加班,而那兩位同學卻幾乎每天加班卻還常常完不成,最后通過我協助才按期完成。
有幾天我特意注意了一下他倆的工作狀態,發現一會看看新聞刷刷微博,一會去沖杯飲料,戴著耳機聽著音樂,不急不躁,悠然自在得很。
這種工作狀態,除非能力非常強經驗非常豐富,能輕車熟路三下五除二把事情處理完,不然,想不低效都難。
因此保持高度的專注,是提高工作效率的有效方式。
工作效率提高了,你才能有一些時間去學習去求甚解去延伸視野,從而提升能力促進工作效率的進一步提高,這是一個良性的循環。
反之,工作效率提不高,你就沒有足夠的時間去學習提升,當任務過來的時候,只會越來越忙,這是一個惡性的循環。
提高軟實力,把握機會??? ? ? ??
對于很多IT技術人員來說,技術管理是其職業發展的一個方向。
尤其在國內環境中,很難有在40歲以上還能安心寫代碼的(除非你已經不需要靠工資生活了,寫代碼純粹成了一種興趣)。
從一個普通程序員成長為一個技術管理者,除了技術能力,還要有一定的軟實力,如溝通表達能力、組織協調能力、業務架構能力等。
程序員普遍性格內斂,溝通表達的欲望與技巧相對欠缺。
因此在平時的工作中,應盡可能有意識地在這些方面去提高自己,與人溝通表達好一點,主動擔當多一點,對業務了解深一點。
機會永遠青睞有準備的人,只有平時的不斷積累,當機會降臨時,你才有足夠的能力與自信去迎接。
如何去尋找與把握技術管理方向發展的機會,一般而言,有如下幾種途徑:
1. 去有潛力的創業公司;
2. 去知名大企業鍍金,然后跳槽到中小企業;
3. 現有上級離職;
4. 公司新開業務線;
5. 自己創業。
任何一種途徑,都只是一種機會而已,能否把握一方面看機遇,另一方面看自己的積累與準備。
總結
失敗者失敗的原因各有不同,成功者的特質與習慣卻大同小異。
IT技術人員的自我修養,可以從持續學習,求甚解,責任感,延伸視野,高度專注,軟實力等方面去提升。
不積跬步無以至千里,只有沉下心來,一步一個腳印踏踏實實地提高、進步,才能在一個領域里扎下根基,脫穎而出,才能從容應對所謂“中年危機”。
以上,共勉。
閱讀目錄(置頂)(長期更新計算機領域知識)https://blog.csdn.net/weixin_43392489/article/details/102380691
閱讀目錄(置頂)(長期更新計算機領域知識)https://blog.csdn.net/weixin_43392489/article/details/102380882
閱讀目錄(置頂)(長期科技領域知識)https://blog.csdn.net/weixin_43392489/article/details/102600114
?
總結
以上是生活随笔為你收集整理的第七十期:IT技术人员的自我修养的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux shell 求绝对值
- 下一篇: 微电网逆变器VF控制simulink仿真