寫給一位有程式設計師心結的朋友

2021-04-13 04:22:04 字數 2663 閱讀 3710

至從在部落格和論壇發布招人貼,就不斷有朋友與我聯絡,這不,今天又來了一位。

這位朋友年方32,濃眉大眼,虎背雄腰,天庭飽滿、儀表堂堂。見第一面,我便從內心中喜歡上這位朋友,話語便不由得比往常多了許多,足足聊了乙個多小時。

這位朋友一表人材,如果旁人介紹:他是一位公司總經理、部門經理、專案經理、或是一名銷售經理,我都相信,但如果人家告訴我:他是一名架構設計師,或者一名程式設計師,我還真的不太敢相信,原因是,他的性格太豐滿了。而一般的程式設計師或架構師應該是有某種偏執傾向的。

於是,在經過一段時間的旁敲側擊之後,我便問他兩個問題:

1、如果評價一下你自己的能力,你認為自己哪一塊的能力突出,有五個選項:架構師、程式設計師、專案(實施)經理、售前支援、銷售人員,請排序。

他的選擇是:程式設計師、架構師、專案經理、售前支援、銷售人員。

2、如果可以任意發展,你希望成為何種人員,同樣是上面五個選項,請排序。

他的選擇是:程式設計師、銷售人員、架構師、專案經理、售前支援。

我又追問了一句,如果還有乙個職位,是產品經理,產品經理的職責是定義產品的市場定位、需求、驗證產品功能、進行產品包裝、策劃,他希望將它插在第2個問題中的哪個地方,他的選擇是:程式設計師、銷售人員、產品經理、架構師、專案經理、售前支援。

我明白了,他是乙個有程式設計師情結的人,即便他這次過來,明確的目標是來應聘架構師,也不隱瞞自己對編寫程式的偏愛。於是,我便開始詢問他在程式設計方面的經歷。

他2023年開始編寫程式,一直使用c和c++,編了兩三年dos下程式,用的是microsoft c 6,也用過一段時間的borland c++ 3.0,在轉入windows環境後,便一直使用c++ builder,編寫的都是一些與資訊管理系統相關,編寫的系統挺多的。

聽他介紹完經歷後,我便在內心發出一聲嘆息:他被耽誤了,十年的工作經驗不再是他的經驗,卻變成了包袱。

他當初選用c++ builder而不是visual c++或delphi,原因有二:

1、自己熟悉c++,一直在用c++程式設計,不想放棄c++;

2、visual c++的介面編制工作太複雜,而c++ builder在介面編制方面有具大的優勢。

我一直認為,c++ builder是那些固執的c++程式設計師的乙個偷懶的c++開發工具。它在延長傳統c++程式設計師的生命的同時,也給這些程式設計師套上了沉重的枷鎖。

c++ builder、visual basic和delphi的程式設計人員,都會不直覺地養成在介面中直接編寫程式邏輯,久而久之,對程式架構設計的追求便慢慢淡化和麻木,c++ builder程式設計師很難寫出層次清晰的類和物件。

而c++ builder相比於delphi,還會帶來另乙個致命的問題:c++ builder使用的所有vcl元件都是採用delphi編寫的,當c++ builder程式設計師不願意學習delphi時,便只能利用別人編寫的現成元件了。於是會出現這樣一種情況:乙個c++builder程式設計師需要乙個新的功能時,他們會先尋找合適的vcl元件,如果沒有,他們便會上網搜尋合適的vcl元件,即便某vcl元件與他們需要的功能的重疊度達到99.99%,他們不會想到去直接改動vcl元件而是想辦法找到100%滿足要求的vcl元件。

也就是說,c++ builder程式設計師是一群在程式設計技術方面沒有前途的程式設計師。他們的前途應該是應用系統的需求分析能力。

令人遺憾的是,這位朋友在系統設計方面沒有太多的想法,對uml、rup、企業架構模型、.net框架、j2ee框架、web程式設計、系統建模、資料建模、設計模式、重構、系統功能劃分、極限程式設計、單元測試等方面,都不是很了解。

如果他選擇另外一種程式語言,在某應用領域(而不是資訊化系統領域,在這個領域,重點不是程式設計技術而是設計技術)能流暢地使用該程式語言,我會很高興。

或者,他告訴我:程式語言只是一門工具,我追求的是如何高效地快速地開發系統,我知道如何合理地設計系統,如何對進度進行控制,如何進行開發質量的控制,我也會很高興。

再或者,他告訴我:程式設計算什麼呀,那只是我曾經在某個階段的工作,我現在已經完全不程式設計了,我開始轉型為產品經理、銷售經理等等,我會非常地高興,因為,我相信,那些工作可能更適合他。

對程式設計的喜好,是很多人(包括曾經的我)的心結,這不是一件壞事,但是,作為程式設計師,一定要有不斷學習新知識的衝動,也一定要有不斷否定自己的勇氣。

計算機技術的發展日新月異,新技術層出不窮,我們不可能將每件新技術都學習一遍,但應該要有敏銳的嗅覺,發現可能成為未來主流方向的新技術,即便不能在工作中對該技術進行實踐,也應該利用業餘時間系統地學習這些知識,而且,不管它如何地難,都不應該放棄對它們的學習,否則,很可能成為新技術的旁觀者,舊技術的衛道士,成產乙個固步舊封者。

即便再好的技術,過了五年便可能被新技術替代,因此,即便你對某項技術已成為專家,該拋棄的還是應該堅決拋棄,否則,世界便會拋棄你。

實在不行,就應該知足常樂,不要為別人的高工資眼紅。

我對他說:以你目前的狀態,我不能聘你為系統架構師,也不能聘你為核心程式設計師,但我可以聘你為一般程式設計師,或者直接聘你為一般銷售人員,我聘你的工資不會太高,我會按一般程式設計師或一般銷售人員的崗位支付給你工資。當然,如果你能提高發展為優秀程式設計師,或者是系統架構設計師,或者是銷售經理,我會相應地提高你的工資,但我不能給你保證,你在什麼時間會成為那樣的人,那一切,需要你自己去努力。

在提出這些建議之前,我已經知道他會作何種選擇,他有生活的壓力,有太多的包袱,不象年輕人,沒有太多的牽掛,有的只是夢想。

美國心理學家霍蘭德認為人的性格大致可以劃分為六種型別,分別是:現實型、研究型、藝術型、社會型、企業型、傳統型。這位朋友的性格應該屬於企業型,他更適合做那些偉大的事情,而不是程式設計。

問題是,他有否定自己的勇氣嗎?

一位程式設計師寫給女友的情書

我能抽象出整個世界,但是我不能抽象你.想讓你成為私有常量,外部函式無法訪問你.又想讓你成為全域性常量,在整個生命週期隨時都可以呼叫你.因為世界上沒有這樣的常量.所以我無法定義你.因為你在我心中是那麼的具體.所以我的世界並不完整.我可以過載甚至覆蓋這個世界的任何一種方法.但是我卻不能過載對你的思念.也...

一位程式設計師的忠告

諸位,咱當網路工程師也是幾年了,不算有出息,環顧四周,也沒有看見幾個有出息的!回顧工程師生涯,感慨萬千,願意講幾句掏心窩子的話,也算給咱們師弟師妹們提個醒,希望他們比咱們強!1 好好規劃自己的路,不要跟著感覺走!根據個人的理想決策安排,絕大部分人並不指望成為什麼院士或教授,而是希望活得滋潤一些,爽一...

一位程式設計師的忠告

1 好好規劃自己的路,不要跟著感覺走!根據個人的理想決策安排,絕大部分人並不指望成為什麼院士或教授,而是希望活得滋潤一些,爽一些。那麼,就需要慎重安排自己的軌跡。從哪個行業入手,逐漸對該行業深入了解,不要頻繁跳槽,特別是不要為了一點工資而轉移陣地,從長遠看,這點錢根本不算什麼,當你對乙個行業有那麼幾...