1. 如何成為一個好的IT程序員
多練習,把編程能力練上去
當然編程也是一種天分,
練習也成就感才能持續。
多讀源碼多學習,
沒有捷徑
2. 進IT公司做程序員,必需要有大學學厲嗎
在IT企業中,程序員的來源無外乎三種渠道:校招、社招、別人推薦。這3種渠道對於程序員學歷的看中程度,是不一樣的。一、首先來看看校招當從學校步入社會,進入企業公司之後我們會發現,在中國幾乎所有的公司都在告訴我們:學歷不重要,重要的是能力。但是,那些世界500強企業招聘的時候只去那些一流的學校進行招聘,而不會去那些二、三流的學校進行招聘。甚至有一些大型企業,在招聘簡歷上更是明確標明,「本科階段必須為985/211學校」的院校學生。而且,學歷是HR篩選簡歷的方式之一,HR每天看人看簡歷看的頭都要炸了,985/211學校畢業生的簡歷都看不過來,更別提那些二三流學校了。同等水平的兩個人,如果只招一個,用學歷篩那就是最快捷的方式。本科學歷不夠「985、211」這條線?好的,那就只好和你說再見了。我有些程序員朋友,非985/211院校畢業,不管在校成績多好,拿過多少獎,剛畢業時,只要往BAT、華為等大廠投遞簡歷,無一例外都沒有面試機會。最好的成績,就是大廠HR打來電話,說很優秀,會放到公司的人才庫中,有需要的話再約面試。所以,當你並非名校畢業時,畢業後的一段時間,你的學歷,幾乎決定了你能去什麼樣的公司上班。二、其次來看看社招觀察一些程序員朋友,我發現,小於3年工作經驗本科畢業的人,如果非985/211,是很難去大廠工作的。但是當你的工作經驗超過3年之後,大廠基本上會根據你的工作經驗和崗位匹配度來給你相應的面試機會。如果你是碩士或博士生,但是本科階段非985/211學校,有些大廠是願意給機會的,但是也有一部分公司,根本不會給任何機會。而且,當你到了升職加薪的十字路口,缺少學歷的可能就會因此被比下去,在能力等方面同等條件下,可能就被拜拜了。所以,對於社招來說,簡歷在入職時可能沒那麼重要,如果你非名校畢業,初期找工作時,大概率來說,只能選一些行業內沒那麼好的公司,當你的工作經驗超過3年後,可以嘗試投大廠簡歷來獲得面試機會;但在加薪升職等方面,高學歷、名校背景能助你一臂之力。三、最後來看看別人推薦當你成為行業大牛時,就不用擔心簡歷對你的影響了,這幾乎是微乎其微的。這個時候,公司看中的是你實際解決問題的能力,請你還怕你不來呢,怎麼還會計較你的學歷呢?所以,成為大牛是大多數程序員的夢想,不僅僅是有機會去大廠工作,更重要的是,獲得行業影響力,這就不僅僅是一份工作這么簡單了,而是有可能獲得財務自由的機會,這樣的機會,才是技術人員最為看中的。在選擇編程語言,對於一個初學者來說,建議選擇Java,也在這里分享幾個學習編程的網站給你,我要自學網,菜鳥教程,慕課,嗶哩嗶哩等很多的在校學生,在學校基本學不到什麼,還不是需要自學,技術更新的快,無時無刻都得學一路走過來,我看見身邊也有很多學Java的朋友,但是我看見很多都從入門走向了放棄,其主要的根本原因就是他們沒有做好相關的學習規劃和路線,這才導致他們走了很多彎路,以此懷疑自己是否適合學習Java編程,最後選擇放棄。如果你在入門學習Java的過程當中有遇見任何關於學習,行業方面的問題,千萬不要選擇一個人孤軍奮戰,有不斷交流的碰撞,才能發現問題的根本。轉載於作者:焱公子鏈接:在IT企業中,程序員的學歷真的很重要麼?
3. 程序員培訓 要學多久 學it一年學費大概多少
如果零基礎,全日制學習,一般需要4個月左右,時間太短應該學不會。有短期的4個月和長期的2年,費用一般在1萬。
一般學習it技術需要花費的學費是不一樣的,不同的地方收費標准也是不一樣的,在學習信息技術的時候,初學者經常犯的錯誤是只要速度,而不注意基礎知識的學習,這樣無論是學習後期,還是參加工作後,都會覺得很難,因此一開始就要牢牢掌握計算機的基礎知識,比如軟體系統,計算機網路知識和資料庫知識。
(3)it程序員培養擴展閱讀:
程序員培訓注意事項:
弄清楚整體流程,掌握全局才能形成清晰的思路,就如同寫作文要先寫提綱一樣。
理順各個模塊之間的關系,才能更好的銜接各模塊來完成相應功能。
做介面時,要考慮使用者的感受是否易用,並且盡可能少的向使用者暴露內部的實現過程,簡化使用過程。
正常分支總是少數,大部分情況下都是異常分支,可以用2-8定律來形容,因此對異常處理很重要。
4. 搞IT程序員有前途嗎
IT程序員有前途。就業方向有:
1、架構師
這職位聽起來很高大上,但它需要強大的技術實力和深厚的技術積累。建築師的成長需要經驗、技術的廣度和深度。設計優雅、靈活、擴展性強的架構是架構師的主要工作。
2、Java後端程序員
後端程序員主要實現業務邏輯,為前端使用提供介面。
Java是最常用,但也有其他相對小眾,比如Python,Ruby on Rails、PHP等,還有就是PHP,小網站經常用,不論哪個語言,都不難學,這一塊的需求是比較大的。
(4)it程序員培養擴展閱讀
1、對項目經理負責,負責軟體項目的詳細設計、編碼和內部測試的組織實施,對小型軟體項目兼任系統分析工作,完成分配項目的實施和技術支持工作。
2、協助項目經理和相關人員同客戶進行溝通,保持良好的客戶關系。
3、參與需求調研、項目可行性分析、技術可行性分析和需求分析。
4、熟悉並熟練掌握交付軟體部開發的軟體項目的相關軟體技術。
5、負責向項目經理及時反饋軟體開發中的情況,並根據實際情況提出改進建議。
6、參與軟體開發和維護過程中重大技術問題的解決,參與軟體首次安裝調試、數據割接、用戶培訓和項目推廣。
7、負責相關技術文檔的擬訂。
8、負責對業務領域內的技術發展動態進行分析研究。
5. 程序員的邏輯思維可以從哪些方面進行培養呢
程序員邏輯思維的培養對軟體工程非常重要,思維快的能快速編寫邏輯代碼。可以從一下幾個方面進行慢慢培養。
第一:明確學習目的
邏輯思維學習編程對多數IT業人員來說都是非常有用的。學編程,做一名編程人員,從個人角度講,可以解決在軟體使用中所遇到的問題,改進現有軟體,可以為自己找到一份理想的工作添加重要得砝碼,有利於在求職道路上謀得一個好的職位;從國家的角度,可以為中國的軟體產業做出應有的貢獻,一名優秀的程序員永遠是被爭奪的對象。學習編程還能鍛煉思維,使我們的邏輯思維更加嚴密;能夠不斷享受到創新的樂趣,將一直有機會走在高科技的前沿,因為程序設計本身是一種創造性的工作。知識經濟時代給我們帶來了無限的機會,要想真正掌握計算機技術,並在IT行業里干出一番事業來,有所作為,具有一定的編程能力是一個基本條件和要求。
第二打好基礎,學好基礎知識對我們開發也很重要學編程要具備一定的基礎,總結之有以下幾方面:
首先是數學基礎 從計算機發展和應用的歷史來看計算機的數學模型和體系結構等都是有數學家提出的,最早的計算機也是為數值計算而設計的。因此,要學好計算機就要有一定的數學基礎,出學者有高中水平就差不多了。
其次是邏輯思維能力的培養 學程序設計要有一定的邏輯思維能力,「邏思力」的培養要長時間的實踐鍛煉。要想成為一名優秀的程序員,最重要的是掌握編程思想。要做到這一點必須在反復的實踐、觀察、分析、比較、總結中逐漸地積累。因此在學習編程過程中,我們不必等到什麼都完全明白了才去動手實踐,只要明白了大概,就要敢於自己動手去體驗。誰都有第一次。有些問題只有通過實踐後才能明白,也只有實踐才能把老師和書上的知識變成自己的,高手都是這樣成材的。最後是選擇一種合適的入門語言 面對各種各樣的語言,應按什麼樣的順序學呢?程序設計工具不外乎如下幾類: 1)本地開發 應用軟體開發的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;資料庫開發工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台開發 開發工具如 Java 等。 3)網路開發 對客戶端開發工具如:Java Script 等;對伺服器開發工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。 以上不同的環境下幾種開發工具中 VB 法簡單並容易理解,界面設計是可設化的,易學、易用。選 VB 作為入門的方向對出學者是較為適合的。
第三:注意理解一些重要概念
一本程序設計的書看到的無非就是變數、函數、條件語句、循環語句等概念,但要真正能進行編程應用,需要深入理解這些概念,在理解的基礎上應用,不要只簡單地學習語法、結構,而要吃透針對這些語法、結構的應用例子,做到舉一反三,觸類旁通。
第四:掌握編程思想,編程思想使用較多的就是oop編程思想
學習一門語言或開發工具,語法結構、功能調用是次要的,最主要是學習它的思想。例如學習 VC 就要學習 Windows 的內在機理、什麼是線程......;學習 COM 就要知道VTALBE 、類廠、介面、idl......,關鍵是學一種思想,有了思想,那麼我們就可以觸類旁通。
第六:多實踐、多交流,一切思維來自項目開發的積累
掌握編程思想必須在編程實際工作中去實踐和體會。編程起步階段要經常自己動手設計程序,具體設計時不要拘泥於固定的思維方式,遇到問題要多想幾種解決的方案。這就要多交流,各人的思維方式不同、角度各異,各有高招,通過交流可不斷吸收別人的長處,豐富編程實踐,幫助自己提高水平。親自動手進行程序設計是創造性思維應用的體現,也是培養邏輯思維的好方法。
第七:養成良好的編程習慣
編程入門不難,但入門後不斷學習是十分重要的,相對來說較為漫長。在此期間要注意養成一些良好的編程習慣。編程風格的好壞很大程度影響程序質量。良好的編程風格可以使
程序結構清晰合理,且使程序代碼便於維護。如代碼的縮進編排、變數命令規則的一致性、代碼的注釋等。
第八:上網學編程
在網上可以學到很多不同的編程思想、方法、經驗和技巧,有大量的工具和作品及相關的輔導材料供下載
8.加強計算機理論知識的再學習
思維培養學編程是符合「理論→實踐→再理論→再實踐」的一個認識過程。一開始要具有一定的計算機理論基礎知識,包括編程所需的數學基礎知識,具備了入門的條件,就可以
開始編程的實踐,從實踐中可以發現問題需要加強計算機理論知識的再學習。程序人人皆可編,但當你發現編到一定程度很難再提高的時候,就要回頭來學習一些計算機科學和數
學基礎理論。學過之後,很多以前遇到的問題都會迎刃而解,使人有豁然開朗之感。因此在學習編程的過程中要不斷地針對應用中的困惑和問題深入學習數據結構、演算法、計算機
原理、編譯原理、操作系統原理、軟體工程等計算機科學的理論基礎和數理邏輯、代數系統、圖論、離散數學等數學理論基礎知識。這樣經過不斷的學習,再努力地實踐,編程水平一定會不斷提高到一個新高度。
這就是總結出來的思維培養模式,希望能幫到你,謝謝!
6. 電腦程序員要學什麼知識
程序員的崗位需求很多,例如大型網路公司、軟體開發公司等等都需要程序員。
程序員需要學習:
1、掌握數據及其轉換、數據的機內表示、算術和邏輯運算,以及相關的應用數學基礎知識;
2、理解計算機的組成以及各主要部件的性能指標;
3、掌握操作系統、程序設計語言的基礎知識;
4、熟練掌握計算機常用辦公軟體的基本操作方法;
5、熟練掌握基本數據結構和常用演算法;
6、熟練掌握C程序設計語言,以及C++、Java、Visual Basic中的一種程序設計語言;
7、熟悉資料庫、網路和多媒體的基礎知識;
8、掌握軟體工程的基礎知識,了解軟體過程基本知識、軟體開發項目管理的常識;
9、了解常用信息技術標准、安全性,以及有關法律、法規的基本知識;
10、了解信息化、計算機應用的基礎知識;
11、正確閱讀和理解計算機領域的簡單英文資料。
程序員必備技能:
1、熟練開發工具
做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C++編寫。
而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVAOne很可能會成為未來的主流開發工具之一。
其次,能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,CBuilder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。
另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
2、熟知資料庫
作為程序員,他們自然有自己的理由:很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。
雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL,Postgres等。
3、了解操作系統
當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。
要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。
Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。懂得網路協議TCP/IP。
在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網路技術已改變了軟體運行的模式。
從最早的客戶/伺服器結構,到今天的WEBServices,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,深入掌握TCP/IP協議是非常必要的。
至少,需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。
4、明白DCOM/CORBA/XML/WEBServices存在的意義
隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中間平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。
XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布式計算的基石之一。
5、不要將軟體工程與CMM分開
大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程序員。
一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟體工程思想有機結合,編程只是軟體生命周期中的其中一環,優秀的程序員應該掌握軟體開發各個階段的基本技能。
如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。
6、需求理解能力
程序員要能正確理解任務單中描述的需求。在這里要明確一點,程序員不僅僅要注意到軟體的功能需求,還應注意軟體的性能需求。
要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。
7、模塊化思維能力
作為一個優秀的程序員,他的思想不能局限在當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。
這樣做可以使代碼能重復利用,減少重復的勞動,也能使系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。
就業方向:
1、網路開發
現在網路已經成為世界通訊的一座橋梁,好像Javascript、PHP、Ruby這幾類開發語言大部分是用作網路開發方面。
2、企業軟體開發
JAVA、C#、VB這幾類開發語言都實現了面向對象開發的目標,更多時候用於企業系統的開發。
3、系統軟體
C語言、C++、Object-C這些軟體更多是用在系統軟體開發,嵌入式開發的方面。
當然,這分類不是絕對,像JAVA、C#、VB很多時候也用於動態網站的開發。在很開發項目都會使用集成開發的方式,同一個項目裡面使用多種開發語言,各展所長,同步開發。
但所以在剛入門的時候,建議先為自己選擇一種合適的開發工具,「專注地投入學習,全力一擊」。
7. 從哪些方面學習可以培養程序員邏輯思維
第一:明確學習目的
邏輯思維學習編程對多數IT業人員來說都是非常有用的。學編程,做一名編程人員,從個人角度講,可以解決在軟體使用中所遇到的問題,改進現有軟體,可以為自己找到一份理想的工作添加重要得砝碼,有利於在求職道路上謀得一個好的職位;從國家的角度,可以為中國的軟體產業做出應有的貢獻,一名優秀的程序員永遠是被爭奪的對象。學習編程還能鍛煉思維,使我們的邏輯思維更加嚴密;能夠不斷享受到創新的樂趣,將一直有機會走在高科技的前沿,因為程序設計本身是一種創造性的工作。知識經濟時代給我們帶來了無限的機會,要想真正掌握計算機技術,並在IT行業里干出一番事業來,有所作為,具有一定的編程能力是一個基本條件和要求。
第二打好基礎,學好基礎知識對我們開發也很重要學編程要具備一定的基礎,總結之有以下幾方面:
首先是數學基礎 從計算機發展和應用的歷史來看計算機的數學模型和體系結構等都是有數學家提出的,最早的計算機也是為數值計算而設計的。因此,要學好計算機就要有一定的數學基礎,出學者有高中水平就差不多了。
其次是邏輯思維能力的培養 學程序設計要有一定的邏輯思維能力,「邏思力」的培養要長時間的實踐鍛煉。要想成為一名優秀的程序員,最重要的是掌握編程思想。要做到這一點必須在反復的實踐、觀察、分析、比較、總結中逐漸地積累。因此在學習編程過程中,我們不必等到什麼都完全明白了才去動手實踐,只要明白了大概,就要敢於自己動手去體驗。誰都有第一次。有些問題只有通過實踐後才能明白,也只有實踐才能把老師和書上的知識變成自己的,高手都是這樣成材的。最後是選擇一種合適的入門語言 面對各種各樣的語言,應按什麼樣的順序學呢?程序設計工具不外乎如下幾類: 1)本地開發 應用軟體開發的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;資料庫開發工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台開發 開發工具如 Java 等。 3)網路開發 對客戶端開發工具如:Java Script 等;對伺服器開發工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。 以上不同的環境下幾種開發工具中 VB 法簡單並容易理解,界面設計是可設化的,易學、易用。選 VB 作為入門的方向對出學者是較為適合的。
第三:注意理解一些重要概念
一本程序設計的書看到的無非就是變數、函數、條件語句、循環語句等概念,但要真正能進行編程應用,需要深入理解這些概念,在理解的基礎上應用,不要只簡單地學習語法、結構,而要吃透針對這些語法、結構的應用例子,做到舉一反三,觸類旁通。
第四:掌握編程思想,編程思想使用較多的就是oop編程思想
學習一門語言或開發工具,語法結構、功能調用是次要的,最主要是學習它的思想。例如學習 VC 就要學習 Windows 的內在機理、什麼是線程......;學習 COM 就要知道VTALBE 、類廠、介面、idl......,關鍵是學一種思想,有了思想,那麼我們就可以觸類旁通。
第六:多實踐、多交流,一切思維來自項目開發的積累
掌握編程思想必須在編程實際工作中去實踐和體會。編程起步階段要經常自己動手設計程序,具體設計時不要拘泥於固定的思維方式,遇到問題要多想幾種解決的方案。這就要多交流,各人的思維方式不同、角度各異,各有高招,通過交流可不斷吸收別人的長處,豐富編程實踐,幫助自己提高水平。親自動手進行程序設計是創造性思維應用的體現,也是培養邏輯思維的好方法。
第七:養成良好的編程習慣
編程入門不難,但入門後不斷學習是十分重要的,相對來說較為漫長。在此期間要注意養成一些良好的編程習慣。編程風格的好壞很大程度影響程序質量。
8. 我想問一下啊,想在IT行業里做一個優秀的程序員,需要怎樣的素質才行。
1、養成良好的書寫代碼的習慣,該加註釋的時候一定要加註釋,該大寫的地方一定要大寫,變數命名不能模糊不清。這是基礎,是為了讓別人能看明白你所寫的代碼,不能你寫的代碼只有你自己才看的明白。
2、注意所寫軟體的版本控制。
3、勤奮學習最新的技術,計算機技術日新月異,這點我不說相信你也知道。
4、養成寫開發文檔的好習慣,再接到一個項目時,第一件事情是進行需求分析,然後寫開發文檔,把你每一步要做什麼都先寫清楚,再動手做。
5、不要怕技術難題,在計算機領域,只有不能解決難題的人,沒有人解決不了的難題。
6、虛心象他人學習,即使技術實力比你差很多的人,也肯定會知道一些你所不知道的技術點。
第一種武器:開發工具
至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是我重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C++編寫。而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而本人對SUN公司的「網路即計算機」的概念相當欣賞,並相信JAVA即其相關的技術集JAVA One會成為未來的主流開發工具之一。其次,如果能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,C++ Builder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
第二種武器:資料庫
為什麼資料庫是如此重要?很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL, Postgres等。
第三種武器:操作系統
當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。只有對操作系統有一定的了解後,你會發現自己上了一個新的台階。
第四種武器:網路協議TCP/IP
在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網路技術已改變了軟體運行的模式,從最早的客戶/伺服器結構,到今天的WEB Services,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,所以,深入掌握TCP/IP協議是非常必要的。至少,你需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。
第五種武器:DCOM/CORBA/XML/WEB Services
隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中間件平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。程序員需要做的不僅僅是利用商業的開發平台來開發軟體,而是要理解這些技術的初衷,即為什麼需要這項技術,如果你能理解了這一點,再回頭看這些技術的具體實現,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布計算的基石之一。
第六種武器:軟體工程與CMM
現代大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程序員,一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟體工程思想有機結合,編程只是軟體生命周期中的其中一環,優秀的程序員應該掌握軟體開發各個階段的基本技能,如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。一句話可以概括我的看法:「創意無限,流程保證」。
第七種武器:強烈的好奇心
什麼才是一個程序員的終極武器呢,那就是強烈的好奇心和學習精神。沒有比強烈的好奇心和學習精神更好的武器了,它是程序員們永攀高峰的源泉和動力所在。
一.快樂的語言
這是一種你用來思考的語言。這是一種你希望無時無刻不在使用的語言。這是一種用來編寫自己的項目的語言。對於我來說,它是OCaml (現在還有JavaScript,盡管我正在把CoffeeScript吸收進我的世界裡)。對於很多人來說,它可能是LISP 或 Haskell。當一個人告訴我他的快樂的語言後,我能根據這個看出這個人的身上的很多特點。
如果這種語言是一種很深奧的或新的語言,這說明他對編程有熱情。
如果這種語言是一種主流語言,這說明他很明智或實用主義。
二.高產的 / 強大的語言
這種語言里應有經驗,包羅萬象。它很成熟,有大量的基礎庫。使用這種語言,它可以在緊要關頭快速的幫助你開發出各種服務或命令行工具。你的指尖敲動幾下,一切事情都搞定。
如果一個程序員列出很多這樣的語言,這也許能說明他可以使用所以的這些語言來開發RESTful服務。
如果我沒發現他有高產的語言,或者很少,那麼我就會懷疑他要麼缺乏經驗,要麼不夠專業。
三.黃油 + 麵包
這種語言是當生活拮據的時候它能讓你賴以生活的語言。這是一種只有當你自己或家人需要你去掙扎奮斗時才需要的語言。
如果一個人沒有掌握一種能夠換取黃油麵包的語言,那他很可能需要接受一些」如何在一個團隊里有效率的工作「這方面的教育。