⑴ 請問做程序員好嗎,為什麼有那麼多人叫程序員為碼農,到底做程序員好不好
什麼工作都是興趣所致,你要有興趣就行。不過程序員確實是個體力勞動,因為告訴你一個規矩,就是完成一個程序的代碼,越快,你拿的錢就越多,這樣就會導致很多加班,任務多的時候就是高負荷了
⑵ 什麼叫程序員
程序員(英文Programmer)是從事程序開發、維護的專業人員。一般我們將程序員分為程序設計人員和程序編碼員,但兩者的界限並不非常清楚,特別是在中國。
作一個真正合格的程序員,應該具有的素質。
1:團隊精神和協作能力
團隊精神和協作能力是作為一個程序員應具備的最基本的素質。軟體工程已經提了將近三十年了,當今的軟體開發已經不是編程了,而是工程。獨行俠可以寫一些程序也能賺錢發財,但是進入研發團隊,從事商業化和產品化的開發任務,就必須具備這種素質。可以毫不誇張的說這種素質是一個程序員乃至一個團隊的安身立命之本。
2:文檔習慣
文檔是一個軟體系統的生命力。一個公司的產品再好、技術含量再高,如果沒有缺乏文檔,知識就沒有繼承,公司還是一個來料加工的軟體作坊。作為代碼程序員,必須將30%的工作時間寫用於技術文檔。沒有文檔的程序員勢必會被淘汰。
3:規范化的代碼編寫習慣
知名軟體公司的代碼的變數命名、注釋格式,甚至嵌套中行縮進的長度和函數間的空行數字都有明確規定,良好的編寫習慣,不但有助於代碼的移植和糾錯,也有助於不同技術人員之間的協作。 一些所謂的高手甚至叫囂高手寫的代碼一般人看不懂,我只能說他不是一名合格的程序員。
4:需求理解能力
程序員要能正確理解任務單中描述的需求。在這里要明確一點,程序員不僅僅要注意到軟體的功能需求,還應注意軟體的性能需求,要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。
5:模塊化思維能力
作為一個優秀的程序員,他的思想不能在局限當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。這樣做可以使代碼能重復利用,減少重復的勞動,也能是系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。
6:測試習慣
測試是軟體工程質量保證的重要環節,但是測試不僅僅是測試工程師的工作,而是每個程序員的一種基本職責。程序員要認識測試不僅是正常的程序調試,而要是要進行有目的有針對性的異常調用測試,這一點要結合需求理解能力。
7:學習和總結的能力
程序員是很容易被淘汰的職業,所以要善於學習總結。許多程序員喜歡盲目追求一些編碼的小技巧,這樣的技術人員無論學了多少語言,代碼寫起來多熟練,我們只能說他是一名熟練的代碼民工,他永遠都不會有質的提高。一個善於學習的程序員會經常總結自己的技術水平,對自己的技術層面要有良好的定位,這樣才能有目的地提高自己。這樣才能逐步提高,從程序員升級為軟體設計師、系統分析員。
⑶ 為什麼計算機從業者多被稱為程序員,而不是工程師
隨著經濟不斷發展,現在電子類物品層次不窮,那麼在電子類物品層次不窮的過程中,也就意味著會衍生出很多計算機行業的人才。可是在日常生活中,為什麼計算機從業者總是被稱為程序員而不是工程師?
對於工程師來說,在日常生活中可能需要做到:計算機的程序設計員、軟體測試師、系統的分析師、軟體項目的管理師、系統架構設計師、網路的工程師、網路建設的工程師、計算機操作、信息系統安全師、信息系統管理師、信息系統監理師、信息系統評估、資源開發與管理人員、信息系統設計人員等等。所以每天的職責還是比較繁重的。
⑷ 人們通常管程序員叫什麼
碼農。
程序員(英文Programmer)是從事程序開發、維護的專業人員。一般將程序員分為程序設計人員和程序編碼人員,但兩者的界限並不非常清楚,特別是在中國。軟體從業人員分為初級程序員、中級程序員、高級程序員(現為軟體設計師)、系統分析員,系統架構師,測試工程師六大類。
⑸ 為什麼中國的程序員總被稱為「碼農」
對於一些貶義的說法,個人認為作為一個程序員應該保持「誠意開張聖聽,不要妄自菲薄」的態度。
程序員一直以來看哪個是別名最多的一個職業,我姑且不分褒貶的稱之為你才吧!就像小學的時候一樣,相互之間往往喜歡區別名叫昵稱之類的,而又往往外號叫的最響小名最多的就是最受關注的哪一個,程序員在當今網路上的處境大抵如此。
碼農這個詞米偶遇仔細研究過來源。參考其他人的回答知中文中的碼農大體相當於英文中的code monkey。程序員碼農說法的由來大概來自於程序員圈內自嘲的說法。這里程序員對碼農的更多理解可能更接近coder這個詞,就是說我是一個寫代碼的。可能會有人以此來明志,表面自己很熱愛寫代碼,或我很精通以此,再或者言外之意我只是一個寫代碼的,別來找我給你裝系統修電腦什麼的,我最煩這個了(ノ`Д)ノ。
程序員這個行業知名度雖然高,但是正在了解程序員是做什麼的人並不多,大多數人直觀臆想出來的感受可能是一個座在電腦前,後背前傾,頸脖前伸,面容憔悴,形容枯槁,兩眼無關緊盯著電腦,兩只雞爪子似的雙手快速的在鍵盤上敲擊,屏幕快速出現一行行一塊塊英文字元的形象。這其實只是程序員的表面,完全米有展現出大多數程序員的內在。程序員真正的工作是解決問題,代碼只是解決問題的途徑,或曰實現方案。
程序員究竟解決什麼問題呢,又是從哪裡來的問題呢?首先要提到產品經理,產品經理給成員一個需求,程序員要思考如何實現這個需求。比如產品說這個登錄過程應該這樣這樣,用戶是否有通過手機或者郵箱驗證。程序員要做的就是想方案來實現這個需求。在比如產品說我們這個網站要同時支持多少人訪問不會出現卡,或者頁面刷不出的情況。程序員接到這個需要就要思考如何設計這樣一個高性能,高並發的服務端,最終通過代碼來實現設計。好,現在代碼寫完啦,產品發布上線了。什麼購物網站啊,大家可以隨意挑選自己喜歡的產品,什麼交友網站啊,大家可以寫好自己的介紹發布出去讓別人看到。但是還米有完,可能這個網站還要加點新功能,或者程序員自己也想,這個代碼有沒有什麼地方實現的不好,換一個方法會不會更優雅。然後又是思考解決<=實現方案<=線下測試。自己測試發現可以,這個方法很好,發布到線上,就是用戶最終使用的形態。不斷提出新需求,完善新的功能我們稱之為迭代。改善現有設計我們稱之為重構。這些都是非常有藝術感的事!
事物發展就會演變出各種變體,有一些公司會把問題和解決問題的方法都做好,然後再交給其他公司或者個人去做實現(寫代碼)。由於在這里解決問題的過程被剝離出來(最有技術和藝術感的部分)剩下的就是實現,就是敲代碼。好比建一棟房子,房子的設計和施工方案都已經做好了,就剩下施工了,這時候只要找個施工隊就可以了。在這些做設計的公司,他們是有能力來實現這些方案(敲代碼)。但由於歐美日等國家人力成本高,將這些技術含量低敲代碼的苦活兒剝離出來交給相對落後地區的人去實現可以幫助他們節省人力成本。以上這個現象就稱之為軟體外包。另一方面,在美國主導的全球生產分工下,美帝也希望將中印這樣的發展中國家固定在低端製造,勞動秘籍型的行業。
既然程序員是解決問題的,那麼是否所有電腦相關的問題程序員都能解決呢?縱向來看,計算機系統可以簡單的分為三層,應用程序<=操作系統<=計算機硬體。計算機硬體的設計研發基本和程序員無關。硬體往上就是程序員的職責范圍了。這是可以簡分為應用軟體程序員和系統軟體程序員。系統程序員的責任是實現高效的硬體管理,應用程序員則是為用戶提供高效的服務。下面說說在這兩方面和國外的差距,手機端應用軟體(有服務端的包括服務端)差別不大,大家從自己手機中軟體就能感覺到。PC端有差距,比如人家有PS這樣的圖片處理軟體,而我們則沒有。在這方面人家發展了幾十年我們年數不夠,有差距還是可以理解的。但我輩當發奮努力,以追他人之先。另外應用程序web化應該是趨勢,這方面我們還是有優勢的,對於普通用戶來說最直觀的體驗就是不用裝很多軟體了,只要有一個瀏覽器就行。在操作系統層面,PC如Windows,伺服器如Linux。Windows微軟獨家擁有的閉源系統,不說。Linux內核開發來講國內正在迎頭追趕,內核的郵件中中文拼音的人名越來越常見,越來越多的國人加入到Linux內核的開發中。
⑹ 為什麼叫程序員碼畜,碼奴,碼農呢
說起這個問題,我也有點淡淡的憂桑;畢竟我現在也是程序猿,雖然我是從其他專業轉行過來的,並且深知對我們程序猿的黑已經不是一天兩天了,有必要看到這樣的言論的時候站出來聲討一下。
程序猿這個行業,其實雲集了一群高智商,純腦力勞動者;因為他們的工作性質,所以很多程序猿或許是天生,或許是後天,塑造的性格就是話少、內向、孤僻、老實、悶騷等性格。所以程序猿給外行人的感覺就是溝通困難、加班多、屌絲男宅男、不合群、不注重形象等。
我已在程序猿這個群里摸爬滾打三年了,至少已經很清楚這是一個什麼行業,什麼群體了。
我不得不承認我們這行業確實存在很多如果前面所說,性格內向、孤僻、溝通困難的人,也有一些公司存在加班多等不良現象;但是放眼看看其他行業,難道就沒有這些性格的人、和這一類的公司嗎?NO,答案是否定的;看看外面大熱天在工地上幹活的人,看看新聞報道在礦井冒著危險工作的人,看看一年大部分時間在窮鄉僻野挖石油的人,想想那些在工廠一天工作12小時的人,再想想靠天吃飯的農民們;請問程序猿,你還會為那一點點黑二感到自卑嗎?
同樣在這個行業這個群里中,我也發現不少性格陽光開朗,幽默豁達的人;好吧 我就是其中一個 哈哈;也有不少愛健身愛旅遊愛時尚的人,當然不少領導名人出自我們這個群體;比如網易的創始人 丁磊,大學畢業也是敲了好多年代碼,做了好多年碼農才有的網易,成為互聯網大佬;還有顏值堪比明星的李彥宏,網路的創始人;還有很多很多。
最後想告訴那些黑我程序猿的人,每個行業都有優劣處,不要總是拿別人的不好到處黑,不是我們不想澄清,而是我們忙著做大事,懶得很七嘴八舌的跟無聊之輩理論,浪費時間。
⑺ 軟體工程師與程序員的區別
軟體工程師它是一個廣義的概念,它包括程序員這個崗位。再說明白一點就是程序員也可以叫做軟體工程師,但是軟體工程師不只有程序員一個崗位。