1. 程式人生 > >關於程式設計師工作的一些想法

關於程式設計師工作的一些想法

工作有幾年了。對於軟體開發工作,吸引人的標題都是雞湯,激勵人的日誌多是廢話。

那麼,什麼不是廢話,一個程式設計師最終想聽到,並需要聽到的是什麼呢?

哪種語言最好,什麼職位掙多少錢,傷到自尊或洋洋得意,看完了,也就完了,過一陣,和沒看過沒什麼區別。

在我看來,寫程式是一項科學研究工作,程式設計師工作需要一些實實在在的方法論。並不是努力、練習之類的空話套話而已。


首先說,科學是什麼?是一種辨識對錯的方法論。有基礎也有邊界。

一、參與討論的人要有共同的認知基礎。

一個產品,你說要效能優先,他說要使用者體驗優先,還有人說要安裝方便,這個問題就是不可討論的,因為參與者並沒有共同的基礎,最後肯定是大家引經據典,嗓門很大,各種比喻最後不了了之。你說牛頓是對的,我說牛頓是錯的,那麼我們就不能合作去解決一個由牛頓定律需要解決的問題。

二、發言人的發言一定要可以被證偽

努力一定會成功。我很努力,為什麼還沒有成功呢?他會說,因為你還不夠努力。努力一次無法被量化,這句話不能被稱作是命題,因此沒有辦法被證偽,也因此這句話是沒有意義廢話。這也就是為什麼成功學並不能讓人成功的原因。

在程式設計師解決問題的過程中,很多問題就是需要猜想的,提出的猜想一定要可以被證偽,這樣你才有下一步的計劃,專案才能有進度,如果只是停留在大家都公認的問題上,不去細化問題,問題根本得不到解決。

三、事實證明不了事實,事實可以證明抽象,抽象可以指導行動,這才是我們最終要的東西

公雞打鳴,太陽升起。公雞打鳴並不能作為太陽升起的證據,因為公雞哪天睡過了太陽還是會升起。這是兩個事實。一個事實並不能證明另一個事實。“公雞打鳴,驚醒了太陽神,因此太陽升起了”,這個是抽象的理論了,我們暫時稱它為公雞打鳴定理,這條定理是可以被證偽的,因此是一個有用的理論。我們可以此定理來通知自己及時起床下地幹活,這條理論是有用的。從某一天開始所有公雞被殺掉吃肉,公雞不打鳴了,但是太陽也準時升起,毫無例外。這就說明公雞打鳴定理不完善,需要進化。當一個科學定理,被不斷地證偽樹立過程中,這個科學定理就實現了進化,這條科學定理也就越能貼近事實,對人行動的指導意義也就越大。因此,可以證偽是科學的根本。從事實中,抽象出定理,是科學進化的根本。因此科學才比其他文化更具活力。


所以在生活過程中,我們要檢討,自己說的話是不是廢話。

“之前人就是這麼做的,我這樣做肯定沒問題”,"人家搞了好久都沒搞出來的問題,被你一下就想出來了?",“這個專案這麼大,一時半會肯定搞不出來”,“大家都這麼用,肯定沒問題”

其實改善生活就是從少說廢話開始。小程式設計師的最大問題就是愛炫耀自己。一丁點的小成就都要誇大其詞地說。其實大家都是從事科學工作的,什麼工作,什麼難度,你做了多少貢獻,和你朝夕相處的同事的心理都是一清二楚地。沒必要可以強調。不如多提出一些合理的假設,經常確定一下專案組人員的共識,多挑挑別人的BUG來得實在。


回頭看看整篇部落格,程式設計師寫文章真是硬傷,我剛才到底寫的什麼,完全前言不搭後語。