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