發人深思:一位中年程序員給年輕人的21條“職場人生建議”

全文共3091字,預計學習時長10分鐘


發人深思:一位中年程序員給年輕人的21條“職場人生建議”

圖源:unsplash


1999年4月7日,一個菜鳥正式邁入了編程行業,21年過去了,筆者的變化也不僅僅是從年輕程序猿成為了中年程序猿。在軟件行業這一魚龍混雜之地整整經歷了21年的興衰沉浮後,能夠在此分享自己的經驗之談,對筆者而言,也是一個重要時刻。


雖然常說失敗是成就不凡的必經之路,屢屢碰壁是成功的必備特徵,但若真想踏上康莊大道,努力避免重蹈覆轍才是重中之重。跌倒固然也能收穫經驗,但從他人之處汲取知識更易見效,年輕人要敢於試錯,但將珍貴的時光浪費在無盡的試錯上實在是暴殄天物。


軟件開發是踏上編程之旅的第一步,從業者將在其中不斷磨練自身技藝。程序員會遇到萬千挑戰,既可能提出真知灼見,也未嘗不會犯下大錯。


本文彙集筆者從業21年犯下的各種錯誤,以及從這些慘痛教訓中得來的寶貴經驗,望各位引之為鑑。


錯誤1—不留積蓄以備不時之需


你的第一筆薪水會如何處置?一輛豪車,一件新衣,或是一頓大餐。第一桶金的使用會很大程度地影響一個人的職業軌跡,別把自己培養成月光族。


雖然偶爾揮霍無傷大雅,但做好規劃,對自己進行知識投資方為王道。因為這不僅物有所值,並且讓人受益終身。


錯誤2—不留後路


哪怕你已經是個強大優秀的編程精英,也不要不留後路,挑起無謂的爭端。軟件圈子並不大,如今斷下的退路很可能成為未來困擾自己的絕路。


做人留一線,日後好相見,是不是?


錯誤3—不懂裝懂


就算是技術天才,也不見得能洞悉一切,無所不知是不可能的。知之為知之,不知為不知,不懂裝懂實在不可取。


團隊中最稚嫩的菜鳥也可能想出有效耐用的解決方案。優秀的程序員不會把自己的解決方案強加給團隊。相反,民主決策,擇優採納方為良策。


發人深思:一位中年程序員給年輕人的21條“職場人生建議”

圖源:unsplash


錯誤4—敝帚自珍


根據筆者的經驗,專業技術過硬是獲得團隊成員尊重的最行之有效的方式。話雖如此,技術過硬卻敝帚自珍只會給自己帶來無窮後患。獲取知識是成功的一半,善於分享是成功的另一半。優秀的程序員勤於與後輩溝通,為其傳道解惑,不僅分享問題解法,更闡明箇中原理。


錯誤5—疏於經營


軟件開發是團隊運動,一個項目是一群人的共同任務,必須並肩工作,互相支持,朝著同一個目標前進。


如果一個程序員太自大,對工作沒有熱情,或者不能有效溝通,這不僅會對工作產生負面影響,而且會牽連整個項目,例如造成拖延或搞砸部分工作。所以團隊合作的軟技能不可或缺。


錯誤6—讓自己不可或缺


伴隨“不可或缺”而來的權力慾的確讓人難以自拔,但若流連於此,只會阻礙自己的進步。欲成大事者,應不拘小節。要將自己從繁雜的瑣碎事務中解放出來。學會合理培養接班人,接管自己手中事務。


發人深思:一位中年程序員給年輕人的21條“職場人生建議”

圖源:unsplash


錯誤7—固步自封


逆水行舟,不進則退,做任何事都是如此,軟件行業也是一樣。因此,從業人員也得因時而變,必須與行業保持同步,保持自身競爭性與影響力。


編程的關鍵不在於其熟練度,而是建立新的概念詞彙庫,以新的方式解決問題。優秀的程序員不僅會編寫代碼,還會不斷學習一些關鍵概念,以助於自己以新的方式解決問題,並找到最有效的解決方案。


錯誤8—偷工減料


沒有所謂的“應急代碼”。所謂的“髒代碼”就是壞代碼。切勿偷工減料,或接受次品。程序員優秀與否,在於其應對危機的方式。如果面對危機張皇失措,含糊了事,那就稱不上是一名優秀的程序員。


錯誤9—迴避權鬥


技術人員常說:“別把我摻和進權力鬥爭裡來,我只想安心搞技術。”但這是痴人說夢。


哪裡有技術,哪裡就有變化;哪裡有變化,哪裡就有輸贏;這樣,權力鬥爭也就應運而生。在這種情況下,就得敢於直面矛盾,從中斡旋,從而躋身贏家之列,除此之外,別無他法。


發人深思:一位中年程序員給年輕人的21條“職場人生建議”

圖源:unsplash


錯誤10—輕易妥協,沒有原則


代碼就像食物一樣,它既可以是快餐小吃,也可以是精美珍饈,兩全其美不難。糟糕的程序員一旦不堪重負,就會妄想團隊能做出便捷、質優、價廉的產品。這要麼是期限所迫,要麼是承諾使然,而提出承諾的人往往也知道這是不可行的。好的程序員就得“腳踏實地”,並儘快向一切利益相關方表明自身立場。


錯誤11—編碼前設計過多


動手編碼前有了好的程序設計的確是件好事,但別矯枉過正,若花的時間過多,自己就會走入“分析癱瘓”的誤區。完美的程序設計不切實際。一個足夠好的設計的標準為,能上手即可。做設計就如同畫地圖,應該不斷修正不斷完善,而非一蹴而就。


錯誤12—低估代碼意識的重要性


羅伯特·馬丁說:“想寫出整潔代碼,就要能訓練有素地使用各種小技巧,只有下苦工培養編碼的“整潔意識”,才能有所小成。”這種代碼意識不僅有助於程序員區分代碼優劣,還能將代碼轉劣為優。


錯誤13—不做代碼註釋


軟件好不好不重要,因為如果註釋不夠好,人們就不會使用。不管時間有多緊,工作量有多大,不做註釋的藉口有多麼冠冕堂皇,任何沒有代碼註釋的軟件都會被淘汰。就是這麼簡單!


發人深思:一位中年程序員給年輕人的21條“職場人生建議”

圖源:unsplash


錯誤14—草草下手


腦海裡第一個蹦出的解決方案是很誘人,也許簡單易行。但好事多磨,只有一一審視已有解法,才可能找出最佳方案。


記住,程序員的工作不是求解,而是求最優解。


錯誤15—不知取捨


優秀的程序員深諳取捨之道。好的程序員明白,只為滿足代碼的可讀性就創建一個代碼庫,或簡單粗暴地替換新框架並非上策。好的代碼應該整潔明瞭,只須數秒便讓人心領神會。


取捨的關鍵不在於一味避險,而是有的放矢。


錯誤16—疏於人際


的確,程序員固然能孤軍奮戰,但頂尖的程序員必定精於人際交往。建立友誼、取信於人最簡單的方法即為其他團隊排憂解難。“人情”是相互的,在以後某刻,你可能會得到回報。自願幫助別人併發揮其主動性,或盡最大努力幫助別人完成工作,不僅能培養自身專業能力,還能在組織內增強自身影響力。


發人深思:一位中年程序員給年輕人的21條“職場人生建議”

圖源:unsplash


錯誤17—不見泰山


一個程序員大多時候都是在鼓搗代碼,或給已有代碼添磚加瓦,服從命令聽從指揮,這沒有任何問題。不過如果想成為大局的一份子,那就得花時間瞭解大局的一切。


最簡單有效的方法就是嚮導師求助,快速提高自身技能素養,培養大局觀。


錯誤18—不擅溝通


雖然好的溝通無成法可循,但作為萬物之靈,在工作中與別人聯繫感情再正常不過了。功利點兒說,在軟件界,人人都是一筆資源。只有知己知彼,投其所好,自己的軟件開發之路才能一帆風順。


錯誤19—做無用功


優秀的程序員不會做無用功。他們總是儘可能重用現有的功能並加以改善。節省時間不說,而且能與共享代碼的開發人員建立友誼。


自己碰到的問題,很可能別人先前早已給出了答案。因此,當試圖完成一項任務時,應確認其是否有前人經驗可供借鑑。這不是投機取巧,而是節約精力。


錯誤20—不懂行規


你有時會低估業務規則的複雜性。如果不清楚業務規則,就難以有效解決問題。編程時需要業務思維,創造一個符合行規且行之有效的解決方案,而非僅僅著眼於滿足技術需求。


錯誤21—不顧健康


健康是一切的基礎,身體健康有助於獲得靈感,充滿幹勁,堅毅果敢,是渡過未來必經坎坷的本錢。重視健康非一日之功,它體現在日常方方面面的計劃與決策中,包括合理膳食、定期鍛鍊,以及拋棄惡習。


每天鍛鍊一小時,健康工作五十年,幸福生活一輩子,操場標語誠不我欺!


發人深思:一位中年程序員給年輕人的21條“職場人生建議”

圖源:unsplash


正如卡爾頓·菲斯克(Carlton Fisk)所說:“判斷一個人職業生涯的成功與否,不在於其所取得的輝煌成就,而在於其克服的艱難險阻。”


人生起伏,在所難免,一切取決於態度。是被逆境擊倒一蹶不振,還是吸取教訓重振旗鼓,全在你一念之間。


發人深思:一位中年程序員給年輕人的21條“職場人生建議”

我們一起分享AI學習與發展的乾貨


分享到:


相關文章: