<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    人在江湖

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      82 Posts :: 10 Stories :: 169 Comments :: 0 Trackbacks

    不確定“再見理想”是“再見了,理想”還是“再次燃起理想”,稀里糊涂地對(duì)這句話有感覺。作為程序員,總會(huì)有自己的技術(shù)價(jià)值觀和技術(shù)理想。工作七年多,開始癢了。

    程序員的生活總是喜憂參半,出入體面的寫字樓,在小小的cubicle里虐殺腦細(xì)胞;偶爾有條件小資一下,常被工作、生活壓力逼得點(diǎn)燈熬油;有時(shí)候想,這么辛苦,不論做什么行業(yè)都會(huì)做的好,是不是入錯(cuò)行了?手放在鍵盤的時(shí)候,又享受投入思考的快感?;蛟S注定是個(gè)程序員,限于天賦,或許注定是個(gè)庸庸碌碌的程序員。

    前端時(shí)間因?yàn)榕艿洁l(xiāng)下,沒法上網(wǎng),網(wǎng)癮一上來撞墻流鼻涕,百無聊賴開始勾畫價(jià)值觀和技術(shù)理想。人總追求快樂,每天清醒的十六個(gè)小時(shí)中,——程序員可能有十八個(gè)小時(shí),至少有八小時(shí)花在工作上,所以,為了過得快樂,工作一定要快樂。如果當(dāng)前的工作注定沒法使你快樂,就趕快結(jié)束它。畢竟,多數(shù)時(shí)候,拼命工作不如拼命找工作來得實(shí)在。程序員當(dāng)然不算光鮮的職業(yè),但確實(shí)挺費(fèi)腦子,如果你智商低于110,換個(gè)軟件公司也注定痛苦,還是直接換個(gè)行業(yè)吧。

    工作的基本原則是要保持身價(jià),何為身價(jià)?不是你現(xiàn)在月薪多少,而是你現(xiàn)在跳槽,能拿多高的offer。這跟很多因素有關(guān),主要因素包括

    1.你當(dāng)前薪水——HR往往參考這個(gè)給你定薪水;

    2.你的資歷——畢業(yè)的學(xué)校,工作年限,外企工作年限,你當(dāng)前的title,在當(dāng)前公司工作了已經(jīng)幾年…

    3.你在面試中的表現(xiàn)——能發(fā)揮多少技術(shù)水平,英語對(duì)答如何。

    像我這種身價(jià)的本來沒資格討論身價(jià),但誰叫這是我的blog,我的地盤聽我的呢.挨個(gè)亂噴一下。

    1. 關(guān)于當(dāng)前薪水

    假如你跟我一樣笨,沒有別的好辦法,就只能多投入精力工作。在以前的博客 與神對(duì)話 里也提過一個(gè)程序員對(duì)于產(chǎn)品的價(jià)值。每天上班8小時(shí),每天多專注一點(diǎn),日積月累,做的事情會(huì)多很多,對(duì)自己的提高也會(huì)多很多。加薪或許是水到渠成的事,如果不順利,要么跟領(lǐng)導(dǎo)談?wù)劊蛘咧苯娱W人。無論如何,不要抱怨。善于抱怨的人表示他還不夠強(qiáng)。你需要尊重權(quán)利,包括他人的權(quán)利和自己的權(quán)利。

    2. 關(guān)于資歷

    如果你畢業(yè)于名校,學(xué)歷又好,一畢業(yè)自然就能進(jìn)大公司。如果你還在江湖三流公司混,就得每天想著早點(diǎn)換工作。工作年限不總算是資歷,好公司的工作經(jīng)歷才有用。要記得換工作是有成本的,我工作七年多,現(xiàn)在的工作是第五份工作,所有公司都詬病我不stable,這樣的資歷很難騙取信任,教訓(xùn)啊!聰明的你肯定想到簡歷作假,但好公司都有reference check的,我還是勸你別冒險(xiǎn)。

    3. 面試

    千萬記住,一定要預(yù)先做好充分的準(zhǔn)備才能參加面試。對(duì)于一個(gè)java程序員來說,面試之前要翻一遍類似于Thinking in Java的書,背一遍設(shè)計(jì)模式,復(fù)習(xí)sql,復(fù)習(xí)mvc框架,復(fù)習(xí)Hibernate,復(fù)習(xí)Spring, 復(fù)習(xí)Servlet spec?;蛟S還有其他的,web service之類的。你可以想象,真要復(fù)習(xí)一遍,起碼要三個(gè)月,這就是我認(rèn)為換工作之前至少要預(yù)留出來的準(zhǔn)備時(shí)間。機(jī)會(huì)有限,僥幸心理出去碰運(yùn)氣純粹是浪費(fèi)機(jī)會(huì)。平時(shí)工作總有局限,看書是最有效準(zhǔn)備面試的途徑。

    上面說的都是不登大雅之堂的事情,有熱情的程序員總想成長為高手,我當(dāng)然也有這樣的愿望。問題是你認(rèn)為什么樣的人算是高手,每個(gè)人心里會(huì)有不同的答案,關(guān)鍵是找出你和理想之間的差距并盡量縮短它。高手一定不僅僅是技術(shù)超群的,高手必然有高手的胸懷。

    自己有時(shí)候會(huì)考慮一些工作和技術(shù)上的原則,想到哪兒敲到哪兒吧。

    關(guān)于工作:

    作為程序員,你要關(guān)心產(chǎn)品。這沒什么可說的,這是職業(yè)道德問題。

    作為程序員,你要尊重QA。工作越久,就越覺得QA對(duì)產(chǎn)品非常重要,程序員很多時(shí)候陷在具體的技術(shù)問題中,太多精力被牽扯住了。好的QA讓程序員心安,能夠有助于控制風(fēng)險(xiǎn). QA應(yīng)該有做最后決定的權(quán)利,所以QA需要對(duì)產(chǎn)品有很好的insight. 而且好QA需要明白,測試不是找bug的游戲。

    關(guān)于技術(shù):

    effective java 和 Refactor書都是總結(jié)各種編程原則的書,那些熟為人知的原則不說,我只說我的理解

    static: Joshua在effective java里強(qiáng)調(diào)盡量使用static method。這肯定是沒錯(cuò)的[這句話說錯(cuò)了,請(qǐng)看下面T.H.E的評(píng)論。他說的很有道理。我是做應(yīng)用的程序員,不暴露API給其他產(chǎn)品,所以一直都覺得IDE里移動(dòng)static method沒成本。但如果寫Service層給未知產(chǎn)品用的話,耦合class的確有危險(xiǎn)]。太看重這一點(diǎn),就容易轉(zhuǎn)到一個(gè)誤區(qū)——多使用static field. 而static field有時(shí)代表了封裝的問題,需要謹(jǐn)慎。

    exception: 包括Thinking in java的Bruce, Martin Fowler等很多人都對(duì)checked exception不感冒。自己也思考了一下,你當(dāng)然能舉出checked exception的應(yīng)用場景。你可以說某個(gè)方法它拋出checked exception是為了讓caller處理exception.但你說的是讓“這個(gè)caller”處理它。從重用的角度說,你并不預(yù)知所有被調(diào)用的情況,所以不能排除一些情況下這個(gè)checked exception并不能得到特別的處理。這個(gè)想法更本質(zhì)的原則是,寫底層程序的時(shí)候,要裝作不知道caller是怎么使用它的,哪怕是你自己調(diào)用它。

    重復(fù)代碼:所有程序員都對(duì)重復(fù)代碼表現(xiàn)出深惡痛絕的樣子。但我覺得,重復(fù)代碼不是定性問題,而是個(gè)定量問題??梢赃@樣考慮:三行代碼反復(fù)出現(xiàn)在三個(gè)不同的文件里,甚至在不同的package里,這算重復(fù)代碼么?四行代碼呢?十行代碼呢?曾經(jīng)聽到一個(gè)高手說,編程的核心在于重用。我不反對(duì)這個(gè)說法,但我更傾向于說,編程的核心在于可維護(hù)性。對(duì)于重復(fù)代碼,大段的重復(fù)肯定要消滅的,三五行的重復(fù)不是不可以存在,但是要盡量把它圈在一個(gè)小范圍里,比如一個(gè)包,或者文件,或者方法里。有時(shí)候刻意追求“不重復(fù)”,反而讓程序變得別扭。

    技術(shù)存在的價(jià)值在于能夠解決現(xiàn)實(shí)問題。你可以對(duì)技術(shù)狂熱,但不能忘了這個(gè)客觀事實(shí),技術(shù)需要實(shí)現(xiàn)商業(yè)價(jià)值,需要最求投入產(chǎn)出比。最最根本的原則,是pragmatic

    posted on 2011-01-30 18:17 人在江湖 閱讀(3198) 評(píng)論(9)  編輯  收藏 所屬分類: life

    Feedback

    # re: 七年之癢,再見理想 2011-01-31 09:22 T.H.E
    "static: Joshua在effective java里強(qiáng)調(diào)盡量使用static method。這肯定是沒錯(cuò)的。"
    哪里有提到盡量使用static method? 還望指正  回復(fù)  更多評(píng)論
      

    # re: 七年之癢,再見理想[未登錄] 2011-01-31 09:47 greatghoul
    其實(shí)有些時(shí)候,換工作是情非得以。。。  回復(fù)  更多評(píng)論
      

    # re: 七年之癢,再見理想 2011-01-31 11:56 liujg
    看來我只能改行了。。。  回復(fù)  更多評(píng)論
      

    # re: 七年之癢,再見理想[未登錄] 2011-01-31 21:44 vcycyv
    @T.H.E
    呵呵,對(duì)不起,是我搞錯(cuò)了。但我的確覺得應(yīng)該多用static method. non-static和static 混雜在一起往往表示OO的不好。但是可以static的時(shí)候不寫static不表示OO的好,那只是掩蓋了問題。那么不如加上static聲明,一方面不需要實(shí)例化類就能調(diào)用,比較方便。另一方面容易揭示OO的問題,這很實(shí)際。這里需要注意的是,一個(gè)方法沒用使用成員變量,不表示一定應(yīng)該加static關(guān)鍵字,因?yàn)橛锌赡苁菫榱死^承和多態(tài)的考慮。但我感覺,絕大多數(shù)情況是可以安全地加static的,就算最后遇到多態(tài)需求可以重構(gòu)。
    你很敏銳,謝謝,如果我的理解有什么錯(cuò)誤,請(qǐng)指正。  回復(fù)  更多評(píng)論
      

    # re: 七年之癢,再見理想 2011-02-01 09:23 T.H.E
    @vcycyv
    存在必合理這點(diǎn)還是需要肯定的. 特別是工具類, 常量一般都是使用static method. 但過多的使用static method會(huì)使整個(gè)系統(tǒng)內(nèi)的模塊與模塊間對(duì)實(shí)現(xiàn)類強(qiáng)依賴. 這樣大大增加了代碼的耦合度, 首先破壞了OO設(shè)計(jì)原則"高內(nèi)聚, 低耦合".
    以上都是從吹nb的層面討論, 舉些實(shí)際的例子來看使用interface而不是static method的好處.
    系統(tǒng)中一個(gè)模塊對(duì)外暴露出來的功能"接口"(這里指的是廣義接口"), 如果是static method, 會(huì)造成其他模塊對(duì)該類強(qiáng)依賴. 一旦內(nèi)部邏輯或者覺得需要重構(gòu)(類位置發(fā)生變化, 重命名等到), 依賴它的模塊全部要重新編譯. 小的系統(tǒng)還好大型系統(tǒng)成本太高.
    但如果對(duì)外暴露的是interface, 通過static的"工廠方法"(這個(gè)到是effective java里推薦的呵呵)獲得實(shí)例, 通過實(shí)例的method訪問, 靈活度就非常高了. 可以看到開源框架基本上都是暴露interface給用戶(osgi的bundle, log4j的log等等), 都是為了降低耦合度.  回復(fù)  更多評(píng)論
      

    # re: 七年之癢,再見理想 2011-02-01 22:12 vcycyv
    @T.H.E
    "系統(tǒng)中一個(gè)模塊對(duì)外暴露出來的功能"接口"(這里指的是廣義接口"), 如果是static method, 會(huì)造成其他模塊對(duì)該類強(qiáng)依賴. 一旦內(nèi)部邏輯或者覺得需要重構(gòu)(類位置發(fā)生變化, 重命名等到), 依賴它的模塊全部要重新編譯. 小的系統(tǒng)還好大型系統(tǒng)成本太高. " —— 這是我之前沒有考慮過的角度,你說得很有道理,領(lǐng)教了,多謝!
    我同意不應(yīng)該過多地使用static method  回復(fù)  更多評(píng)論
      

    # re: 七年之癢,再見理想 2011-02-02 13:42 xylz
    工作也有“七年之癢”?這是程序員之癢還是工作的?顯然我還沒有達(dá)到這個(gè)層次。  回復(fù)  更多評(píng)論
      

    # re: 七年之癢,再見理想 2011-02-08 08:38 凌晨風(fēng)
    程序員自我自我價(jià)值觀太強(qiáng)了  回復(fù)  更多評(píng)論
      

    # re: 七年之癢,再見理想[未登錄] 2011-02-22 14:00 Frank
    好文章,學(xué)習(xí)了,一看就是自己的切身經(jīng)驗(yàn)  回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 四虎永久免费影院| xxxx日本在线播放免费不卡| 69成人免费视频无码专区| 日本免费大黄在线观看| 国产亚洲成av片在线观看| 国产人成网在线播放VA免费| 亚洲一区无码精品色| fc2免费人成在线| 成人午夜亚洲精品无码网站| 国产成人无码免费看片软件| 国产gv天堂亚洲国产gv刚刚碰| 久久久受www免费人成| 国产偷v国产偷v亚洲高清| 黄色片免费在线观看| 国产在线观看免费不卡 | 美腿丝袜亚洲综合| 中文字幕不卡免费视频| 亚洲区小说区图片区QVOD| 特级毛片全部免费播放a一级| 免费一看一级毛片人| 一级特级aaaa毛片免费观看| 亚洲线精品一区二区三区影音先锋 | 91免费国产视频| 久久亚洲国产精品| 91免费国产自产地址入| 国产精品亚洲精品| 国产成人精品免费直播| 免费一级毛片在线播放放视频| 久久亚洲国产精品五月天婷| 国产一区二区免费| 亚洲日产2021三区在线 | 久久九九AV免费精品| 亚洲综合久久1区2区3区| 国产又黄又爽又猛免费app| 亚洲高清视频免费| 丁香花在线观看免费观看| 爱情岛亚洲论坛在线观看| 亚洲欧洲日产国码高潮αv| a在线观看免费视频| 亚洲高清无在码在线电影不卡| 99精品全国免费观看视频|