A. 作為一個程序員,我是怎麼樣月薪三萬的,經驗啊經驗
我出身在一個普通家庭,家庭條件一般。從小時候起,我就發誓,長大後一定要出人頭地,讓家裡過上好日子。從小好好學習,終於考上了重點大學。最近計算機很熱門,聽說賺錢也挺多的,我對計算機也比較感興趣,於是大學就報了軟體工程專業。
大家都知道軟體行業很辛苦,需要學很多東西,而且需要不停地去學習,因為新的技術發展的太快。於是,我認真聽課,其實最重要的是要理論和實踐結合,於是我就經常泡在機房裡做實驗。干程序員這一行,首先必須得精通編程語言,C++、java、C#我都有涉獵,Ruby這樣的腳本語言我也嘗試過。數據結構這門課也很重要,各種演算法、結構 必須瞭然於胸。我平時也比較留意一些公司的招聘,注意到很多公司對linux下的編程經驗都有要求,於是我要自學了linux,自己也做了一些小應用。後來一個老師感覺我不錯,讓我跟他在實驗室幫他做項目。在實驗室里我學到了很多,實驗室里各種大牛,為了不脫後腿,我唯有更拚命的努力。順便說一下,程序員是很辛苦的,以後上班了幾乎每天都在電腦前,沒有好的身體很難堅持下去。我每天晚上都堅持去操場跑步鍛煉身體。跑步的時候可以想想今天學到了哪些東西,規劃一下最近幾天的打算,其實對學習也是很有幫助的。大四了,憑借我扎實的基礎和豐富的項目經驗,我成功的進了華為。我們學院這么多人去,只錄了兩個,我很驕傲。
華為的工資還不錯,不過就是太累了,經常晚上加班,周六周日加班(而且不給加班費)。雖然工資還可以,但是在大城市裡也只夠平時消費,物價太貴,每個月也余不了多少錢。我想,我一定要好好乾,爭取多拿點年終獎,甚至升職,我給自己定了個目標,三年內升項目經理。每天我的生活很固定,公司———租房,雖然很辛苦,我相信總有一天我會成功的。畢竟華為里人才太多,要想在這里嶄露頭角,必須比別人更努力。工作很緊張,甚至上廁所的時候都在想bug怎麼解決。有一天,在廁所的門上,看見了一個廣告:招男女公關,情感陪護,月入過萬不是夢。於是我打了電話去,憑借我大學時每天跑步鍛煉出的好身體,我每個月賺3W以上很輕松。
B. 在讀文科生通過自學成為程序員,應該怎樣准備
想通過自學成為程序員,那你首先要做的就是看一些計算機入門類的書籍,然後網上搜一些別人的自學經歷,看看別人都看了哪些書,然後你可以照做。現在網路教學資源很豐富,也有很多免費的,你可以網上找找,也可以加一些類似的群,或者泡類似的論壇。
C. 文科生如何轉行當程序員考研是最好選擇嗎
考研是最好的選擇,當要考就要考好學校,畢竟文科出身,干程序員的話背景就比別人差了點,就像理科生去干文員一樣的背景也不好,最好考個985,這樣能彌補你的背景,加油哦!
D. 90後二流大學程序員自述:從「菜鳥」到「辣雞」,我到底經歷了什麼
程序員高手和菜鳥,不僅僅是技術上的差距,還體現在習慣、經驗、看問題的角度等各個方面。
1.代碼規范:代碼寫得不好,其實一眼就能看出來;比如代碼裡面的各種命名(包、類、方法、變數等等)。在最初寫程序的時候,很多人都會起沒有含義的變數命名,比如 String str;其實我們完全可以把變數名稱起成帶業務含義的,比如在運用中慢慢發現用String username我們會越來越熟練,寫的也越來越好。
E. 文科生如何轉行當程序員
要經過一個專業的培訓就可以。不過要看個人,並不是每個文科生都適合當程序員,要有一定的基礎。
F. 如何成為一位軟體設計師(文科)
每天都要收到很多的朋友來信。有不少的網友經常問我:面對眾多的開發工具/語言,我該選擇哪一個?怎樣才能學好一門語言?怎樣才能算是一個真正的程序員?……
其實我也就半吊子水,很多時候亦是半懂不懂。我學電腦全是靠自學的,沒有人教,也沒有人問。因此走了不少彎路。當然現在看來,那些走過的彎路也算是一種積累。我所使用的開發工具是這樣一個經歷:GWBASIC->FOXBASE->TC->VFP->VB->PB->DELPHI->VC++。總的說來,各種開發工具各有鞦韆,應根據具體應用來採用不同的工具。例如寫MIS用PB/VB就很好,界面設計用VB/Delphi很不錯,寫系統軟體,用C/C++是最好的。對於初學者來說,先用一種可視化強的工具(如VFP/VB/DELPHI)比較好,容易掌握,上手也快。但如果你想走更深入一引起,我建議你還是很有必要去精通C,甚至匯編。
有人說,C/C++太難學了,開發效率也不高。我先不說C/C++優越於其他語言的地方(這在很多的資料中都有介紹),就單從一個很功利的角度來說說。Delphi/ VB對於一般人來說學上幾個月就可以上手了。易學的東西學的人肯定多。而對於C來說,由於它難掌握,學的人不火,但一旦你真正掌握了,你的競爭實力就比其他人強。現實中,C程序員的工資普遍高於其他程序員就是一個證明。
那麼,怎樣跨越程序新手這道坎呢?下面這幾點建議也許對你可能有些幫助:
1. 遇到問題時從所有你能想到的方面考慮去試圖解決;
2. 一定多動手,學一個專題(如網路/多媒體)後寫一個軟體檢驗自己;
3. 有幾本關於內幕核心權威書,最好是老外寫的;
4. 用好聯機文檔(如MSDN)查詢函數和資料,利用網路資源;
5. 掌握好的跟蹤調試技巧,多看一些高手的程序,從本質上理解;
G. 文科生轉行學Java開發好嗎
文科生是可以轉行學java開發的。但是最好能找一個好一些的培訓班,你越早的學會,也就能夠更快的入行,通過培訓機構來降低你的時間和投入成本。千鋒教育就有線上免費Java線上公開課。【更系統全面的學習資料,點擊查看】 大部分培訓班學員學習四到六個月的時間就可以找到一份不錯的工作。而且培訓機構有系統的教學體系和經驗豐富的講師,會容易很多。但是要注意的是java屬於新興行業,行業標准不規范,各種培訓機構水平參差不齊。有一些不責任的培訓機構,雖然給出了就業承諾,但就什麼樣的「業」卻是有很多可能的,而且學員的就業率與老師薪酬掛鉤,無論怎樣都會讓學生就業。我們在選擇java培訓機構的過程中,最好能夠進行實地考察,進行細致全面的了解,試聽Java課程,看自己能否聽懂老師所講的內容,並且進行多家對比,從中選出適合自己的,那就是最好的。如果想了解更多相關知識,建議到千鋒教育了解一下。千鋒教育目前在18個城市擁有22個校區,年培養優質人才20000餘人,與國內20000餘家企業建立人才輸送合作關系,院校合作超600所。【千鋒IT培訓機構,熱門IT課程試聽名額限時領取】
H. 非958,211出身的程序員是一種怎樣的感受
學歷很重要!敲門磚很重要!
親身感受如下:
朋友211本科非計算機專業畢業,去了建信金科,絕對的不加班,除非你想加班。
逢年過節購物卡,每月福利不中斷,一日三餐16薪。
我也想去,談不上養老,但是也能爭取工作生活平衡,再也不用996,朋友遂和HR推薦我去,HR問學歷如何,非985、211,沒機會聊。
翻看一下聊天記錄:
所以,學歷還是很重要的,以後對自己的孩子說:一定要多讀書!不讀書打爛他的屁股,哈哈。。。
另外,我們這幫低學歷的程序員才能體現互聯網的平均工資,不要看那些大廠校招生年薪上來就40w+,他們都是清華、北大、北航、北郵等名校畢業的,中國最優秀的一批人,大部分程序員都在小公司、外包廠一年掙個二三十萬。
不扯淡了,這會兒我還在擼代碼!
首先,我是一個在上海工作六年多的女java程序員,學歷一般,並沒有在大廠的工作經歷。都是在一些大中小企業上班,也算工作經驗比較豐富了。當然我也遇到過身邊的同事是985博士的,是做演算法的,非常厲害,工資也相對非常高。因此我也很羨慕那些學歷高的程序員。
一般而言,大廠都喜歡學歷高的程序員,像我這種學歷一般的在選擇公司時確實有一些局限性,當然在要薪資方面我也會相應降低自己的期許。我也相信,大部分程序員並沒有那麼高的學歷,我們的程序員在普通公司遇到985學生就是本身內心就會覺得別人高人一等,雖然不知道對方技術,但是內心就會覺得自己在各方面比不上對方,有一種天生的自我暗示感。
我們這群普通程序員當然也想進入更好的公司,但是更好的公司卻有著非常嚴格的篩選流程,普通程序員很難能進入這樣的公司。比如,騰訊華為,除了校招進去,其他時候人家根本不對外招聘,更多的是靠獵頭推薦,或者公司內部人員內推,或者即使招聘,學歷卡的非常嚴。而且也要有更漂亮的履歷。如果你本身有大廠經驗那就更容易了。同時,你也需要有穩定的工作經歷,不能讓hr覺得你跳槽頻繁沒有忠誠度,簡歷的真實性要求非常高,更重要的,需要你能通過背景調查。
但是眾所周知,IT行業跳槽漲薪是非常普遍的,很少有程序員能呆至少2年以上,就是因為變現很快,所以有很多培訓機構或者自學成才的程序員也不斷涌現出來,導致現在競爭力非常大,魚目混雜。
我這種普通的程序員只能望而興嘆,好的企業進不去,只能在中小型企業摸爬滾打。當然我也很羨慕大廠的核心技術,但是自己也清楚自己很難進去,總之,很多時候並不是所有的事情都能如願,有時候哪怕你的技術再好,沒有高學歷,沒有大廠經驗,沒有人員推薦,沒有足夠的漂亮履歷,我基本和大廠無緣。而這些985.、211的學生毫無疑問比我們更有資格和捷徑能通過大廠的面試,我們只能羨慕嫉妒恨了!
但是我們就沒有機會再進入 大廠嗎?我覺得還是有機會的。我們可以通過其他自考或者其他方式提升自己的 學歷,可以通過不斷沉澱讓自己積累更多更新的技術,可以通過一切自己能做到的事情讓自己變得更有競爭力,一切都還是靠我們自己本身的 努力了 !加油吧,我們這群普通程序員!
應聘的時候學歷幾乎決定了一切,但是工作多年,有了經驗之後,那就無所謂了,程序員這一行相對還是比較公平的,你的能力最重要。
最真實的感受就是:這塊敲門磚太輕了,簡歷總是會石沉大海,即使我身懷絕技,但是始終敲不開對方的門!
以下內容純屬自身經歷,絕非杜撰。
我誤打誤撞被調劑到了計算機科學與技術學院的,從此開啟了我准程序員的生涯。既然已經被調節到這了,那就好好學一些技術,畢竟自己也還比較喜歡,最起碼不排斥。
因此,大學四年我一直很注重專業課的學習,每天都會在專業課上花三四個小時時間,四年下來我的專業水平說不上特別好,但是絕對不是很差,我自認為稍微努把力,再加點運氣,進一些大廠問題應該不是很大。我的自信不是盲目的,因為我除了學習之外,社團,班幹部, 社會 實踐,比賽經歷,項目經歷這些有的我都有,可以說簡歷相當豐富了。
但是現實給我狠狠的一拳,臨近畢業時,我投過n多家公司,但是投了簡歷大多都石沉大海,有些也會給你一次面試機會,但是面著面著就沒有然後了…
我曾經反思過自身問題,可能是項目經歷不是太豐富,或者我的方向和他們崗位不對口等等諸如此類的問題我都想過,但是都不是正確答案。不服輸的我在有一次投完簡歷石沉大海以後,我就給HR打了電話,結果給我的答案是我的簡歷沒有篩選過,他們更想招211及以上的人。其實這都是大多數公司的套路,他們宣傳的時候說的都是對出身不設門檻,只要有技術就可以,但事實是他們優先選擇211及以上學校的學生簡歷,如果還有名額才有可能輪到你…
其實第一個HR說我的簡歷沒通過篩選,我還不太信,直到第二個HR這么說了之後我才相信了。自認為很好的簡歷在人家眼裡就是不值得,但我又只想一門心思的進大廠,不去小廠,於是我又選擇了考研並順利考上某西部985,我認為只要我考上985研究生,我進大廠應該就很容易了,然而從我身邊師兄師姐的經歷來看,本科非211/985出身的師兄師姐想進大廠也並非那麼容易…
現在學歷有了,但是第一學歷仍是短板。所以一句話:學歷很重要,第一學歷更重要!
當然以上都是我個人經歷,如果你就想隨便去一個互聯網公司,那還是挺容易的,工資還算不錯,但你想去大廠,這些問題你也會碰到。
首先承認排名靠前高校的地位,其畢業生在市場競爭中先天處於優勢。不僅有學校影響,也有畢業生進入市場後所提交的結果反映。師資、環境、人脈、成長度、反哺等一系列積極的綜合效應造成了市場選擇。
不過對於學生來說,好學校是當初的目標不假,但沒去成也要好好活下去吧。所以貓有貓道,鼠有鼠道。改不了環境的時候,就努力改變自己。
作為一個正在迅猛發展的行業,IT散發著及其誘人的荷爾蒙。具體原因不說了,話題多得很。
在IT這個市場里,有各種崗位,這些崗位里,各學校畢業人員分布是有規律的(去除央企和國企),比如演算法崗,名校研究生特別多,也有不少數學進來的;程序崗,本科占據絕大部分;測試崗,初始要求不是特別高,從業者有很多大專生;運維崗,沒深入了解,不做概括。各崗位再細分那就更多了。
有時候大家求的都不是一個崗位,就沒有競爭一說。所以,在自己現有的崗位內,好好乾,多學多思考多實踐,一般都能混的差不多。不要好高騖遠,也不要妄自菲薄,畢竟各個崗位都有大牛貓著(個人以前也是無知,後來碰到了一個大專畢業的碼農,被其瘋狂打臉)。
人都只能活一次,誰能比誰高貴到哪去?未來很美好,給自己一個具體且能實現的目標,不要太多慾望,也別渾渾噩噩,按部就班做,熱愛生命,熱愛家人,臨死無愧就差不多了。
個人技術不到家,就不推薦技術棧了,總之一句話:加油,積極面對生活!
雖然說招人才尤其是程序員,主要靠能力,但是在大公司的加入門檻上,還是會有一定的限制,也就是會卡學歷。但是這東西有兩面性,公司也有自己的考量,在相對占優勢的候選池裡挑選人才,畢竟找到的合適人才概率高一些,但並不否定非名牌高校出身的優秀人才。
對於工程師自身來講,最關鍵的還是要把自己的能力提高上去,尤其是基礎性的專業能力,還包括演算法、數據結構,基礎的掌握程度以及演算法此類的熟悉程度,才能把一個人從平庸提升到優秀。
當下,不缺工程師,稀缺的是足夠優秀的。
程序員本身是一個新的職業,大概是2000年以後才有的最早一批程序員,隨著互聯網的發展大量的程序員湧入市場,培訓機構每年製造大量的程序員。所以很多非名校畢業的程序員,至於這些程序員怎麼感受,我覺得有兩點:
第一:需要努力提升技能,因為這是吃技術飯的行業,優秀的程序員應該是熟悉架構,理解演算法的,不應該只是搬運工,想好好發展下午就必須會架構演算法這些技能。
第二:所有技術都是為業務服務的,要想不被淘汰,需要熟悉你所在行業的業務知識,技術是一部分,業務知識更加是你的加分項。
額,現在的感受就是可不可以重新考一次大學,要不要考個研究生。
坐標廈門。
人才引進補貼本科只有985,211可以享受。
有些企業明確要求只招要985,211。
像在福建美圖和華為這些大企業只去福州大學(211)和廈門大學(985)招聘。
公司裡面優先提拔985,211的同事。
所以你問我什麼感受,直觀感受跟很不爽[我想靜靜]
然後後悔當初沒有好好讀書多考幾分[捂臉]
果然本科只有兩種,一種是985、211。另一種是其他本科[淚奔]
所以努力讀書吧少年!
I. 一個程序員所要經歷的步驟
程序員應具備的12種能力
畢業四年來,感覺自己也是從一名不合格的程序員一步步走過來的。回頭反思一下,合格的程序員有很多標准和要求,下面是我總結的一個合格程序員應該具備的12種能力。中國軟體行業的崛起,靠的是合格的程序員。任何華麗的管理制度都不能保證軟體項目的成功交付,合格的程序員就是有力的保證,是項目成功的基礎。寫下這些,是為了給剛剛進入程序員這個職業的新同學們一點參考。我一直以為,當程序員是很辛苦的,如果不是真正的喜歡,很難堅持下去。如果真的不喜歡這個職業,也該尊重這個職業,尊重自己,趕緊改行。
1. 編程語言能力
不用多說,作為合格的程序員,精通一門語言是必須的。這種精通,不是說看了一本《24小時精通XXX》,抄了幾個程序就能說精通的,要靠長時間的積累和浸淫。
2.編碼能力
我曾經看多很多程序員寫的代碼,在同一個jsp或者java源文件里,出現了三種以上的對方法的命名方式,有下劃線間隔的,有全大寫的,有拼音首字母的。就像一個菜市場,雜亂無比,估計10天後,他自己都無法看的懂。遵守編碼規范,是一個程序員最基本的要求,可悲的是,很多程序員根本沒有意識到這個問題的嚴重性。隨意堆砌網上搜來的代碼,根本不管可讀性和可維護性,只要能實現功能就行了,心想做完這個項目,就拍拍屁股走人了,缺少最基本的職責素養。我經常把代碼必須成程序員的孩子,你就是是孩子他爹,孩子他媽,是有感情的。對你自己的孩子,你能不仔細呵護嗎?你是稱職的父母嗎?這是我編寫的一個Java編碼規范,供大家參考,這里可以下載http://gurudk.javaeye.com/blog/111734
另外一個就是注釋,要注意不是為了注釋而注釋。對類,以說明職責為主;對方法,以說明意圖為主;對方法體,以說明實現思路為主。對於大段大段的代碼,要分段,使用空行隔開,並使用行內注釋進行說明。
思維的條理性,寫代碼之前,先簡單計劃一下,用自然語言把流程寫下來,用於整理實現思路。不要看了需求或設計之後,馬上就敲代碼了,敲完代碼馬上就debug。花點時間思考,敲代碼只是最後一個很簡單的工作,不要把自己變成一個代碼打字員,編寫邊想,寫了刪,刪了寫。安安靜靜把實現過程想清楚,在腦子里先實現一遍。再去敲代碼,水到渠成。
3.面向對象思維能力
如今,多數編程語言都是面向對象的編程語言。而這些面向對象的編程語言的共同的精髓就是面向對象的思想。掌握這些比面向對象語言本身更重要,比如對繼承,多態,重載的理解。對面向對象基本原則的理解,比如開閉原則,介面隔離原則,單一職責原則等。在此基礎上,應該掌握常用的設計模式,比如工廠模式,策略模式,觀察者模式,模板方法模式,命令模式等等。我面試過很多程序員,沒有一個能說得上幾句的。
4.利用工具能力
工欲善其事,必先利其器。有了趁手的傢伙,工作效率可以提升數倍。你編程序,有沒有選擇一個很好的IDE,以前聽說編程高手都用記事本寫程序,我覺得那是一種自虐。就像以前看到的一篇文章,說一幫戶外旅行愛好者,出去旅遊,背了重重的旅行包,裡面裝著什麼壓縮餅乾等快速食品。他們寧可就著礦泉水啃壓縮餅干,也不肯去1里路都不到的快餐店,農家菜館吃飯。工具是為目的服務的,好用,提高效率就行,形式無所謂。
另外一個常用的工具就是日記本,好聽點可以稱為知識管理工具,我用的是myBase,感覺非常好用,在之前,我的所有的片段內容都是記錄的單獨的文本文件里的,非常不好找,管理也很混亂。
經常上互聯網,看到好多好的資料想保存下來,作為日後查看之用.一開始,我用的是firefox自帶的書簽,但是自己分類太累,多了之後不便於查找,很麻煩。後來用了得樂書簽(del.icio.us)的firefox插件,非常方便,現在成為了我必備的一個工具。
還有一個最重要的工具就是搜索引擎了,我裝了google forfirefox插件,感覺不錯,還有英文翻譯功能。按照我同事的說法,內事用,外事用google。很多技術資料都是英文的,用google搜索效率高一些。搜索引擎用好了,就等於打開了一扇通向知識寶庫的門,使用搜索引擎,關鍵字選擇很重要。
經常去瀏覽大牛的blog,逐個網站訪問很麻煩,去看了又可能沒有更新,可以藉助於RSS訂閱工具,我是用iGoogle桌面工具,每天早上花半個小時掃一下,大牛的最新文章盡收眼底了。
5. 英語能力
新的技術資料都是英文的,英語國家的IT技術走在我們前面至少10年(這是我自己估計的數字,可能正在縮小)。就連印度,一個連基礎設施建設都不太完善的國家,因為其英語基礎較好,其在軟體外包領域的發展也非常迅猛,遠遠超過了我們。學英語,首先是有信心,其次就是花時間。多閱讀英文資料,使用金山詞霸,google的firefox插件等工具配合,貴在堅持。
6.學習能力
在IT也混飯吃不容易,整個環境進化的太快,你不學習,就等於落後了。學習要有針對性,別今天學ruby,明天學python,後天php的。首先要認清自己的目標,自己短期目標是什麼,1年後,3年後,5年後的目標是什麼。結合這些目標,確定自己的學習計劃,人的精力畢竟是有限的。當然,多掌握幾門編程語言也是好的,可以擴充自己的知識面,重要的是為自己的目標服務。
要想系統的學習一門技術或工具,看書是最好的方法。看完後,然後上網找相關資料,進行深入學習。學習要抓緊一切可以利用的時間,比如電腦啟動要花1分多鍾,旁邊放一本書,可以看上幾頁了。公交車上,地鐵上也可以看。
當然,不能只學習技術,要經常聯系自己的軟技能,比如溝通能力,表達能力。你可以把自己學到的東西,解釋給自己的同事聽,既加深了理解,又增進了同事之間的交流。學習的最高境界就是你能夠把學到的東西解釋給別人聽,這才說明你理解了。在學習心理學上,稱之為構成主義。
我學一樣東西,總是先上網了解有沒有相關書籍,如果想學,就買一本或者去圖書館找相關的書來讀。我買的書,家裡快放不下了(到目前位置,我買了1萬多塊的書)。我多半是把目錄看完,了解這本書講解的主要內容,然後需要的時候,我就可以立即補充它進入到我的知識結構。每個人可能都有自己的學習方法,意識到學習的重要,並能夠根據需要補充自己的知識,這種能力更重要。
7.創造能力
普遍認為,東方人模仿能力很強,但創造能力差。我見過很多這樣的程序員,經常說,「這個只能這么解決了,我想不出有什麼別的方法。」可能他根本都沒想過別的方法,或者懶得去想。對任何一個問題,找出兩種以上的解決辦法都是非常容易的,簡單的google一下,可能就是數十種。悲哀的是,有些程序員經常止步於自己構建的狹小領地之內。對待客戶也是這種態度,不是積極的幫助客戶解決問題,而是推脫這只是唯一解決方案。
打破這一思維定勢的首先的一個辦法就是在面臨一個問題時,首先想到的是「沒有不可能」,或是「一切皆有可能」,前面那個是阿迪的廣告語,後面是李寧的。只有這樣去想,才能尋找解決問題的別的出路,即使最後我們試了很多種辦法,還是只有著一種解決方案,但我們在這種尋找解決方案的過程中,常常會產生很多好的想法,這樣才會使我們真正深刻思考一個問題。建議大家看一看《水平思考》這本書,他提供了一些進行創造性思考的方法和工具。
但我認為,堅持認為存在另一種解決方案的信念是第一位的,方法和工具都是其次。
8.文檔能力
也許有人會質疑,程序員跟寫文檔有什麼關系。大家開源軟體也用過不少,看看Spring,hibernate,Struts等最流行的開源軟體的文檔就知道,他么的tutorial,他們的getstarted,他們的reference文檔寫的多麼的易懂。其實寫代碼也相當於寫文檔,只不過用的是編程語言。同樣,寫文檔,用自然語言,也相當於寫程序,簡單明了,清晰易懂,這樣的「程序」誰看誰舒服。同樣,對於想進階到設計師或者需求分析員角色的程序員,文檔能力更是非常重要。
word是一個最實用的工具,很多程序員,多級編號都不會用,索引目錄也不知道如何生成,更別靈活應用樣式了。很多排版都是所謂的dirty work。垃圾樣式一大堆。其實,靜下心來,稍微學習一下,就能寫出一篇格式漂亮的文檔。
9.抽象能力
抽象能力是認識事物從現象到本質的能力。如果你只是停留在「見山是山,見水是水」的層次,客戶說什麼,你就做什麼,設計怎麼做,你就怎麼實現,從來不過問為什麼,也不去想他是滿足了用戶哪些方面的需求呢。這樣可能只解決了表面的問題,可能會引起返工。認識到本質,才能讓你的程序具備更大的靈活性和可擴展性。在做企業應用軟體開發中,抽象能力體現為對問題域的理解能力,對領域模型的抽象。合理的抽象也是代碼重構的前提,每一次重構,都是向更好的抽象邁進了一步。
10.代碼評審能力
代碼評審和單元測試是保證代碼質量的兩種常用手段之一。代碼評審能力,說明了你的審美標准,知道什麼是好的,什麼是不好的,什麼是優雅的代碼,什麼是糟糕的代碼,你才能讓自己做的更好。
11.單元測試能力
沒有單元測試的代碼,只能說是半成品。因為沒有什麼能證明你的代碼是可以運行的。測試驅動開發是一個非常好的敏捷過程的最佳實踐。單元測試還可以作為回歸測試,在修改代碼時,起到警戒線標志的作用。是否具有單元測試的意識是區分程序員是否合格的重要標准。寫不寫單元測試是區分平庸程序員和優秀程序員的重要標桿。
12.DRY
DRY是一種原則,就是Don't RepeatYourself.出自《程序員修煉之道-從小工到專家》。這條原則可以用到很多地方,比如你經常要編譯,打包,部署應用程序,供集成測試用。每次你都在重復你自己,寫一個自動化腳本(比如用ant,批處理命令)來將這些工作自動化,以提高效率。
還有一個就是我們經常在不同的地方切換IP,如果每次手工做,也非常浪費時間,寫一個bat命令可以解決,找一個小工具也可以解決。
編碼時,對代碼的復用也是在重復你自己,雖然拷貝過程很爽,但是維護一致性就要付出巨大的工作量,特別是將來維護的人不是你的時候,使用代碼生成工具可以解決這個問題。類似的例子太多了,如果你發現你經常做一些重復的工作,就要警惕了,是否違背了這個原則,想一些辦法將他們自動化。
J. 程序員累嗎
程序員這份工作還是比較累的。程序員最主要的工作開發程序,從網頁開發,APP開發,客戶端軟體的開發,都是程序員做代碼開發的,這是大多數程序員的工作職責。
有的程序員還有更高層次的工作,比如架構,統籌整個項目的開發,比如使用什麼開發語言,使用什麼資料庫,分多少階段來完成,每個階段要完成什麼內容等等。
程序員的職業要求
一般的程序員都有在專業領域的學習,還有很小一部分程序員是自學的,盡管一些專業性的學校或者綜合大學可以提供,但是也需要一些別的途徑來提供相關的人才。
盡管學歷是比較重要的,但是公司經常把重點放在應聘者的工作經驗上,很多剛從大學畢業的大學生雖然有引人注目的學位證書,但是他們找不到工作是因為他們缺乏經驗。
一個程序員雖然沒有正規的學歷,但是如果一個人擁有程序設計的深厚知識背景或者豐富的工作經驗的話,那麼他的機會要比有學歷的應屆畢業生大得多。所以要盡量抓住有用的工作和實習機會,這樣的話在畢業後你就會發現,多實習讓你有更多的經驗,在找工作的時候就有更多的機會。