㈠ 怎麼做一個好的程序員
想成為一名優秀的程序員,往往需要具備以下特質:
1、始終保持工作熱情
只有熱愛才能做好一件事。尤其對於技術人員來說,程序員經常對著電腦一坐就是七八個小時,有時候趕項目還得在公司熬夜加班。如果不是真的熱愛這份工作,光靠賺錢這個驅動力肯定是不足以支撐下去的。如果你每天都是一副上班比上墳還沉重的樣子,哪怕你的技術水平再高,你的狀態也很難好到哪裡去,更不可能做出一個好的產品來。
2、提高學習能力,不斷提升專業水平
新技術層出不窮,每個程序員都必須堅持學習。只有不斷學習才能不斷提升。在空餘時間多掌握一些工具,多學習一些技術語言,技多不壓身嘛。而且技術都是相通的,多學習一些新東西,會讓你更融會貫通。這樣既可以提高自己的工作效率,也能提升自己的職場競爭力。
3、加強溝通能力,避免無效的工作產出
下手寫代碼前必須明確產品的目標和需求,如果有不理解的,一定要及時跟上級進行溝通,必要時還可以從技術層面給產品和老大提出優化意見。切忌光敲代碼不思考,這樣很容易做無用功。
只要能做到以上三點,你未來的發展空間會更大,也相信你一定能找到適合自己的平台!
㈡ 來聊聊怎樣辨別一個程序員水平的高低
看頭發。熱愛技術的人,會不自覺的熬夜,不解決某個問題誓不罷休。
㈢ 程序員老了怎麼辦
很多人都是說程序猿是吃青春飯的,上了年紀的程序猿將會面臨著腦力或者體力不支的問題,導致一些老程序猿不再被公司重用或者重視,甚至面臨失業的危險。然而我卻不這么認為,其實程序猿老了未必就沒有用了,很多老程序還是大用用武之地的。
㈣ 程序員是做什麼的
程序員一般的工作是從事程序開發、程序維護。
程序員是從事程序開發、程序維護的專業人員。一般將程序員分為程序設計人員和程序編碼人員,軟體從業人員分為初級程序員、中級程序員、高級程序員(現為軟體設計師)、系統分析員,系統架構師,測試工程師六大類。具體工作職責如下:
1、負責軟體項目的詳細設計、編碼和內部測試的組織實施,對小型軟體項目兼任系統分析工作,完成分配項目的實施和技術支持工作。
2、協助項目經理和相關人員同客戶進行溝通,保持良好的客戶關系。
3、參與需求調研、項目可行性分析、技術可行性分析和需求分析。
4、熟悉並熟練掌握交付軟體部開發的軟體項目的相關軟體技術。
5、負責向項目經理及時反饋軟體開發中的情況,並根據實際情況提出改進建議。
6、參與軟體開發和維護過程中重大技術問題的解決,參與軟體首次安裝調試、數據割接、用戶培訓和項目推廣。
7、負責相關技術文檔的擬訂。
8、負責對業務領域內的技術發展動態。
(4)程序員相輕擴展閱讀:
職業要求
一般的程序員都有四年的在專業領域的學習,需要一個在程序領域的學士學位獲得者,不論是數學方面的還是工程方面的都是可以的。
大約有20%的人在這一領域的計算機科學和工程學擁有更高的學位。還有很小一部分程序員是自學的,盡管一些專業性的學校或者綜合大學可以提供,但是也需要一些別的途徑來提供相關的人才。
盡管學歷是比較重要的,但是公司經常把重點放在應聘者的工作經驗上,很多剛從大學畢業的大學生雖然有引人注目的學位證書,但是他們找不到工作是因為他們缺乏經驗。
一個程序員雖然沒有正規的學歷,但是如果一個人擁有程序設計的深厚知識背景或者豐富的工作經驗的話,那麼他的機會要比有學歷的應屆畢業生大得多。
對於職業程序員,另外一個重要的方面就是,程序員需要不斷提升自己的業務技術,他的技術必須一直保持在一個較高的水平,並且要不斷發展,程序員也要尋找貿易的機會,要參加研討會,在周刊上發表文章和接受職業教育,這些使程序員在自己的領域中分級或者不斷並排前進。
㈤ 程序員是不是只能吃青春飯
很多計算機相關專業的畢業生在擇業時,不知道是受到什麼因素的影響,對於程序員這個職業,普遍存在一個認識上的錯誤,他們認為程序員的「職業生涯」很短暫,吃的是青春飯,等年齡大了,如果不轉行,就沒用了,沒有企業要了,生存都存在問題了。
還有很多人認為程序員這個職業眼前雖然高薪,但是卻是以犧牲身體、時間換來的,經常還要加班,「享受」非人的待遇,最後還落下一身職業病,例如:頸椎病、腰椎間盤突出、高度近視等,所以他們認為這個職業盡管眼前光明,但是沒有什麼前途,可事實絕非如此,這是對程序員這個職業的一種誤解。
誤區:軟體開發職業是青春飯
之所以出現「程序員是吃青春飯的」這一觀點,可能是因為很多人認為國內程序員的工作雖然高薪,但確實很累,需要耗費大量的時間和精力,只有年輕人才頂得住。無法否認,就國內的軟體行業現狀來說,程序員工作比較累的現象確實存在,但是編程序只有年輕人才能做得了的說法,卻是錯誤的認識。
首先,國內的軟體開發管理存在不規范的現象,作坊式的個人行為很嚴重,互相配合、協同開發的效率很低,分工不明確,一個人要做好幾個人的事;
其次,客戶需求不明確,很多客戶自己企業的管理都很不規范,自己都搞不清楚自己的生產流程,要用計算機進行管理是行不通的;
第三,軟體開發市場競爭激烈,有些公司為了獲得訂單,用戶要求什麼就答應什麼,結果就苦了程序員。隨著國內軟體開發市場和用戶市場的逐漸成熟,以及軟體規模的擴大,程序員的辛苦會逐漸降低。
而隨著技術能力和工作經驗的增加,程序員可以向軟體設計師、系統分析員、項目主管、項目經理、CIO過渡。中國的軟體產業剛剛開始,不但需要大量的程序 員,而且逐漸會需要更多的設計分析、管理人員。當然,准程序員們目前首先要做好的是學好功課,然後去做程序員,做上幾年程序員以後,再逐步向上發展。
還有一個問題:工作很辛苦。我鄭重地告訴你:沒有不辛苦的工作!關鍵是怎樣把工作轉化為一種享受,讓自己的心情快樂起來。
針對軟體開發職業是青春飯這個觀點,我們來做一個誤區分析:
誤區01年長程序員要求的薪酬一般要比年輕程序員高很多,相比之下年輕的程序員更能受到企業的青睞。
其實,相比年輕程序員,年長程序員更有競爭力,因為年長程序員具備豐富的項目經驗,之所以薪酬比年輕程序員高很多,有它的合理性與必然性。雖然年輕的程序 員薪水相對比較少,但是他們一般沒有經受過失敗的教訓,對於項目的認知與把握普遍不如年長的程序員。很多項目需要有激情的年輕人,同時也需要經驗豐富的年 長者進行架構、技術指導,因此給予年長者高薪也是必須的,因為他們的價值完全能夠匹配他們拿到的薪水。
誤區02年長程序員缺少靈活性,缺乏學習新知識的能力與動力,做事比較古板。
年長程序員的閱歷較年輕的程序員更深、更廣,越是有經驗的程序員越能夠更迅速、更深度地遷移到新的技術、框架和系統里,其中很多深刻的見解並不是新人可以擁有的。況且,由這些思想儲備來提升的生產效率,並不是能用什麼方法直接測量到。
誤區03年長程序員不願意去干那些很辛苦的實際開發工作,編程水平一般,只會指手劃腳。
沒有誰能夠保證年長的程序員就不用加班,年輕的程序員就一定經常加班。隨 著人生閱歷的增加,年長的程序員相比較年輕的程序員,更不願意加班加點辛苦地工作,畢竟他們有了家庭,需要考慮的事情更多了,他們知道只有工作效率有問題 才會將自己推到每周工作80小時的處境。很多有家室的程序員都能有效地管理自己的個人時間,否則他立刻會淹沒在各種工作之中無法抽身。而當企業需要他們加 班的時候,年長的程序員也會義無反顧地加班,絲毫不遜色於年輕的程序員。
誤區04年長程序員沒有年輕程序員腦瓜靈活、思維敏捷。
最後,由於生理特性,年長者在智力方面確實不如年輕人了,年長的程序員比年輕的程序員的反應速度也相對慢一些,但正確的判斷來自於經驗,經驗來自於常年累 月的積淀,年長的程序員見識過、經歷過的成功、失敗的案例都比年輕人多得多,經驗豐富的程序員有大量的案例可以拿來作為借鑒和參考,而年輕的程序員初出茅 廬,很難做到這一點,即使可能會有一些很好的新觀點,但通常是沒有經過測試和驗證的,很難付諸實踐。
每個人都年輕過,也有年老的時候,而年輕不是壞事,年老也不是所有都好,重要的是,肚子里沒有真材實料的程序員在哪裡都很難有發展前景,有實力的程序員,無論是年輕還是年老,在哪裡都是香餑餑。所以程序員這個職業不僅不是吃「青春飯」的,而且這個職業還會讓人永葆青春,充滿活力。
㈥ 新入職程序員的痛苦和迷茫
我剛從動力節點畢業上班的時候跟你一樣,在一家小公司做編程,雖然薪資不低,有一萬六,單每天重復單調枯燥的過程,感覺自己像個上了發條的機器木偶,尤其是在地鐵上擠著上班的時候,我跟老師訴苦,老師開導我,每個人都會有一段低迷時期,找不到方向,想踏出固步自封的圈子又怕跌倒。關鍵是,你是討厭這份工作還是討厭這個行業,不用著急,慢慢理清自己的內心。
㈦ 程序員是做什麼的什麼是程序
程序員:
程序員是從事程序開發、程序維護的專業人員。程序員一般需要會做:確認通過審查方案的目標,輸入數據,分析師,監事,和客戶的輸出要求的項目要求。
通常情況下將程序員分為程序設計人員和程序編碼人員,軟體從業人員分為初級程序員、中級程序員、高級程序員(現為軟體設計師)、系統分析員,系統架構師,測試工程師六大類。
程序:
程序是一組計算機能識別和執行的指令,運行於電子計算機上,滿足人們某種需求的信息化工具。以某些程序設計語言編寫,運行於某種目標結構體繫上。
程序就如同以英語(程序設計語言)寫作的文章,要讓一個懂得英語的人(編譯器)同時也會閱讀這篇文章的人(結構體系)來閱讀、理解、標記這篇文章。
(7)程序員相輕擴展閱讀:
程序員的日常工作:
1、確認通過審查方案的目標,輸入數據,分析師,監事,和客戶的輸出要求的項目要求。
2、安排項目要求在編程序列分析要求;准備工作流程圖和使用計算機知識的能力,題材,編程語言和邏輯圖。
3、編碼工作流程的信息轉換成計算機語言的項目要求。
4、通過輸入編碼信息的計算機程序。
5、確認程序操作進行測試,修改程序序列和/或代碼。
6、准備寫操作指令供用戶參考。
7、保持歷史記錄,通過記錄方案的制定和修訂。
參考鏈接:網路-程序員
網路-程序
㈧ 想做程序員,要些什麼條件
程序員是一種技術工作,在IT的發展中有相當重要的地位,從底層硬體通訊協議的建立, 到數據傳輸層的處理,到操作系統的建設,到資料庫平台的建設,一直到應用層上各種數 據營銷平台的搭建,程序員在裡面都扮演著舉足輕重的角色並為IT事業的發展做出了巨大 的貢獻。
中國有很多精於編碼的人,但是中國軟體行業,尤其是網路應用開發方面誤區很大,很難 形成有規模的軟體開發力量和產品能力,不但比美國差距甚遠,和印度相比也是頗有不 如。這些問題不是在於中國程序員的智商和工作努力狀況,也不是在於國家和民間對開發
的投入程度,而是很大程度上,有一些對技術,對程序開發,對項目設計方面的思想誤 區,這些誤區,導致了軟體行業的產品化能力不足,缺乏規模化和大型復用系統研發能 力,可以說,改變認識誤區,是解決軟體行業小作坊模式和個體英雄模式所帶來的局限性 的重要工作。
中國有很多小朋友,他們18,9歲或21,2歲,通過自學也寫了不少代碼,他們有的代碼寫的 很漂亮,一些技術細節相當出眾,也很有鑽研精神,但是他們被一些錯誤的認識和觀點左 右,缺乏對系統,對程序的整體理解能力,這些人,一個網上的朋友說得很好,他們實際
上只是一些Coding fans,壓根沒有資格稱為程序員,但是據我所知,不少小網路公司的 CTO就是這樣的coding fans,拿著嚇人的工資,做著嚇人的項目,項目的結局通常也很嚇 人。
程序員基本素質:
作一個真正合格的程序員,或者說就是可以真正合格完成一些代碼工作的程序員,應該具 有的素質。
1:團隊精神和協作能力
把它作為基本素質,並不是不重要,恰恰相反,這是程序員應該具備的最基本的,也是最 重要的安身立命之本。把高水平程序員說成獨行俠的都是在囈語,任何個人的力量都是有 限的,即便如linus這樣的天才,也需要通過組成強大的團隊來創造奇跡,那些遍布全球
的為linux寫核心的高手們,沒有協作精神是不可想像的。獨行俠可以作一些賺錢的小軟 件發點小財,但是一旦進入一些大系統的研發團隊,進入商業化和產品化的開發任務,缺 乏這種素質的人就完全不合格了。
2:文檔習慣
說高水平程序員從來不寫文檔的肯定是乳臭未乾的毛孩子,良好的文檔是正規研發流程中 非常重要的環節,作為代碼程序員,30%的工作時間寫技術文檔是很正常的,而作為高級 程序員和系統分析員,這個比例還要高很多。
缺乏文檔,一個軟體系統就缺乏生命力,在未來的查錯,升級以及模塊的復用時就都會遇 到極大的麻煩。
3:規范化,標准化的代碼編寫習慣
作為一些外國知名軟體公司的規矩,代碼的變數命名,代碼內注釋格式,甚至嵌套中行縮 進的長度和函數間的空行數字都有明確規定,良好的編寫習慣,不但有助於代碼的移植和 糾錯,也有助於不同技術人員之間的協作。
有些coding fans叫囂高水平程序員寫的代碼旁人從來看不懂,這種叫囂只能證明他們自 己壓根不配自稱程序員。代碼具有良好的可讀性,是程序員基本的素質需求。
再看看整個linux的搭建,沒有規范化和標准化的代碼習慣,全球的研發協作是絕對不可 想像的。
4:需求理解能力
程序員需要理解一個模塊的需求,很多小朋友寫程序往往只關注一個功能需求,他們把性 能指標全部歸結到硬體,操作系統和開發環境上,而忽視了本身代碼的性能考慮,有人曾 經放言說寫一個廣告交換程序很簡單,這種人從來不知道在百萬甚至千萬數量級的訪問情
況下的性能指標是如何實現的,對於這樣的程序員,你給他深藍那套系統,他也做不出太 極鏈的並訪能力。性能需求指標中,穩定性,並訪支撐能力以及安全性都很重要,作為程 序員需要評估該模塊在系統運營中所處的環境,將要受到的負荷壓力以及各種潛在的危險
和惡意攻擊的可能性。就這一點,一個成熟的程序員至少需要2到3年的項目研發和跟蹤經 驗才有可能有心得。
5:復用性,模塊化思維能力
經常可以聽到一些程序員有這樣的抱怨,寫了幾年程序,變成了熟練工,每天都是重復寫 一些沒有任何新意的代碼,這其實是中國軟體人才最大浪費的地方,一些重復性工作變成 了熟練程序員的主要工作,而這些,其實是完全可以避免的。
復用性設計,模塊化思維就是要程序員在完成任何一個功能模塊或函數的時候,要多想一 些,不要局限在完成當前任務的簡單思路上,想想看該模塊是否可以脫離這個系統存在, 是否可以通過簡單的修改參數的方式在其他系統和應用環境下直接引用,這樣就能極大避
免重復性的開發工作,如果一個軟體研發單位和工作組能夠在每一次研發過程中都考慮到 這些問題,那麼程序員就不會在重復性的工作中耽誤太多時間,就會有更多時間和精力投 入到創新的代碼工作中去。
一些好的程序模塊代碼,即便是70年代寫成的,拿到現在放到一些系統裡面作為功能模塊 都能適合的很好,而現在我看到的是,很多小公司軟體一升級或改進就動輒全部代碼重 寫,大部分重復性工作無謂的浪費了時間和精力。
程序員應具備的素質中
6:測試習慣
作為一些商業化正規化的開發而言,專職的測試工程師是不可少的,但是並不是說有了專 職的測試工程師程序員就可以不進行自測;軟體研發作為一項工程而言,一個很重要的特 點就是問題發現的越早,解決的代價就越低,程序員在每段代碼,每個子模塊完成後進行
認真的測試,就可以盡量將一些潛在的問題最早的發現和解決,這樣對整體系統建設的效 率和可靠性就有了最大的保證。
測試工作實際上需要考慮兩方面,一方面是正常調用的測試,也就是看程序是否能在正常 調用下完成基本功能,這是最基本的測試職責,可惜在很多公司這成了唯一的測試任務, 實際上還差的遠那;第二方面就是異常調用的測試,比如高壓力負荷下的穩定性測試,用
戶潛在的異常輸入情況下的測試,整體系統局部故障情況下該模塊受影響狀況的測試,頻 發的異常請求阻塞資源時的模塊穩定測試等等。當然並不是程序員要對自己的每段代碼都 需要進行這種完整測試,但是程序員必須清醒認識自己的代碼任務在整體項目中的地位和
各種性能需求,有針對性的進行相關測試並盡早發現和解決問題,當然這需要上面提到的 需求理解能力。
7:學習和總結的能力
程序員是人才很容易被淘汰,很容易落伍的職業,因為一種技術可能僅僅在三兩年內具有 領先性,程序員如果想安身立命,就必須不斷跟進新的技術,學習新的技能。
善於學習,對於任何職業而言,都是前進所必需的動力,對於程序員,這種要求就更加高 了。
但是學習也要找對目標,一些小coding fans們,他們也津津樂道於他們的學習能力,一 會學會了asp,一會兒學會了php,一會兒學會了jsp,他們把這個作為炫耀的資本,盲目 的追逐一些膚淺的,表面的東西和名詞,做網路程序不懂通訊傳輸協議,做應用程序不懂
中斷向量處理,這樣的技術人員,不管掌握了多少所謂的新語言,永遠不會有質的提 高。
善於總結,也是學習能力的一種體現,每次完成一個研發任務,完成一段代碼,都應當有 目的的跟蹤該程序的應用狀況和用戶反饋,隨時總結,找到自己的不足,這樣逐步提高, 一個程序員才可能成長起來。
㈨ 程序員到底有多累,多辛苦
程序猿有多累,這個問題從三類人的視角進行分析:
一個是作為程序猿本身的自己,程序猿在不同階段會有不同的感觸
上學階段:時間是自己安排的,執拗時自己研究通宵達旦也不覺得累,即使累了也知道自調節,也有時間自己調節,所謂吃了睡,累了睡,想幹啥幹啥,那就是大學,程序猿基本對累沒感知
剛畢業兩三年內:初生牛犢不怕虎,剛畢業,絕大部分工作努力,一方面是工作與學習有很大不同,為了完成任務需要加班加點,剛畢業年少經常加班也不會累,畢竟還有精力;另一方面是為了成長,這種來自內心主動性的驅動力會讓程序猿感覺不到累。本寶寶剛畢業那會,項目上線天天加班到凌晨後,不上線的日子裡白天測試項目,晚上自己學習搞自動化,星期天也是趴在電腦前,完全就是靠著內心的驅動力驅使,那段奮斗的時光並沒有感覺多累
有了兩三年工作經驗後:不得不承認,我現在就是這個階段,連續一周凌晨多回家身體感覺疲憊,身體的每個細胞都在告訴程序猿自己已不再年輕,當你連續加班時,在明亮的辦公室里會感覺很困,不會介意那光的強烈,不會想起自己需要再熄燈的情況下睡著;而當項目終於上線,晚上早點回家,那種積蓄了N久的勞累疲憊感會一下子湧上來,一坐上班車就睡著,到目的後人都走了才醒來,然後走一段到地鐵站,地鐵上站著就能睡著,默默的站著睡著還錯過站,在那一刻你會知道自己有多困,看著地鐵里腳步飛快的人,明白原來這就是北京。回答家,扔下電腦包,啪的一下趴在床上,那種暈乎乎的感覺彷彿一下子就能睡著,但是當身體整體躺在床上的時候,不敢睡,為啥,想起了一個RD leader說的話:真怕一下子睡著了,就永遠起不來了。剛畢業的兩年內我倒頭就睡不會想這些,但是在工作久了,身體不如年輕時,那種累真的會讓自己覺得睡了就不會再起來。每一次項目上線都是這樣,這就是程序猿的累;程序猿經歷了下圖似的進化過程,
㈩ 對象是程序員是一種什麼樣的體驗
程序員一直被人們調侃成「程序猿」,他們一直給人的印象就是智商無敵,情商堪憂,薪資驚訝,加班驚嘆。對於這樣的認知,我還是不敢苟同,我接觸過幾個程序員感覺和正常的人沒有多大差別,並沒有那麼神秘,有時講的段子會讓你笑掉大牙,所以說有個程序員對象還是蠻不錯的,但是劣勢也很明顯。
魚和熊掌不能兼得,既然選擇了程序員作為對象,那就多看他的優點,包容行業的缺點,那幸福就會一直陪伴左右。