來源:噴嚏網
入行
你為什麼要當程式設計師?每當我問起很多人入行的人,回答各不相同。
有很多人是因為喜歡。誰說過:熱愛是最好的老師。當然,關鍵是熱愛是否能支撐自己把愛好做成一份職業。但不論做多久,因為熱愛或曾經熱愛,這個理由就足夠了。你不能希望撒一粒種子,都變成參天大樹。所以,對進來和離開的人,我們都應該鼓勵。
新入行的人,建議他們用1-2年來適應、評估程式設計師的生活狀態。不論滿懷希望還是充滿失落,這些時間都不會浪費。在如今資訊時代,曾經的經歷,都會使有這方面經歷的人擁有獨特的眼光,很容易在其他領域內,引入新的思考。
進入軟體行業,還是其他行業,其實,對一個新人來說,最重要的東西不是行業本身。而是,你自己得明白:你是什麼樣的人?你喜歡做什麼?你希望做什麼?你希望成為什麼?你希望現在如何?你希望幾年後又是怎麼樣?最關鍵的還有:你現在能做什麼?
當然,你不可能憑空亂想,如果你自己都覺得目標遙遠,那就仔細傾聽內心的感受。你隨時得問自己:我到底要什麼?
有一定的方向感,就可以上路了,不必患得患失。
技能
作為立身之本,絕大多數的程式設計師首先關注的是程式設計知識、技能。他們大多容易忽視自己在從小到大的學習中,已經發展出來的能力:學習的能力、溝通的能力。這些能力雖然並不能馬上換來高薪,但是,卻對一個人後來的發展,有長遠的影響。
程式設計師的工作,編碼只是一個技能的部分,這種把知識轉化為成果的技能非常重要。一個優秀的程式設計師所產生的績效,是一般的程式設計師的幾倍和幾十倍。對一個軟體公司而言,好的程式設計師仍然是公司的核心資產。
新入行的程式設計師都應該首先把精力都集中在技能的提高上。隨著技能的提高,工作能力的增強,自信也會提高。
但是,不要光埋頭幹活,不抬頭看路。如果你在一個不太正規的公司,你所做的東西和接觸到東西,不太規範、有效的話,你可能在這個行業做了很多年,都算不上入行,就是說專業的起點太低。即使你有足夠的時間學習,但是由於沒有實踐的平臺,你要走的彎路就太多了。這樣,你需要仔細的評估自己的選擇了。
程式設計師普遍都有一種激情:希望自己做的產品,能為成千上萬的使用者使用。這種職業的自豪感,激勵著每一個程式設計師的創造力和想象力。
即使程式設計師的工作能為你帶來很好的收入,但你對自己所做的東西,毫無成就感,或者跟你的價值取向衝突的話,我想,你也應該考慮重新選擇自己的職業生涯。
我認為,程式設計師的自律性都是比較高的。他們大多數人都熱愛自己的工作,自己學習專業知識,努力提高工作技能。
除了對專業知識的把握以外,程式設計師還應該擴充自己的視野,程式設計師要學習關注自己的生存環境,隨時審視未來的發展空間,選擇自己的發展道路。仍然要問:我要什麼?我要到哪裡去?
總的說來,程式設計師生存的空間比較直接、單純。程式設計師普遍不喜歡工作時受人打擾,這一切都在情理之中。
技術管理者
技術管理者和程式設計師,他們服務的物件和工作方式完全不同。
程式設計師是大我,主要是完成任務,所有的事情主要靠自己完成,目標就是完成技術思考和轉化。
技術管理者是小我,服務的物件是團隊,目標是組織和連線流程。用俗話說,就是要當“萬金油”。
技術管理者,不論是專案經理,還是技術總監,首先要會選人和用人。要完成什麼樣的任務,選什麼樣的人,是領導的基本功。
技術管理者跟程式設計師最大的不同在於知道在有限資源的情況下,如何做出最合理的選擇,不一定是最好的選擇。領導者知道,用人用其長,而不會去苛求每個人都達到完美。
程式設計師可以談論品味,像藝術家一樣看待工作;而技術管理者談論效果,是現實主義者。好的技術管理者,能在長期的理想和現實的結果中找到一個好的平衡。
技術管理者,關心的是外部目標、內部人員績效和激勵、質量控制、產品服務等一系列的活動,監督、評估並推進專案或產品的流程,直到產生一個可以交付的外部結果。
技術管理者的工作重心在人,在團隊。他的績效是通過組織和團隊的績效體現出來的。
從程式設計師到技術管理者
中國有句古話:勞心者治人,勞力者治於人。很多時候容易理解為:程式設計師勞力,技術管理者勞心。這種想法最容易造成程式設計師內心的不平衡。我想,現在的知識社會,大多既要勞心,又要勞力。只勞心,不勞力的人,有知識,沒有執行和轉換能力,這樣的人,很難駕馭和管理真正的技術團隊;只勞力,不勞心的人,不會提高自己的競爭力,自己也不會滿意。
做程式設計師,還是技術管理者,這只是分工不同,並沒有高低貴賤之分。可以看見,由於程式設計師和技術管理者定位和服務物件的不同,他們的知識結構的要求也有所不同。程式設計師看起來更技術化,便於評估,比較深入,技術管理者看起來更行政化,似乎表面,寬泛化,但都需要專業的素養和才幹。
程式設計師也可以成為好的技術管理者,但需要積累和調整自己的知識結構和心態:要能勇敢地獲取外部的力量。因為管理者的目標並不意味著他有多大的能力,而是他的團隊有沒有能力,有沒有成效。那種認為管理者不勞而獲的想法,是一種偏見。大家職責不同,責任不同。
一個優秀的技術人才,一定要選擇一個優秀的團隊。一個好的技術管理者,也要充分發揮技術人才的優勢,這樣,只有團隊的力量,才可以把自己的才能成百上千地放大。
從外部來看待成長
從程式設計師到技術管理者,是一個眾說紛紜的話題。但是,這不應該是一個非此即彼,孰優孰劣的問題。我更願意看成是一個組織環境中,不同環節上不同的位置和選擇,跟定位和特長有關。
站在組織的觀點來看,在一個團隊的內部,是沒有績效可言的。只有團隊,對外產生了價值,個人才有價值。
或許並不是所有的人都能接受這一點。
所以,當你問自己得到了什麼的時候?你也應該問自己奉獻了什麼?什麼是應該體現你的報酬?你的報酬是否體現了你的責任和承擔的風險?
很多時候,不是你是否值多少錢的問題,而是在一個商業的環境中,沒有貢獻,就沒有價值。
一個人要客觀地看待自己,不論是程式設計師還是管理者,都不要不可一世或忘自菲薄。天生我才必有用。一個人的成長,應該從外部的趨勢和影響,來學習、選擇和發展。把更多時間和精力,放在建立自己的核心競爭力,找到自己事業的夥伴上。
請勇往直前,不要患得患失,不要怨天尤人,命運就掌握在自己的手中!
幸福和健康
沒有任何正當的理由,讓人用幸福和健康來交換所謂的前途。永遠牢記:身體是革命的本錢。