1. 程式人生 > >【轉】程式設計師的上升空間在哪裡 -------《程式設計師成長路線圖:從入門到優秀》成熟篇(節選)

【轉】程式設計師的上升空間在哪裡 -------《程式設計師成長路線圖:從入門到優秀》成熟篇(節選)

程式設計師的上升空間在哪裡

我見證過許多的程式設計師的成長,他們很多人在進入成熟期之後,技術上相對較高,一般專案開發起來比較自信,沒有什麼太大的困難,有的職位上也有所提升,成了專案經理、設計師,有的甚至是到了管理者的位置。又經過很長時間,這些程式設計師卻在也沒有什麼變化和發展,工作穩定、情緒穩定,好像一切都在按部就班地進行著。有的程式設計師滿足於現在的收入和職位,安於現狀;有的程式設計師卻在安於現狀的同時,苦苦思索,卻找不到自己的上升空間。

我想說的是,滿足於現狀的程式設計師並不能成為優秀的程式設計師,永遠也不會實現程式設計師最初那個夢想。而對於那些思索於未來的程式設計師來說,探索自己的上升空間是一個非常重要的事,有上進心的人始終是這個社會追捧的物件。那麼這個階段程式設計師的上升空間在哪裡呢?這個問題是仁者見仁,智者見智的問題,同時也是和程式設計師個體情況相關的問題。因此,我們可以用嘗試的心態,提出自己的看法和建議:

1、 技術上的反思和提高

無論程式設計師個體之間差異有多大,我認為程式設計師上升空間在於技術上的反思和提高。程式設計師到了成熟階段,往往有一種狂奔到終點後的那種感覺,身體疲乏無力,特別需要休整再戰。要知道程式設計師在“奔跑”的時候,一般是在使用自己的體力,很少用到跑步的技術和技巧。尤其是到最後,更是依靠體力來支撐。從技術提高的曲線來看,新手的技術提高速度最快,無論從時間還是急迫性兩個方面對新手的壓力挺大的。而到了成熟階段,其程式設計時間也大大縮短了和學習技術的迫切性也降低了,所以技術提高速度就慢下來許多。在現實中,我們真的看到有些年輕的程式設計師還看不起那些程式設計師的技術水平呢,就是這個道理。

因此,成熟的程式設計師在安頓之後,一定要坐下來反思自己,看看自己的技術發展之路,哪些走的比較踏實,哪些走的比較急促;哪些是自己的技術特長,哪些是自己的技術薄弱環節。反思後一定要抽出時間抓緊學習,把自己的技術上明顯不足的地方給補上,這樣程式設計師的技術水平加上豐富經驗和工作能力會使得自己更加具有實力,可以應付各種挑戰,為今後的發展鋪平道路。

而那些順其自然的思想,使得程式設計師缺少技術提高的主動性,程式設計師有明顯的技術上的問題,也不主動去解決,而是拖之再拖,從而使得程式設計師的成熟度大打了折扣。

2、 走向軟體設計師

其實很多程式設計師走到這個階段已經在做軟體設計師工作了。這是絕大多數程式設計師發展的必經之路。因為,程式設計師在程式設計序的時候,一方面會實現設計的功能,另一方面也在對設計有一個理解、認識、熟知的過程。進而慢慢地從學習別人設計,轉向到自己參與或獨立設計。如果這個程式設計師真的非常非常喜歡程式設計師這個職業,則可以轉向軟體設計師。這個轉變很大程度是程式設計師意識的轉變,就是說要把程式設計的時間,逐步分攤到軟體設計上,要把重點從程式設計實現轉變到專案的功能設計上。我這裡強調的是“逐步”的一個過程,程式設計師要逐步減少程式設計的時間,增加設計的時間,要克服程式設計的強大吸引力,要主動地攀上設計這個臺階。很難有一個設計師是完全不程式設計的,而且我認為,會程式設計的設計師才是真正的設計師。一般這種轉變需要花上一到兩年時間。

3、 走向專案經理

也有一些程式設計師工作機遇比較好,不但負責了專案的設計工作,而且負責了專案管理工作。對專案經理這個工作有了一定的嘗試。因此,這類程式設計師可以審視一下自己,是否合適這項工作。如果自己對這種工作比較滿意,而且具備專案經理的要求,則可以向專案經理這個方向發展。專案經理承擔著專案管理的職責,對專案負主要責任。它和程式設計師的作用也不相同,專案經理的重點已經從程式設計轉移到對人、對技術、對進度、對專案的管理。由於軟體的專案經理與軟體專案的相關性太大,因此,他必須要了解軟體開發的各個環節、瞭解開發的各種技術和運用、瞭解開發隊伍人員的水平和特點。所以他依舊和程式設計師脫不了干係。從程式設計師到專案經理可以使得專案經理更好地理解程式設計師在專案中的地位和作用,瞭解軟體開發的各種規律性的東西。從而保證專案的正常完成。而且,專案經理的收入在公司中的地位也是比較高的。因此,我認為走向專案經理是程式設計師的另一個發展空間。我想提醒一下,程式設計師在擔任專案經理之前最好要把軟體設計工作做好,這樣在做專案經理的時候,就會有很好的基礎。

4、 走向管理者

很多程式設計師希望自己能成為公司中的主管、經理、老總、老闆,這樣無論是收入和在公司的地位都相對比較高一些。另外,一方面程式設計師可能厭倦了年復一年的程式設計工作,對工作產生了抵觸情緒,希望能擺脫這種步步緊逼的工作狀態。走向管理者其實要求程式設計師要比一般人做更多的準備,要做更多的轉型工作,並不是想當管理者就能成為管理者的。但是,如果程式設計師有這個志向和愛好,有積累了這方面的工作經驗,自己也感覺在這個方面能夠發展,更重要的是有這樣的機會,走向管理者也是可能的。由於軟體公司的管理者畢竟不同於一般公司的管理者,專業能力越強,管理起來就越得心應手的,沒有專業能力的管理,遇到的問題很多,也很難解決。因此,我的建議程式設計師最好要把程式設計、專案設計、專案管理等基礎打打好。這樣轉型到管理者成功率就會高一些。

5、 走向軟體營銷

我一直說,程式設計師最大的缺點之一,就是眼光只盯在技術上。程式設計師在入門階段和成長階段,這種情況還是屬於正常的。但是,到了成熟階段這種缺點將嚴重影響了程式設計師的發展。程式設計師在工作中不免會接觸到使用者,不免會了解到使用者的需求。從而瞭解到軟體實際發揮的作用,進而瞭解了自身的工作價值所在。有的程式設計師則固步自封,不願意和外界打交道,從內心裡堅守技術底線。有的程式設計師則喜歡和外人交流,喜歡把自己的軟體推薦給使用者,而且使用者也樂意接受這種專業的介紹,使用者的接受是程式設計師價值的直接實現,程式設計師因此獲得了工作成就感。這類的程式設計師可以將自己的專業知識和產品營銷結合在一起,推動軟體的銷售和服務,轉向軟體營銷職業。這個職業將是一個比程式設計師更有發展的職業,它可以直接反應程式設計師的工作能力和工作成果,程式設計師的收入和銷售會直接掛鉤。因此,可以讓有才華的程式設計師獲得更高的收入,接觸到更大的軟體市場,看到更廣的個人發展空間。

6、 原地發展

當然也有一些程式設計師惰性比較大,滿足於現狀,享受著眼前的勝利果實,也無可非議。對待這些程式設計師,我們不要強求他們改變自己的想法,我建議是原地發展,把本職工作做得更好,把自己的技術水平往上再提高一步。在這個過程中他們的能力和自信心都會得到提高,他們的想法不會一直一成不變的。磨刀不誤砍柴功,刀快了自然會去砍柴的。

7、 跳槽走人

還有一種情況,程式設計師工作很努力,技術水平也有很大的提高,工作成績也很突出,但是,公司的工作環境讓他感覺不好,例如,收入和付出差距很大,而且短期內看不到加薪的可能;自己的技術水平已經超出公司開發所需,英雄無用武之地;公司的經營狀況比較差、看不到公司未來;公司的人際關係緊張,小人當道,自己得不到重用等。他可以選擇跳槽走人。要說明的是,這個時候跳槽走人你是有本錢的,這個本錢就是你積累的工作業績、技術水平和工作能力。

程式設計師在成熟期面臨著上升空間的選擇,是上還是不上往往決定了程式設計師今後的發展。水往低處流,人往高處走,只要程式設計師有向上的意識,不滿足於現狀,根據自身的特點和資源選擇發展方向,我想程式設計師一定會有很好的發展前途。