程序員成長的階段
圖書封面:

程序員成長的必經(jīng)階段
程序員的成長經(jīng)歷往往很相似,大部分的人走過了最前面相同的一段路,而有的人則走得更遠??偨Y自己這些年來的歷程,這也許能讓年輕的程序員少走一些彎路,成長得更快;或許更好一些,能讓大家從中得到一些啟發(fā),早日進入優(yōu)秀程序員的階段,實現(xiàn)夢想,釋放激情。
第一階段,最初是在學校里學習計算機基礎知識,學習經(jīng)典的程序設計語言,編寫測試用的小程序。這個過程可以說是對計算機和程序設計的入門階段。這個階段主要是培養(yǎng)了自己對計算機軟件的興趣,打下了良好的計算機基礎知識。
第二階段,而后參加工作,從事計算機軟件開發(fā)工作。按照工作要求,一邊學習,一邊編程,終于可以讓自己的程序投入運行了。在這個階段我突然感覺到了自己的價值,感覺到了軟件的神奇,并且自己編寫的軟件成為了實用產(chǎn)品。這個階段實現(xiàn)了學習到生產(chǎn)的過渡。
第三階段,隨著工作的增加,開始編寫各種程序,開發(fā)各種系統(tǒng),這時候忙于編程知識的積累和應用。應該說在這個階段自我感覺很充實,好像有做不完的事,程序設計水平還處在語言級階段。
第四階段,隨著積累了一定編程技巧之后,我開始想這樣的問題:我是不是最好的程序員?我能否編寫出最好的程序?這個過程是一個反思的階段。我對自己的要求是:不但要會編程序,而且要編好程序,從關注程序數(shù)量開始轉(zhuǎn)向關注程序質(zhì)量。
第五階段,開始在提高自己的軟件開發(fā)水平上做文章。經(jīng)過各種系統(tǒng)開發(fā),尤其 是大型系統(tǒng)的開發(fā),發(fā)現(xiàn)了軟件中有許多功能是重復的。因此,有一段時間把精力花在編制各種庫函數(shù)上,通過不同系統(tǒng)調(diào)用相同的函數(shù),以便減少重復開發(fā),實現(xiàn) 功能共享。當時比較得意的是庫函數(shù)不是我一個人在調(diào)用,而是整個項目小組都在調(diào)用,甚至不同的系統(tǒng)也能調(diào)用,從而體會到編寫庫函數(shù)特別有價值。這個階段的 標志是庫函數(shù),程序員水平上升到庫函數(shù)那一級。
第六階段,到了庫函數(shù)那一級后,很快就發(fā)現(xiàn),單單實現(xiàn)程序函數(shù)級的調(diào)用是遠 遠不夠的。當你做了很多項目,包括大項目和小項目,尤其是做過跨行業(yè)的項目之后,你就會把庫函數(shù)的共享思想用于項目開發(fā)。你就會想這樣一個問題:為什么不 同項目不能有相同的架構?如果有相同的架構,那么開發(fā)就有了相對的標準,我們就有可能通過配置的方法實現(xiàn)相同架構的系統(tǒng)。于是我提出了IASG(交互式軟 件自動生成器)思想,并在C語言和其他一些語言中實現(xiàn)了IASG實例。記得最快的一次是編寫一個系統(tǒng)(公安部門的自行車信息管理系統(tǒng),主要用于丟失自行車 信息登記)只用了3個小時(從需求到安裝盤)。這個事情對我影響很大。我在這個階段上升了一個很大的臺階,從程序上升到軟件。核心思想就從庫函數(shù)共享上升 到軟件共享。具體過程是建立一個通用的系統(tǒng)架構,架構中有許多共同的功能,例如,參數(shù)設置、用戶權限管理、庫表管理等。另外還提供信息建立查詢開發(fā)模板, 通過配置和特殊功能的編制就能很快完成了一個系統(tǒng)的開發(fā)?,F(xiàn)在想起來IASG距離我已經(jīng)有20年了。
第七階段,到了IASG階段后,我發(fā)現(xiàn)無論技術如何提高,都無法改變開發(fā)落 后于需求的現(xiàn)實。通俗地說就是:程序員水平再高,僅僅是拉車水平高,但是,應該在什么路上拉車程序員并不知道。如果這條路是一條光明的路,則程序員越拉越 有勁,有前途;如果這是一條死胡同,則程序員白費工夫;如果這是一條漫長的路,前途不明,則程序員可能要累倒在路上?,F(xiàn)實中程序員水平低、收入低;系統(tǒng)需 求不明確,系統(tǒng)開發(fā)周期一拖再拖;系統(tǒng)重復開發(fā)多,信息甚至不能在一個企業(yè)內(nèi)實現(xiàn)共享,更不用說在企業(yè)之間、行業(yè)之間實現(xiàn)共享了;各種企業(yè)級的軟件 ERP、CRM、BI層出不窮,也沒有哪個能滿足中國的市場;各種新技術、新概念不斷出現(xiàn),卻沒有哪種技術或概念能真正發(fā)揮其內(nèi)在價值,最終還是處于被學 習、被運用的階段。
這個過程是程序員脫離技術本身,開始思索、開始求源的階段。在這個階段的程序員的思想有了質(zhì)的飛躍。以前光拉車不看路,現(xiàn)在要抬頭看路了。
第八階段,有了抬頭看路的想法,于是我踏上尋路征程。我首先弄明白了我們腳 下的路是什么樣的,為什么這條路那么不平坦、不寬廣。從軟件生命周期來看,軟件主要由用戶需求發(fā)起,用戶需求是軟件生存的根本理由。由于企業(yè)、用戶的不同 而導致不同的需求——大量的無序的需求,這種需求驅(qū)動方式必然造成了我前面介紹的各種現(xiàn)象。這個階段是尋找根源的階段。只要我們找到了根源,就可以有機會 解決問題。這個過程相對來說比較困難,這不僅需要編程技術,還需要很多方面的知識。若要了解這個根源,就迫使你學習和積累更多程序以外的知識。
第九階段,當我找到軟件是需求驅(qū)動方式之后,就開始考慮什么是用戶需求?用 戶為什么要提出這些需求?我們可以更深入地分析用戶需求產(chǎn)生的根源,我們能否讓無序需求變成有序需求呢?當然針對這些問題我們都進行了深入分析,其過程也 很難在這里展開說明。我只能說,最后結論是用戶的需求來源于企業(yè)的經(jīng)營。很多人思考問題還是就需求而論,并沒有站在企業(yè)經(jīng)營角度去考慮問題。千萬不要小看 這個變化,這個變化最終會產(chǎn)生一個理論。于是我們盡可能地站在企業(yè)經(jīng)營角度看待企業(yè)經(jīng)營方式、企業(yè)管理、企業(yè)信息化等。但是,我們最終要解決企業(yè)經(jīng)營這個 概念問題,如果我們都不能明確企業(yè)經(jīng)營這個概念,或者我們不能科學地定義企業(yè)經(jīng)營這個概念,那一切基于企業(yè)經(jīng)營的各種具體現(xiàn)象就如同無本之源一樣無序泛 濫。就像ERP、CRM等所謂企業(yè)信息化產(chǎn)品一樣,由于沒有一個企業(yè)經(jīng)營定義的支撐,只能就企業(yè)經(jīng)營的某個方面提出解決方案。這些產(chǎn)品不缺乏需求的支持, 缺乏的是最基本的企業(yè)經(jīng)營定義的支持。而這個概念就是EOM。
EOM是從定義企業(yè)經(jīng)營角度入手,把我們今后要開展的各種研究和開發(fā)活動都放在一個理論可支持的基礎上。只有定義了企業(yè)經(jīng)營之后,我們才有可能分析 我們需要什么軟件,我們的軟件采用什么技術才能實現(xiàn)企業(yè)經(jīng)營的目標。而程序員則通過EOM了解到企業(yè)經(jīng)營需要什么樣的軟件,這個軟件有多大的價值,這個軟 件采用什么技術才能實現(xiàn),自己要提高哪方面的技術水平才能獲得更大的價值。
這個過程就是EOM階段,通過EOM了解軟件的根源和有價值的軟件所在,進而選擇自己未來的方向。
第十階段,當我建立了EOM之后,便開始了EOM實現(xiàn)階段。這個實現(xiàn)階段分為兩部分,通過這兩部分的結合,我們就可以逐步看到EOM軟件產(chǎn)品的實例,看到EOM的真正價值。
第一部分是EOM的技術實現(xiàn)。有了EOM并根據(jù)EOM理論構建企業(yè)信息化的架構后,我們就必須從技術上實現(xiàn)這個 架構,否則這個架構將永遠停留在理論階段,不具有可行性。我們可以采用現(xiàn)有的各種技術來實現(xiàn)這個架構,但是,現(xiàn)有的技術都是基于原有的業(yè)務需求而建立和發(fā) 展的,它適用于原來的應用對象。目前的EOM是一個全新的企業(yè)經(jīng)營理念,因此,我們必須建立一種新的軟件架構來適應和最好地實現(xiàn)這個理念。幸運的是,我們 找到了稱作NSS(New Software Structure)軟件新架構的技術,該技術體現(xiàn)了適應企業(yè)經(jīng)營發(fā)展方向,將軟件合理分層,用最新的軟件技術按照架構的方式規(guī)范軟件開發(fā)的模式,可以實 現(xiàn)最大范圍的功能共享,實現(xiàn)軟件的可擴展性。
第二部分是EOM的業(yè)務實現(xiàn)。當我們明確了EOM之后,就可以根據(jù)EOM來重新規(guī)劃企業(yè)信息化的整體架構,可以 細分這個架構中的各種平臺產(chǎn)品、通用產(chǎn)品、專業(yè)產(chǎn)品,可以細分出這個架構實現(xiàn)的各種技術架構和實現(xiàn)手段,可以細分出這個架構中的各種標準功能和標準信息。 通過這樣的分析,我們的程序員就可以根據(jù)自己的特長和愛好以及價值的判斷來選擇其中的軟件產(chǎn)品和技術。在明確目標和方向的情形下,通過自己的努力,不斷提 高自己的各種技能水平,讓自己的價值和企業(yè)經(jīng)營價值有機地結合在一起,從而實現(xiàn)自己的理想。
從我的程序員經(jīng)歷可以看出,程序員的成長是無止境的,只要有的放矢地努力,就會一步步登高向上。我認為程序員成長經(jīng)歷主要有三大階段,即通用技術階段、市場階段、專業(yè)技術階段。
這個階段可以讓程序員在軟件產(chǎn)品業(yè)務設計或軟件產(chǎn)品技術實現(xiàn)上等多個方面進行深入鉆研,并且成為領域?qū)<?。這和我們平時涉及的簡單的需求分析和簡單的技術實現(xiàn)有著本質(zhì)區(qū)別。
1)專用技術階段是程序員認知了這個軟件和技術有很大的市場價值,全身心投入到這個領域中去,并在這個領域成為專家的階段。程序員不但要懂技術,更要懂得客戶業(yè)務,不同的程序員的技術和業(yè)務變得沒有可比性,這種稀缺性造就了程序員極大的價值。
2)通用技術階段是程序員專注編程水平提高的階段,也就是說“只拉車不看路”階段。這個程序員能做的事情那個程序員也能做,程序員的替代性很強,程序員市場價值相對較低,程序員只關注編程技術本身。
3)市場階段是程序員跳離技術層面開始考慮為什么要開發(fā)這個軟件,這個軟件有什么價值的階段,通過求軟件之源來重新認知自己的方向。
這三個階段其實就是三個過程,每一個過程都是一次飛躍。程序員知道自己可以飛多高,依靠的是程序員的學習和眼界;而程序員能飛到哪里,那就要靠程序員自身的努力。一個程序員可以沒有能力,但是不可以沒有眼界。
本文發(fā)布于北京網(wǎng)站建設公司尚品中國http://m.yangsheng234.com/
建站流程
-
網(wǎng)站需求
-
網(wǎng)站策劃方案
-
頁面設計風格
-
確認交付使用
-
資料錄入優(yōu)化
-
程序設計開發(fā)
-
后續(xù)跟蹤服務
-
聯(lián)系電話
010-60259772
熱門標簽
- 網(wǎng)站建設
- 食品網(wǎng)站建設
- 微信小程序開發(fā)
- 小程序開發(fā)
- 無錫網(wǎng)站建設
- 研究所網(wǎng)站建設
- 沈陽網(wǎng)站建設
- 廊坊網(wǎng)站建設
- 鄭州網(wǎng)站建設
- 婚紗攝影網(wǎng)站建設
- 手機端網(wǎng)站建設
- 高校網(wǎng)站制作
- 天津網(wǎng)站建設
- 教育網(wǎng)站建設
- 品牌網(wǎng)站建設
- 政府網(wǎng)站建設
- 北京網(wǎng)站建設
- 網(wǎng)站設計
- 網(wǎng)站制作
最新文章
推薦新聞
更多行業(yè)-
企業(yè)網(wǎng)站制作是屬于企業(yè)對行業(yè)市場的戰(zhàn)略性和布局
一個新創(chuàng)辦的企業(yè),怎樣在短期內(nèi)提升企業(yè)品牌知名度?互聯(lián)網(wǎng)技術當作屬于全...
2022-04-29 -
網(wǎng)站設計與seo的緊密聯(lián)系
站長們都知道, 做站的終極目的更應該是讓更多的人來到網(wǎng)站并愿意留下來,...
2012-08-20 -
第三方支付開始陸續(xù)關閉信用卡充值業(yè)務
最后的信用卡充值朱熹妍王先生決定抽出十幾分鐘來做一件事情。他不厭其煩地...
2012-02-04 -
什么是星型拓撲
星型網(wǎng)絡結構中,各節(jié)點通過點到點的方式連接到一個中央節(jié)點設備上(如集線...
2014-07-14 -
探索最近企業(yè)網(wǎng)站建設的新模式
隨著用戶設備的多種多樣化,一個優(yōu)秀的企業(yè)網(wǎng)站應當支持各種類型的設備,包...
2023-05-29 -
外貿(mào)網(wǎng)站建設中的一些細節(jié)問題
在外貿(mào)網(wǎng)站建設中有很多地方是需要大家注意的,本文只為大家列出幾個比較重...
2018-08-30
預約專業(yè)咨詢顧問溝通!
免責聲明
非常感謝您訪問我們的網(wǎng)站。在您使用本網(wǎng)站之前,請您仔細閱讀本聲明的所有條款。
1、本站部分內(nèi)容來源自網(wǎng)絡,涉及到的部分文章和圖片版權屬于原作者,本站轉(zhuǎn)載僅供大家學習和交流,切勿用于任何商業(yè)活動。
2、本站不承擔用戶因使用這些資源對自己和他人造成任何形式的損失或傷害。
3、本聲明未涉及的問題參見國家有關法律法規(guī),當本聲明與國家法律法規(guī)沖突時,以國家法律法規(guī)為準。
4、如果侵害了您的合法權益,請您及時與我們,我們會在第一時間刪除相關內(nèi)容!
聯(lián)系方式:010-60259772
電子郵件:394588593@qq.com