不做民工化的程序員
和大學(xué)同學(xué)祥子聊天討論到這幾年對(duì)開發(fā)的體會(huì)的時(shí)候,他說:"我在工作的時(shí)候就是在框架的基礎(chǔ)上把需求轉(zhuǎn)換為代碼,一沒有學(xué)到業(yè)務(wù),二沒有學(xué)到技術(shù)!那是非常的抑郁!".軟件發(fā)展到今天,就是需要在框架的基礎(chǔ)上大規(guī)模的復(fù)制API,把相關(guān)的需求轉(zhuǎn)換為代碼,讓公司能夠在最短的時(shí)間做出項(xiàng)目或者是一個(gè)新的產(chǎn)品。這樣的操作對(duì)公司的好處是:1:分工細(xì)化,缺少了誰都行;2:可以大規(guī)模的利用外包來節(jié)約成本。一句話形容一下:提高開發(fā)效率,降低開發(fā)成本。但是對(duì)程序員來說,這樣對(duì)個(gè)人的成長非常的不利。繼續(xù)拿出幾個(gè)問題來反思自己!
1:你在奉獻(xiàn)智慧么?
書寫代碼的過程中,必然會(huì)涉及到N多的.老代碼的維護(hù),有沒有考慮去抽象公用方法,有沒有考慮去改造包結(jié)構(gòu),有沒有考慮一些代碼上的重構(gòu),有沒有考慮解決系統(tǒng)的性能瓶頸和可用性的問題?思考是必須的,只有在思考的過程中人才會(huì)成長起來。想辦法去奉獻(xiàn)智慧,人才可能慢慢的成長!
在項(xiàng)目組中,動(dòng)手去解決問題要比說出自己的想法更加重要。因?yàn)樵谀憧紤]是否應(yīng)該這樣做的時(shí)候,別人很可能就走到了你的前面。所以,在提高軟件可用性的前提下,任何的嘗試都應(yīng)該動(dòng)手去實(shí)施,作為行動(dòng)的巨人。(這個(gè)地方本人是吃虧不少,總是想著和系統(tǒng)架構(gòu)師的想法保持一致了,有些情況下,系統(tǒng)架構(gòu)師是錯(cuò)誤的。)
2:看的知識(shí)是不是越來越底層?
在平時(shí)接觸到不同的框架的時(shí)候,一般花上一天的時(shí)間看看架構(gòu)圖并且理解其中關(guān)鍵環(huán)節(jié)的配置調(diào)用就可以了。但是如果想提高自己的架構(gòu)水平,還是不斷的看別人的源代碼,吸取別人思想的精華部分,然后自己在工作中去發(fā)揮智慧。Rod Johson寫的spring框架也是在不斷吸取別人思想的基礎(chǔ)上逐漸的發(fā)展壯大起來的,在他大聲疾呼"develop without EJB"的時(shí)候,這個(gè)人對(duì)EJB非常的熟悉,不信的話可以去看看書的分析。其實(shí)EJB2.0是一個(gè)思想庫,只是我現(xiàn)在還沒有時(shí)間去研究這個(gè)。
cache對(duì)象的時(shí)候,有沒有考慮到對(duì)象的clone,HashMap中的clone的方法是深clone還是淺clone,ArrayList和LinkedList呢?什么時(shí)候在創(chuàng)建ExectorService對(duì)象的時(shí)候使用newFixedThreadPool而不是newCachedThreadPool?java nio你知道多少?如果一開始我寫了足夠理解并發(fā),積分計(jì)算和公共出發(fā)拉直的代碼我會(huì)寫成另外一個(gè)樣子。那個(gè)為了改善性能的jobs我TMD也不會(huì)寫一個(gè)quartz的job了。我只能現(xiàn)在慢慢的修改其中代碼來提升系統(tǒng)的性能和程序的健壯性。我需要花大功夫研究java的基礎(chǔ)知識(shí)。
3:和高手交流了么?
其實(shí)網(wǎng)上很多技術(shù)blog寫的都很好,尤其那些持續(xù)更新的架構(gòu)和技術(shù)的程序員們更是值得學(xué)習(xí)。找到他們,和他們討論一個(gè)方面的技術(shù)。真正的高手都是謙虛的,討教一些他們知道的東西,這些人會(huì)不遺余力的指導(dǎo)你,前提是他們不是很忙。
4:必殺技是?
行走江湖,怎么能沒有看家本領(lǐng),其實(shí)大部分程序員都沒有。有人說自己精通java,但是我問一下他對(duì)concurrent包的了解情況的時(shí)候,卻是一問三不知。如果是我寫簡歷,我更樂意寫:精通java 的并發(fā)編程和nio.其實(shí)其他方面也需要關(guān)注,但是談到精通就差一點(diǎn)了。
如果未來和別人討論技術(shù)的時(shí)候,我希望總是能夠談到一些讓別人覺得成長的知識(shí)。
學(xué)習(xí)技術(shù)不怕慢就怕停,每天堅(jiān)持編碼,堅(jiān)持總結(jié),成為那個(gè)"焊火箭的民工"也是完全可能的!
【不做民工化的程序員】相關(guān)文章:
試析農(nóng)民工市民化意愿與我國城市化道路選擇09-02
農(nóng)民工文化生活“孤島化”現(xiàn)象探析11-14
創(chuàng)業(yè)不做合伙生意09-13
面試中的“做”和“不做”11-15
不做越位的職場(chǎng)蘿卜的職場(chǎng)勵(lì)志故事11-18
程序員的創(chuàng)業(yè)歷程09-26
農(nóng)民工返鄉(xiāng)創(chuàng)業(yè)的政策08-16
淺談農(nóng)民工的心理問題07-23