1. 程式人生 > >程式設計師願景,拉力與阻力

程式設計師願景,拉力與阻力

最近讀了彼得·聖吉的《第五項修煉》,有點感悟。這本書是從系統力學的角度闡述如何建立學習型的組織,通過建立學習型的組織,使企業從優秀到卓越,使企業基業長青,被稱為21世紀的管理聖經。這篇文章探討一下書中五項修煉中的第一項修煉:自我超越。我將從程式設計師的成長角度來進行:程式設計師如何進行自我超越。

首先要建立個人的願景

願景是程式設計師內心真正最關心的事情。願景不同於上層目標,上層目標是抽象的,屬於方向性的、比較廣泛,而願景是一個特定的結果,一種期望的未來景象。對程式設計師來說上層目標可能是提升程式設計能力,其願景是成為開發leader。當你完成成為一位開發leader這個願景之後,上層目標可能還是提升程式設計能力,而願景可以變成了成為一位CTO了。

上層目標和願景是相輔相成的。由於願景是程式設計師內心真正最關心的事情,因此會在做真正想做事情的時候,你會精神奕奕,充滿熱忱。面對挫折的時候,也會堅忍不拔。因此程式設計師要實現自我超越,首先要建立個人的願景,比如成為PM,成為CTO等。建立個人願景之後,接下來我們需要看清楚自己的現狀。

其次保持創造性的張力

在邁向建立好的願景的過程中,知道自己現在身在何處是非常重要的。 也就是說程式設計師需要看清楚自己的現狀。當我們將願景和現狀在大腦裡面同時並列時,心中便會產生一個創造性的張力,一種想把二者合而為一的力量。張力的結果只有兩種可能的途徑:把現狀拉向願景,或者把願景拉向現狀。至於最後會發生哪一種情況,在於我們是否對願景堅定不移。

需要注意的是這種創造性的張力常常夾雜著焦慮、悲哀、氣餒、絕望、擔憂等感覺。瞭解因創造性張力而產生的負面情緒,並不是創造性張力本身,而是所謂的“情緒張力”,這點很重要。 因為大部分討厭情緒張力。減少情緒張力只要不堅持願景,降低願景,創造性張力就會鬆些,情緒張力自然也少些。

因此程式設計師要保持創造性的張力,利用願景和現狀之間的差距來產生創造的能量,不要因為情緒張力而放棄自己的願景。

舉個例子來說。我要成為CTO,這是願景;而現狀是我只是一個程式設計師,那麼願景成為CTO和現狀是程式設計師之間便產生一種張力。而認為自己經驗不夠;CTO需要很強的溝通和管理能力,這些都是我不具備的;CTO需要很強的思維和邏輯判斷能力,這些我很難做到;這些便是一些負面的情緒張力。正確的做法是區分創造性張力和情緒張力,不要因為情緒張力而影響拉向我成為CTO這種創造性的張力。並且我們在成長的道路上持續保持這種創造性張力。

三是看清結構性衝突

如果我們對自己說:“我能夠創造我真正想要的生活,在每一方面,不論工作、家庭、人際關係、社群生活,以及其他更大的範圍。”,注意自己內心對於這項宣示的反應,大部分程式設計師的心中有微弱的聲音在說:“你在開玩笑嗎?你真的相信會如此嗎?那是不可能達到的。個人或工作方面或有可能,至於更大的範圍嘛。。?”,這些對自己能力限制的想法,便是在心中一種根深蒂固的成見。我們需要根除這些深蒂固的成見。

多數人心中都有限制自己創造力的矛盾。其中較為常見的是,相信自己沒能力實現真正在乎的事情。另一種阻礙自己發展的矛盾,是認為自己不夠資格得到所想要的。我們應當時時警惕自己不要掉入這兩個陷阱之中,並且讓阻礙創造及實現願景的這股強大的、結構性的負面力量,在我們心靈、智慧的強光照射之下無所遁形。

假想你向著自己的目標移動,有一根橡皮筋象徵創造性張力,把你拉向想要去的方向,但是也想象還有第二根橡皮筋,被無力感或不夠格的信念拉住。當第一根橡皮筋把你拉向目標,第二根橡皮筋把你拉回你不能(或不夠格)得到這個目標的潛在想法。這種系統就是“結構性衝突”,它是一個各方力量互相沖突的結構,同時把我們拉向和拉離所想要的。

因而,當我們愈是接近達成願景時,第二根橡皮筋把我們拉離願景的力量愈大。這個向後拉的力量可以許多方式呈現:比如我開始詢問自己是否真正想要成為CTO、感覺完成工作愈來愈困難、意外的障礙突然冒出來、周圍的人讓我感到失望。

那麼如何克服阻礙發展的結構性衝突的力量呢?

  1. 對於這種阻礙發展的結構性衝突的力量,軟弱的人採取的方式是消極放棄願景的方式。
  2. 不少管理者會使用“操縱衝突”的方式,比如經常聽到管理人員說“如果我們的目標無法達成時,後果會如何”的方式來激勵大家,人們一旦習於運用操縱衝突的方式,便會陷入“捨本逐末”的結構,相信只有透過連續的焦慮與害怕狀態才能使自己成功,其實顯然是不正確的。
  3. 很多成功人士是靠意志力。也就是全神貫注地去擊敗達成目標的過程中所有形式的抗拒力。但是這種方式也是有問題的,比如需要付出大量的時間和精力,很多成功人士事業成功,但是家庭並不成功。
  4. 還有一種方式是辨別出這些阻力,誠實的面對事實真相。比如對於相信自己沒能力實現真正在乎的事情和認為自己不夠資格得到所想要這兩種阻力,首先,我們承認它是事實,他是我的現狀,然後將克服這兩種不利的信念設定為自己的願景,通過創造性的張力去完成。

對於程式設計師來說,在實現自己的願景過程中會遇到很多的阻力,除了上面的兩種信念之外,還有很多其他的阻力。我們需要辨別出這些阻力,並誠實的面對這些阻力,然後利用創造性的張力去克服它們。

總結:程式設計師需要建立個人願景,然後認清自己的現狀,始終保持創造性的張力,通過創造性的張力克服阻礙自己發展的結構性衝突的阻力,等我們完成願景之後,就可以重新建立新的願景。如果從第五項修煉:系統思考的角度來看,程式設計師自我超越是一個增強環。