你可以把程式設計當做一項託付終身的職業
程式設計的意義是什麼,我又為什麼要程式設計呢?這是一個不時會浮現在我腦海中的問題,它來得並不頻繁,但每次卻都伴隨著對自己職業生涯或人生目標的質疑而產生,令 我感到些許困惑和不安。而在這十幾年的職業生涯中,我也似乎總能在每個階段為自己找到一個繼續熱愛程式設計的理由,直到它已無法解答再一次疑惑的產生。就這樣 一次又一次的迴圈往復,我似乎漸漸理解了程式設計的意義……
程式設計是一項技能
回想大學畢業剛成 為一名程式設計師時,自己對技術是如此狂熱,我不斷地購買各類技術書籍,幾乎所有的業餘時間也都被用來鑽研技術,提高自己的程式設計能力。我也因此很快成了同一批 入職新人中,編碼效率和質量最突出的一個。而在那段時間裡所做的技術積累,也成了我日後工作的堅實基礎,程式設計作為一項技能已經深深地嵌入到了我的身體裡。
即使到了今天,我仍非常懷念那段心無旁騖,一心鑽研技術的日子。我為能在工作中寫出的每一行優秀程式碼而興奮,更為每一天能在技術上取得的點滴進步而喜悅,一切都是那麼單純,程式設計的意義對於那時的我來說就在於技術本身。
程式設計是去解決問題
“能 力越大,責任也也大”,這句電影“蜘蛛俠”中的經典臺詞同樣適用於程式設計師的職業生涯。隨著技術能力的提升以及工作中獲得的認可,我的職位也由原來的初級程 序員變為了資深開發工程師,以及後來的架構師。相應的,除了程式設計之外,我工作中的很大一部分時間需要用來與使用者進行溝通,並分析他們提出的需求。對於我來 說這個角色轉換的過程,是艱難甚至有些痛苦的。 我不得不用自己最薄弱的溝通技能去和使用者打交道,更要命的是我所習慣使用的那些技術語言有時很難讓他們理解。
我很快意識到自己已不再是那個 只需被動接受任務安排,並將自己的程式設計工作完成好就萬事大吉的初級程式設計師。除了技術之外,我更需要能夠突破程式設計師思維,去發現使用者需求背後所隱含的真正問 題。我比以前變得更加務實,不再刻意追求技術的高深,而是儘可能從問題本身出發,選擇最有效的技術手段去解決它。
此時,程式設計的意義也發生了改變,它已不再侷限於技術本身,而成了解決問題的理想工具。
程式設計是在表達,也是在創作
就這樣又過了幾年,當“為什麼要程式設計?”這個問題再次擺在我的面前時,自己也已過了而立之年。對於大多數中國程式設計師來說,這個年紀已經算是高齡,甚至還有很 多人會認為30歲還在程式設計,一定是混得不夠好吧。當然,對於這些質疑我也總是一笑了之。其實,在此之前我也有過很多轉型的機會,比如去業務部門,或是轉作 管理等等,但最終我還是選擇留在了技術崗位上,因為我覺得程式設計仍是我最喜歡的,或許也是我唯一擅長的吧。
而這個時期也成了我整個程式設計師生涯的黃金期,我寫了公司的核心框架以及一些重要業務系統的核心演算法。我很享受這段時光,因為我已幾乎感受不到那些技術上的牽絆,我更像雕刻師使用手中的刻刀一般,自如地運用程式設計來實現那些我認為優秀的東西。
程式設計對於我來說已不再是一項技能或是工具,我是在通過程式設計進行著自我表達與創作,這種感受帶給了我極大的自由度,而我也從中感受到了前所未有的喜悅與樂趣。
程式設計是為了留下痕跡
最終我還是走上了管理崗位,這裡面有很多個人無法左右的因素(包括大環境、家庭、經濟等等)。但我仍然更樂意被大家稱為程式設計師或者“老”程式設計師。就像在自我介紹中,我總是把全棧工程師放在那些“頭銜”的第一位,我也還在利用業餘時間做自己喜歡的開源或個人專案。當我再一次問自己“為什麼要程式設計”時,獲 得了與以往不一樣的感悟:或許我們程式設計是為了能夠留下一些痕跡吧。
公司裡最近都在為一個老系統的升級問題發愁,這個系統已經執行了將近20 年時間了,為了升級系統,大家不得不深入到這個系統的框架中,去讀底層程式碼。我們讀到了一位已經退休的美國同事Bill所實現的資料庫連線池程式碼。在那個 時候JAVA剛開始流行,還沒有像Spring這樣的框架,或是如Hibernate或MyBatis這樣標準的持久層實現,這個系統中所有的資料庫連線 池及核心持久層程式碼都是由我的這位美國同事寫的,這些程式碼讓整個系統穩定執行了將近20年,大家都不禁為他高超的技術水平發出由衷的讚歎。
我還認識一位從事證券交易軟體研發的公司CTO,看年紀應該已經接近50了,但他仍然在親自寫著那些證券交易的核心程式碼。當我問他到了這個年齡和職位,為什 麼還要堅持寫程式碼時,他告訴我,當他看到自己所寫的程式碼每天在支撐著千億級的證券交易時,他感到非常興奮和自豪,並不斷地希望能夠通過自己的努力將它做得 更好。
我的這個美國同事不會聽到大家為他十幾年前所程式碼發出的讚歎,股民們也不會知道這位CTO所寫的程式碼正在支撐著他們的日常交易。那些 優秀的程式碼是他們留下的痕跡,我們不能確定這些痕跡能夠保留多久,或許幾年,或許更短,但它們都曾經在我們的日常生活中產生了重要的價值,而新的未來也將 構建在這些痕跡的基礎之上,我想這可能才是程式設計的意義所在吧。
我似乎理解了程式設計的意義,但我明白未來的某一天,我一定還會問自己同樣的問題——為什麼要程式設計,希望到那個時候自己還能是那個熱愛程式設計,有著一顆匠心的“技匠”吧……
相關文章
- 終身程式設計之新起點程式設計
- 遊戲行業中的職位:你可以做什麼遊戲行業
- 程式設計的知識點 (不斷積累,終身程式設計)程式設計
- 程式設計師的職業素養(一)程式設計師
- 20200108 - 終身程式設計之新起點程式設計
- 程式設計師成長思維:把自己當做產品來發展程式設計師
- 我的程式設計職業生涯程式設計
- 程式設計師入職新公司一週就被hr談話,網友:這是把公司當你家了程式設計師
- 程式設計師職業生涯程式設計師
- 程式設計師的職業規劃!程式設計師
- 羨慕程式設計師的高薪?你會讓你的孩子當程式設計師嗎?程式設計師高薪
- 做任何職業都不要做程式設計師,特別是Java程式設計師,血淋淋的教訓程式設計師Java
- 美工和程式設計師的職業病程式設計師
- 你為什麼選擇程式設計師這個職業?程式設計師
- 碼教授告訴你IT程式設計師如何找到高薪職業程式設計師高薪
- 談一談程式設計師的職業發展路線程式設計師
- 為什麼程式設計是獨一無二的職業?程式設計
- 程式設計師是一個需要天賦的職業嗎?程式設計師
- 程式設計師的職業生涯可以有哪些出路?這些路子別錯過程式設計師
- 使用javascript一樣可以做線上演算法程式設計JavaScript演算法程式設計
- java培訓分享:Java程式設計師職業規劃怎麼做Java程式設計師
- 程式設計師轉型正當時, 35+開啟第二職業程式設計師
- 你可以 CRUD,但你不是 CRUD 程式設計師!程式設計師
- 你距離月薪50k的程式設計師,只差了一個完善的職業規劃程式設計師
- 程式設計師的基本常識——職業篇程式設計師
- 無需程式碼,Hype可以把設計變成動畫,讓你的創意動起來動畫
- 你的企業把資料當資產了嗎?
- 那些把公司當家的程式設計師,後來怎麼樣了?程式設計師
- 兼職程式設計師一般可以從什麼平臺接私活?程式設計師
- 為了不當接盤俠,這位程式設計師做了一個識別“特殊”職業女性的系統程式設計師
- 程式設計師的技能樹,決定了一生職業的高度程式設計師
- 程式設計師如何成為一名自由職業者程式設計師
- 一個會做飯的程式設計師如何每天給女朋友帶不同的便當?程式設計師
- 京東到家程式設計師離職當天刪庫跑路程式設計師
- 程式設計師盤點!AI躋身2019年最賺錢職業榜首!評論炸了!程式設計師AI
- 當你完全認清程式設計師這個行業,你才有走下去的勇氣程式設計師行業
- 關於程式設計師這個職業程式設計師
- 有人說程式設計師是一個很高大上又高不可攀的職業,你認同嗎?程式設計師