那些會阻礙程序員成長的細節

今天收到聚合郵件的一個文章推廣,看了之後深受啓發,貼出來給大家,感謝原作者。

原創 2018-02-24 Guooo 歪脖貳點零

(一)

羅馬非一日建成,軟件系統也不是一天能夠寫出來的,在經年累月的編碼生活中,總會有那麼些個不經意的瞬間暴露出來,而這些不經意的外在表現日積月累,猶如水滴石穿,會產生巨大的力量反作用於程序員的成長。我簡單列了幾條,你來看一看,興許就在身邊實實在在發生過。

拿到開發任務後,直接上手寫代碼。
缺少必要的溝通與設計,返工的機率極大。前後端數據的交互格式,功能潛在的關聯點不清晰,接口調用方功能是否完備,存儲結構的設計,複雜業務的流程設計等等,都需要事先溝通確定好,再動手寫代碼才能遊刃有餘,不然會走一步卡一步,進展緩慢,甚至倒退。

在邏輯混亂的地方加入新東西,而不是去重構。
由於功能的新增或變更,需要在舊有的代碼邏輯中添加新功能,本是一個很好的重構機會,但很多的做法時在原有的基礎上填填補補,結果一片混亂。特別是在本已混亂的地方還要加入新代碼邏輯,運行起來確實沒有問題,但對自身代碼質量的保證零意義。

不願意與別人分享技術成長。
教是學習最快的一條路,將自己所學傳播分享給他人,並使他人能消化吸收,是對自己知識掌握一個最好的檢驗。同時在分享的過程中溫故而知新,更加深對知識技能的掌握。如果你有教會徒弟餓死師傅的想法,會顯得很落伍。互聯網時代下,還有什麼知識技能,是你獨有而別人從來沒有的?不如拿出來分享,大家共同成長。一個人走的快,一羣人才走的遠。

遇到BUG首先否定是自己的問題。
這是一個普適性的問題,也是程序員遇到BUG時的第一反應。到底是不是別人的問題呢,往往是問題轉了一圈又回到自己手裏。耽誤了大家的時間,同時降低的解決問題的效率。正解的姿勢應該是立即檢查自身,確定是不是自己的問題,是就立即改正,若不是,能找到問題所在最好,交由他人去處理,這是一種良好的習慣。

缺乏驗證條件時,開發的功能不經測試直接交付給測試人員。
一種是過於自信的表現,還有一種是懶惰的表現。有自信是好的,但如果能經過實際的場景來檢驗,雙重保險,對自己對團隊都是保證。懶惰就是不負責任的表現,有些功能確實測試起來很複雜,但爲了保證功能的可用性,沒有條件去創造條件也要完成,這也是一種態度。

修復某BUG時,夾帶其它問題。
一個未被測試人員發現的BUG,自我發現後私自修復,並提交源碼。這在測試階段比較常見,但後期如果還出現這種問題,對產品/項目的穩定性是個極大的隱患,特別是生產環境。這是一個流程規範問題,也是一個職業素養問題。



先暫時寫到這裏吧,以上這些都不是大問題,但如果不注意,久而久之會演變成大問題。程序員是個特殊的物種,物種的進化依賴我們自身的知識結構、思維層次,更依賴於日常工作生活的三省其身,經常覆盤總結回顧,才能發現問題,近而解決問題。

(二)

領導安排什麼就做什麼,做完了就閒着,也不學習新業務新技能。
閒下來就刷刷微博朋友圈,看看新聞聊聊天,這是典型的打工者思維,上班工作,某種意義上也是自己創業的過程,在公司的體系下,利用對應的資源來達成自己的目標,本質上與自己出來創業完成某個目標,路徑是差不多的。在別人現有的環境裏,不能以自己創業心態來待人接物,簡單就是一個浪費,這是一個很好鍛鍊的機會,主動去承擔更大的責任,更多的任務。誠然,做的多,出錯的概率會更大,但試錯的成本很低,成長的機會也更多,沒有什麼能比成長更好的啦!

任務有交叉時,只關注自己的,不能從上下游全局統籌。
這其實是個合作意識的問題,需要雙方或多方都比較爽才行,而不是隻讓自己爽,讓別人很彆扭。久而久之,自己會被孤立,這不是單次博弈,而是重複博弈,最優策略就是共贏。

自己做的比較快,但旁邊的兄弟任務似乎比較重,而自己又不施與援手。
個體技能的不同必然導致結果差異,但對於團隊而言,需要的不僅僅是個體的成績,而是團隊的協作產生的高效率、高質量。這也是一個重複博弈的過程,難保自己有遇到困難的時候,你難道不希望有人搭把手共同解決問題?人同此心,心同此理,相互扶持,這是團隊作戰的魅力。

不及時反饋工作進展。
做事最忌諱的就是虎頭蛇尾,多數情況下會無疾而終,不了了之。對於被指派的任務最好的做法是及時上報風險、暴露困難,及時彙報進度,這樣即便是達不到工作目標,整個過程也是有目共睹的。領導最怕的做法就是任務下發後,下面的也保證完成任務,但真到交活了,擺出一堆這樣那樣的理由,任務就是沒有完成。當你沒有把握給領導驚喜的時候,及時彙報工作進度,免得到最後只有驚嚇,爲時晚矣。

伸手黨。
到論壇裏、社羣裏隨便一看就能抓出來一堆,目的就是爲了更快達成目標,但又能力不足或偷懶,而完全依賴於他人,最好是他把需求一提,你把交付物一給就算完事。還有一種情況,出現問題後,不經深入分析,直接找別人來解決。長期伸手而不真正上手操練,業務能力自然下降,只能自嘗苦果。有句話講:你可以像只豬一樣懶,卻無法像只豬一樣,懶得心安理得。這纔是痛點。

課餘時間不充電。
下班後基本處於散養狀態,工作基本吃老本,或者勉強能對付,工作上基本沒什麼大起色,不算差但也不算好。之前講“你只有不停的奔跑,才能停留在原地!”,凸顯出時代的變化之塊,不是大魚小魚,而是快魚吃慢魚,特別在一些生活、工作節奏都比較慢的二三線城市。人與人之間的差距並不是在工作八小時內拉開的,起決定作用的而是工作之外,所謂工夫在詩外。技術更新迭代的速度遠超任何一個時代,比我們優秀的人還在拼命,我們又有什麼理由懶惰呢?



於細微處見真知,不斷去嘗試、調整、再嘗試、堅持,學習是一輩子的事,不能停。

(三)

前兩篇文間幾乎是想到那裏就寫到那裏,沒有分門別類的加以闡述。本篇延續以上兩篇文章的思路,在之前的基礎再追加。

不能主動推動事物前進。
主動做一件事跟被動接受去做事,心情都是不一樣的,做事效率更是千差萬別。主動的人有更多的成長機會,反之在被動中不斷的響應別人的任務,這與處於那個層次高低無關。如果處於高層級卻不能主動推進任務前進,相信在這個崗位上也不會呆太久。

技術交流分享會僅僅是聽聽而已。
在一線城市這種機會特別多,如果你願意,一天可以趕好幾場。雖說是別人分享,如果沒有好好利用,僅僅參加完就離開的話,效果幾乎爲零。可以事先熟悉講師履歷、分享的內容,帶着自己的疑問聽,不懂處記錄在冊,答疑環節將疑問點拋出,多認識些分享會上的人,加入分享會微信羣會後繼續討論等等,都能更好的發揮一次分享會的效能。不要讓參加技術分享會流於形式。

無法多場景切換角色
剛入門時,醉心於開發還是有可能的,隨着年限的增加,個人職責會發生改變,再有整塊整塊的時間去專心某一事務的機會不多,更多的是碎片化的時間切片,面對不同同事、客戶、領導、合作伙伴等等,如果不能快速響應各種變化,只能用疲於奔命應付來形容了,工作的條理性更無從談起。你需要快速切換角色,融入不同環境,能抽象,也能具化,能全局把握,也能細節深入,這樣處理起問題才能得心應手,迅速成長。

容易陷入細節。
或者說很糾結細節問題,相對的另一面會導致全局觀缺失,偶爾還會鑽牛角尖。過於追求細節完美的人,也就是完美主義者,事實時完美在現實生活中不可能存在。陷入細節而不自知輕則項目延期,重則錯過市場窗口期。把握一個度很重要,需要以大局爲重時,就需要犧牲局部的不完善。

不插手開發任務外的其他事務。
臨時任務在所難免,特別是創業團隊,更是沒有明確界線的崗位分工,需要時,直接頂上,目標就是把事情做成。僅關注開發任務那點事,顯然不足以爲更高的崗位做技能儲備,如果力所能及又不佔用過多時間的話,建議去鍛鍊一下。經歷都算自己的,成長過,誰也拿不走。

不注重關鍵節點的記錄留存。
人員流動、業務變更對軟件後續的維護都是挑戰,僅靠腦袋記,顯然不現實。很多朋友說,代碼裏都有啊,看代碼就行了。如果必須拿代碼才能說事的話,只能說你太不成熟,設計文檔、流程圖、數據表格這些輔助理解的東西簡直難道是擺設?特別是一些複雜的業務流程設計、複雜算法設計、疑難BUG解決方案等等。雖然敏捷開發不主張凡事以文檔必備爲準,但必要的文檔留存很重要,形式可以不限。



不經意間,這些小細節慢慢寫成了一個系列。俗語講:魔鬼在細節中,小處做到極致,養成的好習慣,也是讓自己未來的技術晉升之路更加堅實。

(四)

不願意跟領導走的近。
是不是有這樣的體會:凡事有領導在的場合,氣氛都比較凝重?整個人都放不開?其實這還是一個僱傭關係在作怪。員工與領導並不是處於一個合作互利互惠狀態,也就是《聯盟》一書中講到的合作關係。如果還沒看過的話,建議你去買來讀一讀。跟領導走的近有什麼壞處嗎?不能偷懶了是真的。在我看來,跟高管成爲朋友是對職業生涯有益的事情。可以讓領導更深入的瞭解你,可以站在比自己更高的維度去待人接物,可以接觸到很多更高層次的人脈等等等等等,還有很多,待你去發掘。如果有機會,千萬不要躲的遠遠的。

缺乏理財意識。
IT人薪資水平較一般行業而言還是比較可觀的,但如果不注意保值、增值的話,月光是完全存在的,加上信用消費如此普及,卡里的數字會只減不增。再加上通脹,僅靠儲蓄的話,實際上是資產貶值的過程。如此聰明的腦袋瓜,去接觸一些股票、債券、基金、P2P、房產等標的的投資操作,還是很有必要的,你想實現財務自由嗎?那就去提高你的睡後收入[被動收入]吧。

頻繁的變換行業。
信息化的觸角已深入到各行各業,但行業與行業間的業務差別很大,而且有些行業的壁壘高、專業性很強,比如醫藥、財務等。技術服務於業務,如果你的適應性很強,融會貫通的能力很強倒也無妨,但大部分情況下是剛接觸一個還沒深入就結束了,如果不能保持連貫,很可能到此就結束了。實際業務運行過程中的核心點需要一定的積累才能掌握,這就需要在行業裏沉澱多年才能達到,比如專注金融行業,但裏面也會涉及保險、證券、銀行等幾種業務場景,每一種又是繁雜多變,如果頻繁變換從事的行業,基本上談不上沉澱,隨着工作年限的增長,自己的競爭力卻沒有提到提升,錯失成爲業務專家的能力。

不停追逐新技術,由於不能應用於實際工作,導致很快被遺忘。
技術更新迭代的速度遠非一個人窮一生之力所能學完的,所謂以有限的生命去掌握無限的技能僅僅是美好的事,但不現實。考慮到具體的技術成熟度、應用場景與自己的工作實踐的匹配度,只能是那些切實應用於實踐的技術棧才能更快更深的掌握住。具體到自己的職業規劃中,更應當聚焦,找準一個點,基於這個點再外延,打造自己的技術生態圈。切忌把自己打造成一個掌握很多技術但無關度很高的瑞士軍刀,其競爭力遠不如一技之長。

與他人溝通不暢時,不能本着解決問題的思想來解決問題。
“好,好,好,不說了,打住,我不跟你爭了,就按你說的來,有問題你負責”。如果是本着解決問題的目標去解決問題,我們可以擺事實,講論據,把各種方案存在的利弊得失放在明面上,然後大家再客觀的就事論事,拿出一致的解決方案。你會時常碰到一些人在討論問題時,最後的結果是一方不願意再爭論而妥協,但並非心服口服的妥協,這是直接撂挑子,而不是解決問題。

跟蹤問題不徹底,導致前功盡棄。
如果別人欠一大筆錢,想必你無論如何都會想盡一切辦法,把這筆錢追要回來。很可惜的是,在日常的工作中,我們跟蹤一個任務的時候卻遠不如追賬那麼用心,跟着跟着然後就沒然後了。可想而知,如果都這種狀態的話,你的項目進度,你的銷售目標,你的市場份額如何達成,試想有一天你成高層領導,你手下的兄弟都是這個狀態跟蹤問題,那你真的是得操碎了心也搞不定。



時隔幾日,又囉囉嗦嗦的列了幾條,希望裏面都沒有你的身影,如果碰巧有的話,也希望你擺正心態,積極的往前看,成長的道路沒有一帆風順。

(五)

斷斷續續的寫成一個系列,也出乎我的意料,越展開內容越多,有點收不住,Let‘s 繼續吧,進入主題。



不依規範行事。
這個很常見,嘴上一套,行動時另一套,也就是知行不一。實際是知易行難,不自我監督,不自我約束,整個人都會變的懶散。“這個版本着急上線,先把功能實現再說,後面有時間再來重構優化”,是不是經常聽到這樣的套路,他們事後有重構嗎?你自己事後有去看看哪些糟糕的代碼嗎?如果事出緊急事後完善也是允許的,就怕是個幌子,事後棄之九霄雲外。

想做卻不遲遲不行動。
非得萬事俱備了才行動,其實很多時永遠沒有完備的時候,先動起來再說,再行動的過程中肯定會遇到問題,去解決就是了。否則有的只是眼前的苟且,不會有詩和遠方。“成功學”裏講,想成功與要成功是兩回事,雖然是一字之差。

不能虛心學習別人的長處。
都說文人相輕,其實IT界也有一條鄙視鏈,我們也總在有意無意見踐行着這條鄙視鏈。即便是同一條鏈上的螞蚱也存在相互不順眼的時刻。但學習這東西,要虛心,不能說你看不慣他,就拒絕他身上一切事物,那怕是好的,這真的是跟自己過不去。你有看不慣的人嗎?你發現他身上有你不具備的東西嗎?

會很多開發語言但不都精通。
不排除大牛做的到,一般人的話,你這麼寫簡歷,還真不會讓人高看一眼,很容易給別人留下一個什麼都會,基本上又什麼都不會的印象。不要追逐新技術,技術迭代的速度遠比你學習的速度快的多,求多往往會不深入,止於皮毛,而一個技術的應用絕不是寫個“hello world”就算的,應用到實際業務場景,解決實際的需求痛點才能發揮一項技術的本真。

軟件研發技能單一。
軟件生命週期裏除了編碼實現,還有需求分析、系統設計、測試部署、發佈上線、運維運營等等,只盯着代碼那一塊太狹隘,特別是工作時間長了之後,侷限性會越來越明顯。開發語言是工具,不用錘子用榔頭一樣敲東西。要提高自己的適應性,就得外延技能線,後面的職業路也會更寬廣,而不是侷限在技術一條線。追求全棧沒有錯,但要適度,不能盲目的爲了簡歷上幾行字,去涉獵那些看似有用,但實際並不會實際的技術。

缺乏危機意識。
去年的熱點話題事件就是中興的一位40多歲的IT人自殺。雪球上針對這一問題爆發了“中年危機”的大討論。中年危機是八零後繞不開的一個問題,張愛玲在《半生緣》裏說,“中年以後的男人,時常會覺得孤獨,因爲他一睜開眼睛,周圍都是要依靠他的人,卻沒有他可以依靠的人。”手機屏幕前的你考慮過這個問題嗎?

(六)

威脅性的處理問題。
比較常見的一種就是要挾式加薪,自恃崗位重要或者人員流動太大導致在崗人員變少等等,如果以此種理由去要求加薪有兩種後果,一是領導暫時妥協,一旦找到替代者,直接捲鋪蓋走人,二是領導寧可人手陣痛,也不會助長這種氣焰,結局還是捲鋪蓋走人。

生活作息飲食不規律。
晚上睡不着,早上起不來。有事沒事先來罐可樂,經常性的功能飲料替代白開水等等,不是說非得做個油膩猥瑣男,手裏捧着茶杯裏面放上枸杞,但生活、身體還是自己的,一些不健康的飲食活動還是儘量避免,偶爾滿足一下但不能長期爲之。IT成高危職業早已不是什麼新鮮,每年不猝死幾個,彷彿這行業都不正常。

喜歡收藏,而不是直接消化吸收。
這個更是個普適性問題,你現在就可以找找你的電腦硬盤裏、微信收藏裏、雲盤裏都藏了些啥?都看過嗎?大部分的回答應該是先收藏等有時間再看,這跟松鼠無節制的收集松果是一樣的。怎麼破?先看了再說,如果沒時間看的話,排個隊列後期再看,如果感覺沒時間看的話,索性也不要收藏了。

不參與團隊活動。
一個團隊中部會發現一些比較安靜的同事,特別是喜歡坐在一些角落裏的同事,平時不出來活動,很容易忽略他的存在,更別提集體活動。這樣非常不利於職場發展,金子發光也要讓別人看到,更何況常有的情況是沒有發光。同事間也需要維係一種職場情感,來形成職場工作的潤滑劑,同時也是給自己積累人脈,日後難免有交集,在這個信息爆炸的時代,個體需要依賴於團隊才能走的更遠,如果自己僅作爲一個團隊的附庸,很難有所作爲。

不能自我激勵。
當激情褪卻,興趣不再,如何再去敦促自己去完成一件原先興沖沖的事呢?往往這個時候,事情就會擱置,不了了之,而成熟的人總會找到自我激勵的方法。生活是自己的,沒有誰應該在旁催着你促着你,如何不能自打雞血,隨着時間推移,說一事無成也不爲過。

忌憚與女生打交道。
都說IT男比較靦腆、比較悶、不修邊幅、不善於與女生打交道等等,其實IT男不是悶更多的是悶騷。段子也是信手捻來,在網絡上非常活躍。拿不出時間談戀愛的人還是要拿時間來相親,鑑於工作圈子的性質——女生比較少,導致很多IT男單身,所以更應該離開手機、電腦,走向活生生的世界,走向單身妹子,該出手時就出手,不然一年中的每個節日都是光棍節。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章