愛這行!!!
從事任何行業(yè)都一樣,只有真正的愛上了這份工作,才會投入熱情,才會在順境中自我警醒,在逆境中尋找突破。這個行業(yè)的競爭很激烈,你停下來走,別人就立刻會跑步超過你,沒有對這一行業(yè)的一種熱情,就很難在困境中保持一種執(zhí)著的態(tài)度堅持到底。
踏踏實實“扎馬步”
今天無意中看了“校長”的“程序員&司機”,其中談到了關(guān)于程序員速成的問題。其實速成班畢業(yè)的 “系統(tǒng)殺手”早已在遍布大江南北,只是在互聯(lián)網(wǎng)時代,互聯(lián)網(wǎng)的應(yīng)用型軟件生命周期越來越短,業(yè)務(wù)驅(qū)動主導(dǎo)的情況下,這種速成方式看起來反而提高了企業(yè)生產(chǎn)效率。但這樣的人才也就只能寫幾個Facebook上的插件應(yīng)用或者iGoogle上的Gadget,真的要出Google,Amazon,Yahoo改變互聯(lián)網(wǎng)世界的企業(yè),還是需要踏踏實實先學(xué)“扎馬步”的人。
很多在學(xué)校的同學(xué)或者剛剛畢業(yè)的朋友都看什么熱門學(xué)什么,Spring,AJAX,Hibernate等等,又有多少人在看Spring之前把J2SE的NIO,XML,Collection等先好好學(xué)習(xí)一下,在看AJAX之前把Http協(xié)議、DTD、XML Schema好好看一下,在學(xué)習(xí)Hibernate以前先把J2EE事務(wù)規(guī)范搞清楚。Java最大的好處就是開源,能夠讓人們站在更高的起點來作出更多的創(chuàng)新,但是對于學(xué)習(xí)者來說,不了解自己站在什么上面的時候,可能摔下來會很痛。在用的時候多問一些為什么,在遇到問題的時候多找找原因,在了解以后多提出一些優(yōu)化的方案,這樣才會進步的更快,走的更遠。
記得我前一陣子回家的時候和媽媽聊起最近的工作,雖然媽媽不太明白,但是也知道我現(xiàn)在做的東西技術(shù)含量比較高,囑咐我“千萬不要什么都教給自己的同事,徒弟帶出就不要師傅了”(這當然是老一輩的觀念了)。我和她說:“不要擔心,這種學(xué)的會的不教遲早也會,學(xué)不會的教了也學(xué)不會”。其實這里說的學(xué)的會的就是技術(shù),而學(xué)不會的就是經(jīng)驗和能力。這個行業(yè)的人在日積月累過程中并不會去比較掌握的知識面有多廣多深,畢竟這行業(yè)更新很快,其實能力強的人在多年的學(xué)習(xí)中就積累了很多的找問題,分析問題,總結(jié)問題,提出建議,發(fā)掘創(chuàng)新的能力,這些才是這行業(yè)人在發(fā)展中最寶貴的財富,也是一個人成長的標志。開始的過程中,踏踏實實地“扎馬步”,了解一些最基本的知識,那么上層技術(shù)的發(fā)展對于他來說僅僅只是一個短暫的學(xué)習(xí)過程,甚至可以觸類旁通。因此還是要奉勸每一個新入行的同學(xué),踏踏實實,靜下心來做技術(shù),就算工作安排得都是一些浮躁和重復(fù)的工作,用高效的方式來結(jié)束那些重復(fù)勞動,多留一些時間給自己打基礎(chǔ)。
逆境養(yǎng)兵、順境攻城掠地
普通人的工作經(jīng)歷通常都是起伏不定的,一個人的能力是否能夠得到體現(xiàn),不僅僅靠自己的努力,有時候也需要“天時”、“地利”。馬云比較有名的一句話:“今天很殘酷,明天更殘酷,后天很美好,但是大多數(shù)人死在明天晚上,看不到后天的太陽!!!”,其實也在說明一件事,就是很多時候需要一種堅持的精神才能得到寶貴的機會。
今天是我進入阿里巴巴滿3年,這3年讓我感觸很深的是:
1.逆境不要氣餒,厚積薄發(fā)。
2.順境不要懈怠,一股作氣,把握機會展現(xiàn)自己最大的能力。
3.在逆境和順境的轉(zhuǎn)換過程中,創(chuàng)造機會,不要坐等機會,要學(xué)會不在其位,也謀其職。
最后一點就拿我自己的親身經(jīng)歷來說,我原來就職于一家通信公司,因此對于互聯(lián)網(wǎng)應(yīng)用的開發(fā)和架構(gòu)設(shè)計要比很多人弱,進入阿里巴巴以后工作了半年(主要作業(yè)務(wù)開發(fā)),正好阿里軟件創(chuàng)立,當時被分配到了阿里軟件第一個產(chǎn)品負責客戶模塊,當時的應(yīng)用是通過MDA框架配置搭建的,開發(fā)人員很大程度上不需要自己做太多的編碼,但是這個平臺并沒有搭建過如此復(fù)雜的大型應(yīng)用,因此存在著不少問題,當然這些問題都是通過業(yè)務(wù)產(chǎn)品線的人反饋給平臺部的人,當時平臺部門人員很少,但是卻要修復(fù)和完善諾大一個平臺,因此常常擱置開發(fā)人員的反饋。當時在自己工作之余就琢磨和研究平臺,同時跟蹤調(diào)試平臺,最后直接給出解決方案,逐漸的就融入到了平臺開發(fā)中,最后被吸收到了平臺部門,進入平臺部門以后遇到了兩位很好的老大,根據(jù)我的特質(zhì)給我安排了研究和學(xué)習(xí)的工作。接下去就是不斷地參與阿里軟件各個基礎(chǔ)平臺的構(gòu)建,核心技術(shù)的研究和探索,找到了興趣和工作的最佳結(jié)合點。因此,當你困惑的時候首先不是去抱怨,而是審視一下自己是否還有作的不夠的,是否還有可以提升的空間,多給自己制造一些機會,也許我們不用等到后天,也不會死在明天夜里,明天早晨我們就看到了太陽。
海納百川、冰凍三尺
很多朋友可能聽老師或者前輩也說過類似的話,就是作為一個技術(shù)人員要廣也要鉆。就好比現(xiàn)在很多人都要DB Scale out,同時也要Scale up。我從自己的角度來說一下廣和鉆的看法。廣:1.要有容人之量。(很多時候程序員最大的毛病就是喜歡在技術(shù)上比較,未嘗不是好事,但是一個人的能力總歸有限,多看看別人的,多聽聽別人的,也許能夠讓自己少用時間獲得更多的收獲,特別是自己戰(zhàn)友的聲音)2.觸類旁通,多問個為什么,多跨過界去學(xué)習(xí)。在阿里巴巴,PD、SA、DBA、UI等等職位各司其職,作為開發(fā)的我們其實也應(yīng)該去了解如何去畫Use Case,如何假設(shè)服務(wù)器和應(yīng)用環(huán)境,如何寫一些略微復(fù)雜的SQL,了解一些DB的特性,如何能夠簡單的作出一些基礎(chǔ)的頁面,使用簡單的css來美化一下門面。這些就是需要多跨過界,多虛心的去學(xué)習(xí)。鉆:1.本職工作技術(shù)一定要扎實,每作一個技術(shù)點就要把技術(shù)吃透,同時延伸開來,發(fā)掘更多的技術(shù)亮點。2.多接觸新鮮事物,但是有選擇的去了解,有目的的去學(xué)習(xí)和實踐(目的的源泉就是工作的需求)。3.學(xué)會分享,一個人自己搞懂一個技術(shù)很容易,一個人要把他熟悉的技術(shù)寫下來就會發(fā)覺原來自己還有那么多沒有搞清楚,一個人如果要把寫下來的東西宣講給別人聽,他就會發(fā)現(xiàn),原來寫下來的僅僅是那么一小塊,因此學(xué)會分享,從自己了解,到記錄分享,到演講傳播就是一個不斷深化和廣化的過程。個人覺得小公司鍛煉人(啥都自己干),大公司培養(yǎng)人(該干的要干好),因此自己常回頭看看自己在廣和鉆上的不足,可以讓自己進步的更快,學(xué)的更全面。
學(xué)中醫(yī)積累經(jīng)驗,學(xué)西醫(yī)尋找突破
中醫(yī)以對人體經(jīng)絡(luò)血脈了解為基礎(chǔ),通過望聞問切來尋找病理根源,行醫(yī)年限越久,找問題解決問題的經(jīng)驗越強。西醫(yī)以科學(xué)技術(shù)為手段,通過試驗化的方式不斷尋找突破,并且將成果積累并且傳遞給更多的人,但是否年限越久越有能力,或者是使用得器材越廣越資深,這點全要看個人對于醫(yī)術(shù)的理解,如果僅僅停留在對器械的使用和對成果的依賴,那么只會成為一個庸醫(yī)。當然這里絕對沒有對中西醫(yī)的差別化或者評價,僅僅要說明的是,在手段豐富的情況下,容易忽視了本質(zhì),只看到了皮毛,積累的時候多一些追根溯源,站在別人的成果上才更踏實,因此在對經(jīng)驗積累上向中醫(yī)多學(xué)一些,在尋找突破,傳播技術(shù)上多學(xué)一點西醫(yī)的風(fēng)格。不過說到低,還是要看學(xué)習(xí)的人,靜的下心,沉得住氣,才會有積累,才會有突破.
不做一個純粹的“技術(shù)人員”
不做一個純粹的“技術(shù)人員”,其實也就是說要培養(yǎng)自己多方面的能力,我僅僅把自己想到的一些點列出來說說:
1. 項目產(chǎn)品化的思想。現(xiàn)在就算在學(xué)校里面給導(dǎo)師作項目都講究一個商業(yè)價值,更不要說在企業(yè)里工作。作為一個開發(fā)或者架構(gòu)師最重要的就是要有產(chǎn)品化的概念,這也是項目是否成功的關(guān)鍵。軟件的目的是為人服務(wù),如何服務(wù)的好,那就要以一個產(chǎn)品的思路去做項目,而不是作為實驗室的實驗品,為客戶提供好服務(wù)就會給公司帶來商業(yè)價值,對自己的工作也會有很好的肯定。這是一個良性循環(huán),反之則是惡性循環(huán)(多贏變成多輸)。如何做到產(chǎn)品化,首先就是需要去了解需求,而不是布置需求,其次就是設(shè)計時多聽取一些不同角色的意見,最后就是在客戶的反饋過程中反省。
2. 多一些設(shè)計,少砌兩塊磚。代碼寫的再好,其實也只是用磚塊砌墻砌的比較好罷了,這年代已經(jīng)不會為了節(jié)省兩塊磚而給一個優(yōu)秀工作者了,同時技術(shù)的日新月異,總是擺弄技巧,學(xué)習(xí)花拳繡腿已經(jīng)跟不上時代了。多了解一些行業(yè)背景,多參與一些架構(gòu)設(shè)計,將業(yè)務(wù)設(shè)計用良好的架構(gòu)體系來實現(xiàn),那才是一個稱得上有能力的技術(shù)人員。
3. 學(xué)會前瞻,學(xué)會自己找事。記得我剛進平臺組,最不適應(yīng)的就是我的老大基本不太給我布置太詳細的任務(wù),這就好比進入大學(xué),老師不給作業(yè),自己反而心里沒底了,其實自己找事的過程就是一個自己學(xué)習(xí)的過程,當我一天下來感覺沒干什么,沒學(xué)到什么,心里就開始發(fā)虛。如何能夠前瞻性的去選擇一些目標,如何對現(xiàn)有情況提出一些創(chuàng)新和建議,都是一種更高能力的要求。現(xiàn)在SIP組也是一樣,在我們這個組里雖然現(xiàn)在每周還是布置一定工作,但是我對其他兩個同學(xué)的要求也是希望能夠有前瞻性,學(xué)會發(fā)現(xiàn)問題,預(yù)防問題,更甚者就是提出創(chuàng)新。當你具備了這種環(huán)境的時候,你就需要鍛煉自己的能力了。
4. 做個讓老大放心的人。這點也許很多人和我一樣在業(yè)務(wù)上很早就讓老大覺得可以安心睡覺了,但是其實另一方面,如何在商業(yè)角度看問題,如何培養(yǎng)新人,如何協(xié)調(diào)部門合作等等,都會讓你的老大更加安心。另一方面來看,其實在這些能力的培養(yǎng)過程中,你不再局限于業(yè)務(wù)水平的提升,讓自己在更多方面更加成熟。
六脈神劍
今天是我進入阿里巴巴3年整。在阿里巴巴有個說法,只有在阿里巴巴工作了3年,才能算是一個真正的阿里人,因為理解阿里巴巴的文化,需要三年時間的沉淀。這里就從一個寫代碼的角度分享一下阿里巴巴的六脈神劍文化。
客戶第一:如果你是做架構(gòu)的,作平臺的,作開發(fā)工具的,那么客戶就是和自己一樣的開發(fā)者,多學(xué)習(xí)一下開源項目的精神,多從使用者角度去考慮問題,那么你的東西才會被更多的人認可和使用,永遠不要去做一個“玩具”的開發(fā)者。如果你是做產(chǎn)品的,那么就多聽,多想,多問,永遠不要急著去寫代碼。
擁抱變化:敏捷開發(fā)的基本原則。互聯(lián)網(wǎng)應(yīng)用尤其如此,不要害怕變化,在需求和架構(gòu)之間找到平衡點(說起來比較容易^_^)。
團隊合作:一個人的力量始終有限,分享,交流,合作能夠讓自己事半功倍,學(xué)的更多,看得更遠。
誠信:說到就要做到,做了就要做好,做軟件開發(fā)一樣也需要有責任感,貼滿狗皮膏藥的代碼上如果注釋是你的名字未來也會給你蒙羞。踏踏實實地用心去寫代碼,去設(shè)計架構(gòu),不經(jīng)意間得到的要遠遠比那么一點工資來的多。
激情:還是那句話,你如果不愛這行,乘著年輕趕快轉(zhuǎn)行。
敬業(yè):專業(yè)執(zhí)著,精益求精
很感謝各位能看完這篇感受分享,以上都僅僅是個人的一點感受,能夠引起共鳴那么證明我們的經(jīng)歷很相似,如果能夠給到你一點幫助,那寫這些就真的有意義了。不論你在別人眼里是一個資深架構(gòu)師還是開發(fā)人員,其實如果你愛這個行業(yè)的話,你應(yīng)該就是一個寫代碼的,但是每個人的經(jīng)歷都是一本“寫代碼的自我修養(yǎng)”,珍惜自己的選擇,讓自己在興趣和工作中找到最佳結(jié)合點。
本文來自CSDN博客,轉(zhuǎn)載請標明出處:http://blog.csdn.net/lkjxshi/archive/2010/01/07/5149541.aspx