漫畫(huà)一:軟件編程 漫畫(huà)二:使用 LISP 語(yǔ)言的程序員眼里其他語(yǔ)言程序員的形象 漫畫(huà)三:學(xué)校里的編程和真實(shí)項(xiàng)目里的編程 漫畫(huà)四:程序員與劫匪 ![]() ![]() ![]() ![]() 來(lái)自: 外刊IT評(píng)論 循序漸進(jìn)學(xué)編程 軟件開(kāi)發(fā)者是一個(gè)日新月異的領(lǐng)域—–IT中的大師,今天的編程方式與明天的編程或許截然不同,技術(shù)在不斷地革新,新語(yǔ)言、新平臺(tái)的如雨后春筍般出現(xiàn)、更好的解決方案的冒出,因此我們需要跟得上節(jié)奏,我們沒(méi)有選擇,唯有努力提高自己。下面的幾點(diǎn)建議或許能幫助你成為一個(gè)優(yōu)秀地開(kāi)發(fā)者。 你是否聽(tīng)說(shuō)過(guò)Kaizen這個(gè)詞呢?簡(jiǎn)單地說(shuō)就是“改良”的意思。當(dāng)然它不僅僅是一個(gè)單詞,同時(shí)代表著一種哲學(xué),一個(gè)不斷完善自我的理念。它需要客觀的監(jiān)督和改善。更多的細(xì)節(jié)可以從這里了解。 ![]() 當(dāng)然下面的建議是沒(méi)有先后順序的。 0. 閱讀代碼: 經(jīng)常認(rèn)真閱讀他人的代碼。尋找大家公認(rèn)的優(yōu)秀軟件作品,學(xué)習(xí)其背后的運(yùn)作原理,領(lǐng)悟他人解決問(wèn)題的方法,有時(shí)候你也會(huì)要到同樣的問(wèn)題,試著對(duì)比其技術(shù)和解決方案。 1. 編寫(xiě)代碼: 在一個(gè)你還從未解決過(guò)的問(wèn)題上多花點(diǎn)時(shí)間,嘗試著培養(yǎng)自己的思考方法以及思維模式,你會(huì)因此而獲得很多的樂(lè)趣。這樣做并不難,而且它還是很好的問(wèn)題反饋源。對(duì)于每個(gè)問(wèn)題幾乎任何時(shí)候都有不同的解決方法,學(xué)者用不同的方法解決問(wèn)題,對(duì)比它們之間的優(yōu)點(diǎn)和弊端,使用諸如模塊化和系統(tǒng)集成的方式編程,那樣寫(xiě)代碼非常的簡(jiǎn)潔,清晰。 2. 跟上技術(shù)潮流: 在twitter和facebook、weibo等社交網(wǎng)絡(luò)關(guān)注技術(shù)大牛,訂閱你的RRS。及時(shí)了解新語(yǔ)言,對(duì)技術(shù)要有深入研究而不是僅僅停留在只會(huì)調(diào)用API的層面上。技術(shù)是要靠實(shí)力說(shuō)話的,光忽悠沒(méi)用,所以盡可能早的深入了解。 3. 從不同的角度思考問(wèn)題: 沒(méi)錯(cuò),你就是一個(gè)開(kāi)發(fā)者,但是你會(huì)把自己的作品當(dāng)做普普通通的產(chǎn)品嗎?商業(yè)價(jià)值怎么樣?寫(xiě)出來(lái)的軟件能給你帶來(lái)什么樣的價(jià)值?需要用到哪些資源?有比軟件帶來(lái)更多價(jià)值還重要的事情嗎?軟件所表達(dá)的思想在于什么?用戶在使用過(guò)程中軟件能扮演什么樣的角色?這些問(wèn)題看似很老套或者微不足道,其實(shí)不然,我們應(yīng)該不斷地去回答這些問(wèn)題,開(kāi)始不同角度思考問(wèn)題。 4. 測(cè)試是開(kāi)發(fā)者的工作: 未測(cè)試的代碼就像一個(gè)未知的承諾,不去測(cè)試代碼,編程技巧很難得到提高。作為用戶你會(huì)因?yàn)橐粋(gè)得不到保證的承諾而把錢(qián)交給一個(gè)完全陌生的人嗎?用測(cè)試單元做功能和集成測(cè)試,證明你的代碼可以正確執(zhí)行,使他人放心地使用。把代碼放到GitHub資源庫(kù)上去。記住:擴(kuò)大代碼測(cè)試覆蓋范圍,減少代碼的復(fù)雜度、去除代碼的壞味道,不斷調(diào)整、提高。 5. 在社區(qū)和開(kāi)發(fā)者交流 向他人學(xué)習(xí),和他人探討問(wèn)題。通過(guò)閱讀他人代碼提高自己的水平,同時(shí)盡可能去幫助他人,用一種開(kāi)放地思維接受和分析他人的解決方案以及思想。 6. 每天交付可使用的部分 學(xué)會(huì)把大項(xiàng)目分解成為更小的,變成可交付使用的部分。做里程碑、做測(cè)試證明、做進(jìn)度規(guī)劃。分析和總結(jié)是必不可少的,此刻就把它記錄下來(lái),注意前后的變化,長(zhǎng)期的積累將使你更加自信,外人對(duì)你刮目相看,做一個(gè)快樂(lè)的程序員吧。 7. 忙里偷閑: 參加娛樂(lè)、體育活動(dòng)、接觸大自然。你的身體和大腦需要休息,經(jīng)常站起來(lái)活動(dòng)活動(dòng),切忌一直坐著盯著屏幕。 原文:OCHRONUS 編譯:伯樂(lè)在線 – 劉志軍 工作滿意度評(píng)估程序員版 你是否對(duì)自己的工作感到滿意?你覺(jué)得現(xiàn)在的職業(yè)發(fā)展還盡如人意嗎?大約每隔6個(gè)月,我都會(huì)花些時(shí)間思考這些重要問(wèn)題。當(dāng)問(wèn)及對(duì)職業(yè)是否滿意,“是的,我喜歡我的工作”或者“我打算就在這里一直工作下去了”,類似這樣的回答通常沒(méi)有什么價(jià)值。那么,什么是程序員對(duì)工作感到滿意的關(guān)鍵因素呢?怎樣才能讓黑客們對(duì)工作更加滿意呢? 譯注:hacker 黑客:黑客一詞,原指熱心于計(jì)算機(jī)技術(shù),水平高超的電腦專家,尤其是程序設(shè)計(jì)人員。黑客一詞已被用于泛指那些專門(mén)利用電腦網(wǎng)絡(luò)搞破壞或惡作劇的家伙。本文中的黑客取前一個(gè)含義。 首先,讓我們將工作滿意度進(jìn)行細(xì)分,然后逐個(gè)討論如何衡量這些方面。在這個(gè)迷你系列的下一篇文章中,我會(huì)討論如何成為一名更有滿足感的程序員。 團(tuán)隊(duì)協(xié)作 按照的Jeff Atwood說(shuō)法,“你選擇同他一起工作的人,通常就是能夠評(píng)估工作滿意度的最佳人選。”就我而言的確如此。回顧過(guò)去,當(dāng)我最具熱情工作愉快的時(shí)候,我是優(yōu)秀團(tuán)隊(duì)中的一員,這個(gè)團(tuán)隊(duì)由黑客組成。我們?cè)谝黄鹋浜系煤芎谩N覀儚谋舜说纳砩汐@得靈感。知道彼此的長(zhǎng)處和缺點(diǎn),以及如何在淋漓盡致發(fā)揮強(qiáng)項(xiàng)的同時(shí)改進(jìn)缺點(diǎn)。我們尊重彼此的經(jīng)驗(yàn)、學(xué)識(shí)以及各自的偶像。正如你知道的…… 想想曾和你一起工作過(guò)的最好的黑客。他們希望加入你的團(tuán)隊(duì)嗎?如果不是,這就是個(gè)問(wèn)題。如果那些黑客現(xiàn)在不想加入你的團(tuán)隊(duì),你的團(tuán)隊(duì)也不會(huì)吸引其他頂尖黑客,你會(huì)因此感到郁悶。 好的團(tuán)隊(duì)由優(yōu)秀的黑客組成,他們?cè)谝黄饏f(xié)同工作。沒(méi)有一個(gè)好的工作環(huán)境就不可能吸引頂尖人才。所以,如果工作環(huán)境在下面幾個(gè)方面做得不好,就肯定吸引不到好的人才,也幾乎不可能打造出一支優(yōu)秀的團(tuán)隊(duì)。這也就是為什么強(qiáng)勢(shì)的開(kāi)發(fā)團(tuán)隊(duì)在工作滿意度評(píng)估中名列榜首。 ![]() 項(xiàng)目質(zhì)量 聰明人對(duì)一直不斷地重復(fù)感到厭倦。黑客們也不例外。如果他們堅(jiān)持用同一種語(yǔ)言編程,用同樣枯燥的CRUD 界面,使用和初學(xué)編程時(shí)同樣的算法,他們不會(huì)為此感到高興。大多數(shù)開(kāi)發(fā)者渴望學(xué)習(xí)新東西,并將它們應(yīng)用到實(shí)際開(kāi)發(fā)中。難題和帶有挑戰(zhàn)性的問(wèn)題會(huì)讓他們感到興奮。 花些時(shí)間思考一下你最近學(xué)到的新技術(shù),以及最近解決過(guò)的難題。這不僅會(huì)讓你在技術(shù)方面感到滿足,更會(huì)讓你的職業(yè)發(fā)展更進(jìn)一步。 工作和生活平衡 黑客通常會(huì)難以置信地長(zhǎng)時(shí)間工作,只需要Cheetos(膨化食品)和Bawls蘇打水就可以生存。這種死亡行軍式的軟件開(kāi)發(fā)不會(huì)長(zhǎng)久,最終的代價(jià)是精疲力盡并對(duì)工作感到厭惡。 看一下你花在工作上的時(shí)間,就會(huì)知道自己在工作和生活平衡方面做得如何。很多人在精疲力盡之前沒(méi)有絲毫察覺(jué),所以去和家人和朋友談?wù)劙桑屗麄儙椭懔私馊绾卧诠ぷ髋c其他活動(dòng)或責(zé)任之間找到平衡。 官僚和公司政治 一定程度的官僚和公司政治是不可避免的,但是好的管理者會(huì)在很大程度上幫你把這些屏蔽掉。我唯一沒(méi)有受到這些困擾的時(shí)候恐怕就是在大學(xué)里,不是因?yàn)閯e的,而是那時(shí)我對(duì)很多事情都抱有偏見(jiàn)。大學(xué)里的官僚實(shí)際上更嚴(yán)重,但我除了做自己的事情之外其他一概不關(guān)心。那些與編程沒(méi)有任何關(guān)系的事情,我只當(dāng)作去交水費(fèi)或是送垃圾。 總的來(lái)說(shuō),快樂(lè)知足的黑客們總是在朝著一個(gè)目標(biāo)努力編程并不斷進(jìn)步。程序員是這樣的一群人,他們不喜歡文山會(huì)海,不喜歡爭(zhēng)論預(yù)算,也不喜歡在資源自足的情況被要求具有創(chuàng)造性或者漂亮地完成工作。如果項(xiàng)目經(jīng)常停滯,因?yàn)椴粩嘧兓蛉鄙傩枨蠖茏瑁芾頉Q策不到位或沒(méi)有方向,黑客們會(huì)因此感到沮喪和不滿。更糟糕的情況是,如果因?yàn)檫^(guò)度的官僚和政治讓他們無(wú)事可作,他們會(huì)認(rèn)為自己的技術(shù)無(wú)用武之地并且得不到重視。這不僅會(huì)讓他們對(duì)官僚不滿,而且對(duì)公司的認(rèn)同和尊重程度也會(huì)降低。 認(rèn)可和尊重 杰出和博學(xué)的專家們通常希望管理者在作出決定時(shí)認(rèn)真考慮并咨詢他們的意見(jiàn)。通常也應(yīng)該如此。如果管理者不尊重技術(shù)人員的建議或者不詢問(wèn)他們的意見(jiàn),結(jié)果執(zhí)行決定的時(shí)候開(kāi)發(fā)者們會(huì)對(duì)此不滿并不予配合。 你有沒(méi)有接手過(guò)棘手的項(xiàng)目?你的建議被提交討論了嗎?你的意見(jiàn)最終被采納了嗎?在重要里程碑完成時(shí)有收到祝賀嗎?這些都能夠衡量你在公司里受到的認(rèn)可和尊重。你是否經(jīng)常被迫去做一些你沒(méi)有把握或者不贊同的事情?你是否經(jīng)常受到能力不如你的人反對(duì)和排擠?(請(qǐng)注意——要確保對(duì)好的技術(shù)方案保持開(kāi)放的心態(tài))這些就是不滿的信號(hào)。 薪水 這是工作滿意度最好量好的因素之一。在網(wǎng)上簡(jiǎn)單搜索招聘板塊,就能夠查到在自己行業(yè)里類似工作的薪資水平。了解自己公司里其他人的薪資也是非常有價(jià)值的。很明顯,如果你的薪資不如別人你會(huì)因此感到不滿,反過(guò)來(lái)說(shuō)如果你的薪資相當(dāng)不錯(cuò)你應(yīng)當(dāng)感到滿足。 通過(guò)逐條比對(duì)這些條件,我對(duì)自己的工作滿意程度更加清楚了。這讓我知道需要在哪些方面采取行動(dòng)和提升。在未來(lái)的2個(gè)禮拜里,我會(huì)按照上述各條采取行動(dòng)。 與此同時(shí),那些因素在你看來(lái)是重要的呢? 英文原文:Jess Johnson 編譯:伯樂(lè)在線 – 唐尤華 |