A. 程序員的基本要求是啥
程序員是從事程序開發、維護的專業人員。一般將程序員分為程序設計人員和程序編碼人員,但兩者的界限並不非常清楚,特別是在中國。軟體從業人員分為初級程序員、中級程序員、高級程序員(現為軟體設計師)、系統分析員,系統架構師,測試工程師六大類.
崗位職責
1、對項目經理負責,負責軟體項目的詳細設計、編碼和內部測試的組織實施,對小型軟體項目兼任系統分析工作,完成分配項目的實施和技術支持工作。
2、協助項目經理和相關人員同客戶進行溝通,保持良好的客戶關系。
3、參與需求調研、項目可行性分析、技術可行性分析和需求分析。
4、熟悉並熟練掌握交付軟體部開發的軟體項目的相關軟體技術。
5、負責向項目經理及時反饋軟體開發中的情況,並根據實際情況提出改進建議。
6、參與軟體開發和維護過程中重大技術問題的解決,參與軟體首次安裝調試、數據割接、用戶培訓和項目推廣。
7、負責相關技術文檔的擬訂。
8、負責對業務領域內的技術發展動態進行分析研究。
職業要求
一般的程序員都有四年的在專業領域的學習,需要一個在程序領域的學士學位獲得者,不論是數學方面的還是工程方面的都是可以的。
大約有20%的人在這一領域的計算機科學和工程學擁有更高的學位。還有很小一部分程序員是自學的,盡管一些專業性的學校或者綜合大學可以提供,但是也需要一些別的途徑來提供相關的人才。盡管學歷是比較重要的,但是公司經常把重點放在應聘者的工作經驗上,很多剛從大學畢業的大學生雖然有引人注目的學位證書,但是他們找不到工作是因為他們缺乏經驗。一個程序員雖然沒有正規的學歷,但是如果一個人擁有程序設計的深厚知識背景或者豐富的工作經驗的話,那麼他的機會要比有學歷的應屆畢業生大得多。所以要盡量抓住有用的工作和實習機會,這樣的話在畢業後你就會發現,多實習讓你有更多的經驗,在找工作的時候就有更多的機會。
對於職業程序員,另外一個重要的方面就是,程序員需要不斷提升自己的業務技術,他的技術必須一直保持在一個較高的水平,並且要不斷發展,程序員也要尋找貿易的機會,要參加研討會,在周刊上發表文章和接受職業教育,這些使程序員在自己的領域中分級或者不斷並排前進。
做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和java是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C++編寫。而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVAOne很可能會成為未來的主流開發工具之一。其次,能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,CBuilder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
熟知資料庫
為什麼資料庫是如此重要?作為程序員,他們自然有自己的理由:很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL,Postgres等。
了解操作系統
當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。懂得網路協議TCP/IP。
在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網路技術已改變了軟體運行的模式,從最早的客戶/伺服器結構,到今天的WEBServices,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,深入掌握TCP/IP協議是非常必要的。至少,需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。
明白DCOM/CORBA/XML/WEBServices存在的意義
隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中間平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布式計算的基石之一。
不要將軟體工程與CMM分開
大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程序員,一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟體工程思想有機結合,編程只是軟體生命周期中的其中一環,優秀的程序員應該掌握軟體開發各個階段的基本技能,如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。
需求理解能力
程序員要能正確理解任務單中描述的需求。在這里要明確一點,程序員不僅僅要注意到軟體的功能需求,還應注意軟體的性能需求,要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。
模塊化思維能力作為一個優秀的程序員,他的思想不能局限在當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。這樣做可以使代碼能重復利用,減少重復的勞動,也能使系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。
B. IT程序員的職業發展方向
現在IT行業非常之火熱,而許多IT程序員迷茫於未來的職業發展方向。他們除了學習技術外,有眾多問題困擾著他們,同時這些問題成為他們職業發展的瓶頸。那麼,正在培訓的同學,未來的IT程序員們,要明確自己的職業發展方向才行。昆明北大青鳥http://www.kmbdqn.cn/認為IT程序員職業發展方向關乎你的未來,非常重要。
第一,培訓前要明確自己的學習方向,並且想清楚自己的目標是什麼;
第二,如何達到自己定的目標:看書,多練習,多問老師;
第三,給自己設定計劃並努力完成,中、高考前,我們一定都在桌子上貼過小紙條,寫著一句勵志的話或者奮斗的目標。
第四,不要單純的追求月薪多少,前景比當下的收入更重要,要放長遠看,不要注重當下利益。
准備工作時,首先要明確自己的職業發展方向:管理方向、技術方向、業務方向。
管理方向:通常從兩個方向轉變來的。工程師—項目組長—項目經理—項目經理—中層管理者—高層管理者—獨立創業。作為管理者,要具備把控能力和決斷能力等。
技術方向:理工程師—普通工程師—中級工程師—高級工程師—技術專家—架構師是必經過程。同時要求也很多:對技術有鑽研精神、強大學習能力、解決問題能力、自身技術能力等。
業務方向:是從初級業務員開始:業務分析員。而IT行業,通常是在技術工作的過程中逐漸熟悉了業務、對業務工作感興趣後轉化來的。與技術方向比,業務方向要求較高的情商及良好的溝通能力。在與客戶溝通過程中,了解到客戶的需求並為客戶及自己的團隊講解清楚,達到預期目標。
C. 跟程序員相關崗位有哪些
1.技術+技術(深入階段)
這算是一條純技術路線,具體又可以分3個方向:
技術(2年以上編程經驗)+技術(軟體測試,或系統分析師,或系統架構師)
有軟體開發的工作經驗,再加軟體測試,比剛開始就進入軟體測試行業的人要更具競爭優勢。軟體測試工作經驗越多越好,可以干到退休,不用擔心年齡問題。
如果選擇「系統分析師,系統架構師」,則首先要打好扎實的「理論基礎」(可以通過考證書,比如參加軟考),以保證自己「後勁力十足」,這樣等有了4,5年的工作經驗後,才有可能能沖上這個高端領域。平時工作中要不斷的鍛煉自己的「發散思維」,培養善於發現業務需求的「眼光」。
2.技術+管理 :比如 項目經理。
像雷軍說的那樣:「程序員象木工一樣,熟能生巧。程序員必須寫足夠代碼量(8萬行以上)的程序,才會有感覺,這是一個苦力活,沒有任何捷徑可走。」項目經理大多是從「優秀」的程序員里挑選出來,想走這條路,平時就要瘋狂的編碼,迅速累積豐富的編程經驗,然後再補充一些管理方面的知識。(本人打算走這條路,呵呵)
3.技術+銷售:比如 技術銷售工程師,技術支持工程師。
這類工作要有一定的技術背景(入門級也可以),具備較好的語言表達,溝通能力。工作比較輕松,月薪待遇主要看個人銷售業績等,個人收入差別可能比較大。
4.當培訓老師
如果你「樂於分享」工作經驗,傳授知識,或者覺得自己年齡比較大,精力不夠充沛,且往上升又比較困難的話,可以選擇去培訓機構當老師,就目前而言,當老師工作輕松,待遇也不錯。
D. 程序員想轉行,有什麼好的行業推薦嗎該如何選擇
你可能說為何國營企業還要擔憂中年危機?年收入也還能夠呀。但是這也是於北京,除掉租金、日常花銷,省著花,拿到手的一年能省下20w就不錯了。因此購房基本上沒希望,家中也有老婆小孩,小孩馬上就要上幼稚園了,再不陪陪,他就需要長大以後呀。但是回家了搞養殖行業確實便是行得通之途嗎?便說養殖牛,一頭小羊羔就2萬發展,正中間還不能得病遭災,要服侍的別人都好,風險性非常大。但是除去這一有點兒基本的養殖行業,別的的都是以0逐漸,這個年齡早已沒有多少從0剛開始的時機了。假如家中父母是做生意的,就算便是城鎮里的小買賣,都是比較好的一個改行突破口,終究銷售市場是已經有了,行業經驗也擁有,假如能發展壯大,就等你投資了。
如今反是有大量得人想轉行進到互聯網技術,你這倒是好,不想做程序猿了要改行,真的是應了錢鍾書老先生的那一句話「城裡的人想出去,城邊得人想進去。」實際上程序員轉行和別的行業改行本質上區別並不大,都是以自身了解的行業跨到自己不了解的方面,無論干什麼,也都需要歷經一個重新開始的全過程。實際干什麼,由於不了解你個人性格與個人經歷因此不太好下觀點,但你要知道改行嘛,不管怎麼說其實就是社會上給予的那些角色,我覺得你如今必須想清楚自身適合什麼?你作為一個程序猿,因為什麼原因想轉行呢?是感覺工作時間長得話,那我覺得你可以去做一個文員;是感覺工作中不足有成就感得話,那我覺得你能夠去干教師;是感覺薪水達不了自身預估得話,那我覺得你能夠拼一把去自主創業。所以你看,概率太多了,但重要是要看著你要求,你早已要改行了,那麼就一定是現在的工作有地區使你不順遂了,因而,改行新工作就需要考慮清楚自己要哪些、適合什麼。
E. Java程序員的職業規劃是什麼
程序員的職業規劃是非常清晰的:
程序員。如果你覺得你喜歡代碼,喜歡開發工作,那麼一-直做開發也是一件的不錯的事,不過要考慮當你做開發10年後,你所做的工作,一個大學畢業2.3年的開發人員一樣能做時,你的價值在走下坡路,越來越不值錢。所以要時刻保持學習,並且深入研究技術。
架構師。是往真正技術大牛的方向發展的職業線路。若未來你想成為架構師就需要現在你的不斷專研技術和積累研發經驗。不是隨便開發人員憑借10年開發經驗就可以成為架構師。成為架構師需要完善和扎實的技術體系,具備較好系統分析和設計能力,豐富的項目研發經驗。
技術經理。是往技術加團隊管理的方向發展的職業線路。往此線路發展的同學,需要一定的技術能力和團隊管理能力。做管理與性格有關,首先得分析自己性格是否適合做管理的工作,這點也是很多做技術出身的人員,轉型時最大的挑戰。有技術經理崗位的存在,一般都是搭配偏需求、產品的項目經理進行項目實施。技術經理的技術可以不用深入研究,但是需要具備一定的廣度和項目開發經驗。
項目經理。是往管理的方向發展的職業線路, -般項目經理主要側重項目管理工作,項目經理很關鍵的能力就是計劃、溝通及組織協調的能力。溝通和表達是開發人員短柄,所以想往此線路發展的同學,從日常的工作、生活中就得逐步加強鍛煉這方面能力,其次學習一些項目管理的知識,例如:PMP、CMMI敏捷開發管理等。
選擇什麼樣的職業線路,需要客觀認識自己,根據自己的特點進行規劃,選中後制定有序的學習計劃。職業機會也是留給已做好准備的人。
F. 想當程序員,大學應該學什麼專業
想當程序員可以學這兩個專業:
1、軟體工程
軟體工程專業以計算機科學與技術學科為基礎,強調軟體開發的工程性,使學生在掌握計算機科學與技術方面知識和技能的基礎上熟練掌握從事軟體需求分析、軟體設計、軟體測試、軟體維護和軟體項目管理等工作所必需的基礎知識、基本方法和基本技能,突出對學生專業知識和專業技能的培養,培養能夠從事軟體開發、測試、維護和軟體項目管理的高級專門人才。
2、計算機科學與技術
計算機科學與技術專業主要培養具有良好的科學素養,系統地、較好地掌握計算機科學與技術包括計算機硬體、軟體與應用的基本理論、基本知識和基本技能與方法,能在科研部門、教育單位、企業、事業、技術和行政管理部門等單位從事計算機教學、科學研究和應用的計算機科學與技術學科的高級科學技術人才。
選了這兩個專業,會在大學中學習到c語言,c++,java,javaweb等等一系列編程語言,要注意的是,大學里一般一個學期結束一門語言課程的學習,進度會非常快,課程安排量也不會太充足,想要學好,還得靠自己課下努力才行,至少得掌握一門自己拿手的語言。
當程序員需要具備的能力
1、編程語言能力
作為合格的計算機程序員,精通一門語言是必須的。這種精通,不是說看了一本編程寶典,抄了幾個程序就能說精通的,要靠長時間的積累。
2、編碼能力
遵守編碼規范,是一個程序員最基本的要求。另外一個就是注釋,要注意不是為了注釋而注釋。對類,以說明職責為主;對方法,以說明意圖為主;對方法體,以說明實現思路為主。對於大段大段的代碼,要分段,使用空行隔開,並使用行內注釋進行說明。
3、面向對象思維能力
多數編程語言都是面向對象的編程語言。而這些面向對象編程語言的共同精髓就是面向對象的思想。掌握這些比面向對象語言本身更重要,比如對繼承,多態,重載的理解。對面向對象基本原則的理解,比如開閉原則,介面隔離原則,單一職責原則等。在此基礎上,應該掌握常用的設計模式,比如工廠模式,策略模式,觀察者模式,模板方法模式,命令模式等等。
G. Java程序員的4個職業發展方向,該如何把握黃金5年
而這5年,也決定了一個程序員能否成為職業大牛的可能。那麼,在這黃金5年,Java程序員如何做才能實現自我突破呢?
1)對初學者建議
首先,對尚未進入職場工作的在校生以及准備轉行Java的同學的建議:
一定要從最基礎的知識學起,學習Java基礎的時候,應該盡量多動手寫,寫出來運行一下,會發現很多問題。
學完基礎內容之後,對Java有一個基本的了解之後,不要著急著進入更高級的學習,嘗試用Java語言寫出一些簡單的程序鍛煉自己。
為此,動力節點開展了線上直播班型「Java夜校班」,助你從0基礎到就業。
1.因為從零基礎到就業,只用6個月6個月,就能把小白變成Java程序員?夜校班可以做到。
夜校班時長6個月,分為12個階段,針對零基礎學習人群,課程緊湊飽滿,全程直播,講解細膩,不同水平人的學習需求均可滿足。
2.因為是線上直播+課後作業首先,在選擇Java在線培訓班時,第一個應該注意的就是培訓機構是錄播還是直播?
Java夜校班與其他機構的錄播視頻不同,是由總監級技術大咖直播授課,只有學員和老師隨時溝通互動,學習效果才能得到最大保障。
3.因為有7大實戰項目夜校班含有7大真實項目實訓,與企業無縫對接,讓你輕松勝任開發工作。(項目內容詳見後文)
4.因為有全新全面的課程體系Java夜校課程大綱由動力節點線上教學總監,資深架構師親自設計並帶隊授課,來自一線的技術體系,來自一線的業務需求。
2)參加工作1-2年之間
在這段時間里,想必對Java已經有了一個較為深入的了解。
首先,要非常熟悉設計模式,日常要多看一些關於代碼編寫優化的書,提高自己的代碼能力,能夠寫出一手優雅的代碼;
其次,在工作過程中肯定接觸過並發,應該更加深入地去了解並發的相關知識;
最後,要對所使用的框架和Java的類庫有一定的研究,還需要去看一些JDK中的類的源碼,包括自己日常所使用的框架的源碼。
總而言之,這個階段,需要做的是深入了解Java底層和Java類庫,也就是JVM和JDK的相關內容。
3)參加工作3-4年之間
處於這個階段,說實話很難再提升代碼能力了,因為這個階段的學習會比較多樣化。
在前三年的工作中,相信或多或少都會接觸一些其它的技術,比如大數據、分布式緩存、分布式消息服務、分布式計算、軟負載均衡等技術,你能精通任何一項,都將是你未來面試時巨大的優勢。
因此,如果自己對某一項技術感興趣,這時可以深入去研究,即使這項技術不一定會在工作時用到,但一定是相關的。
4)參加工作4-5年之間
到了這個階段,應該遇到了所謂的「技術瓶頸期」了。不要急於提高自己的技術,此時更重要的是提高你的影響力。
可以嘗試去一些知名公司提高你的就業背景;也可以發表一些技術文章去影響更多的人;還可以去Github創建一個屬於自己的開源項目,打造屬於自己的產品。
這個時候提高自己的影響力主要是可以給自己創造更多的機會,所以,這個階段最大的任務是提高自己的影響力,為未來工作生涯做准備。
對於軟體開發同學而言,首先要客觀認識自身的情況,想清楚自己現在要什麼、未來要什麼,做好職業規劃,從而選擇不同類型的企業。
下面來再談談Java程序員職業發展規劃和方向。
1)走向架構師
程序員與架構師之間的主要區別是什麼呢?
架構師,是Java開發人員非常嚮往的一個角色。架構師需要擁有完善和扎實的技術體系,具備較好系統分析和設計能力,豐富的項目研發經驗。
架構師是一個漫長的積累過程,大部分架構師的年齡在35歲左右,這個階段就是程序員的黃金期。
程序員要向一名架構師發展,需要進一步加強技能的修養。對於互聯網公司來言,最重要的技能是對網路和分布式系統的理解,比較麻煩的是分布式系統,除了分布式,在現在大型互聯網企業中,還需掌握高性能、深入淺出、性能調優、Spring、JVM等技術。
為此,動力節點為大家帶來了架構師課程,助大家成為年薪百萬的架構師。
2)走向項目經理
當然,也有一些運氣比較好的程序員,不但負責項目的設計工作,而且還負責項目的管理工作,對項目經理這個工作有一定的嘗試。
因此,這類程序員可以審視一下自己,是否合適這項工作,如果自己對這種工作比較滿意,而且具備項目經理的要求,則可以向項目經理這個方向發展。
項目經理的工作重點已經從編程轉移到對人、對技術、對進度、對項目的管理,因此,項目經理必須要了解軟體開發的各個環節、了解開發的各種技術和運用、了解開發隊伍人員的水平和特點。
在日常的工作和生活中就得側重鍛煉這方面的能力,還要學習一些項目管理的知識,例如:PMP、CMMI、敏捷開發管理等。
從程序員到項目經理可以使項目經理更好地理解程序員在項目中的地位和作用,了解軟體開發的各種規律性的東西,從而保證項目的正常完成。
而且,項目經理的收入和地位在公司里也是比較高的,因此,走向項目經理是程序員的另一個發展空間。
3)走向管理層
很多程序員希望自己能成為公司中的主管、或項目經理等管理人員,無論是收入還是地位都會相對高一些。
另外,還有一些程序員可能厭倦了日復一日枯燥而繁瑣的編程工作,希望藉助走向管理崗擺脫這種步步緊逼的工作狀態。
當然,走向管理者就要求程序員要比一般人做更多的准備,做更多的轉型工作。
由於軟體公司的管理者不同於一般公司的管理者,專業能力越強,管理起來就越得心應手,沒有專業能力的管理,遇到的問題很多,也很難解決。
所以,想要往管理者發展的程序員,一定要把編程、項目設計、項目管理等基礎打好,這樣轉型到管理者成功率就會高一些,而且到時候也能更加得心應手。
H. 做程序員要什麼學歷什麼專業才可以
很多程序員,很多種情況,有大專、大本,有一個是念得法律後來轉行做程序員,有一個是技術院校出身,但是有一群朋友,很喜歡電子類的東西,創辦過工作室做網站,也在大公司做信息系統開發,後來做項目經理。如果本身專業和電子相關,就直接去找程序員的工作,如果無關,就需要自己找地方學,或者培訓機構,或者學校。
I. 程序員一般都有哪些職業
程序員可以做的職業有很多,最多的是到軟體公司做程序員,編寫程序開發軟體,也有做軟體測試工作,工作經驗豐富的程序員轉到後台做項目管理。程序員是比較辛苦的工作,996是常態,經常熬夜,所以做程序員一般是年輕人為主,上了年紀的程序員很多改行或者換崗做管理,年紀大了思維和精力都跟不上,已經很難適應行業節奏,所以程序員做其他方面的工作也是很正常的。
J. Java程序員可以從事哪些工作
首先Java發展方向大致分為兩類:
1.管理人員,例如產品研發經理,技術經理,項目經理等
2.技術工作,例如成為高級軟體工程師、需求工程師等
然後從Java的應用領域來分,Java語言的應用方向主要表現在以下三個方面:
1.大中型的商業應用
2.桌面應用,就是常說的C/S應用
3.移動領域應用
由此可見,學習JAVA可以從事網站開發、編程、游戲開發以及其他與Java語言編程相關的工作。
另外我們都知道程序員的薪水相對較高。 Java軟體開發一般月薪范圍在6K+。有多年工作經驗的高級軟體工程師的薪資則大致在年薪12萬+。
現階段市場上對java的需求還是比較大的,而且java就業范圍廣,薪資待遇也高,因此也是很多轉行人士的首選