1. 程式人生 > >現代軟件工程—構建之法---第三章:練習與討論

現代軟件工程—構建之法---第三章:練習與討論

員工 軟件行業 別人 經典 可能 能力 現在 必備 似的

1.選哪一種醫生?

(1).如果是我的話,我會選擇C類型的醫生。因為c類型的醫生看著比較靠譜,首先他的從業經驗比較豐富,遇見過很多類似的病歷,對病情包括手術比較有把握,對患者可能會比較了解;其次就是他可以一邊手術一邊聊天,表現出來的並不是不認真,而是給人一種自信的感覺,所以我會選擇C類型的醫生。

(2).職業資格是對從事某一職業所必備的學識、技術和能力的基本要求。職業資格包括從業資格和執業資格。從業資格是指從事某一專業(工種)學識、技術和能力的起點標準。執業資格是指政府對某些責任較大,社會通用性強,關系公共利益的專業(工種)實行準入控制,是依法獨立開業或從事某一特定專業(工種)學識、技術和能力的必備標準。

我認為,雖然大家都知道職業考試和職業證書並不是衡量一個人是否可以從業上崗的唯一標準,但是職業考試和證書在一定程度上可以說明一個人具有該方面的知識和能力,證書與上崗的關系並不是絕對的。軟件工程師並不是只可以擁有正式的職業證書才可以上崗的,只要軟件工程師有比較強的專業知識與能力,有職業道德操守就可以上崗就可以工作。

2.工程還是藝術

(1)、軟件開發是一門工程, 是一門藝術,還是一門手藝? 你如何衡量藝術家? 如何衡量創造能力?

無論是把軟件開發看作藝術、手藝、生意、工程,還是把它看成科學,主張不同的開發者都覺得自己的理由非常充分。只要去聽一聽這些支持各自論點的理由,你就會發現,其中許多理由都能說得通,雖然某些理由可能比另外一些理由更加充分,但總的來說,每條理由都或多或少能夠成立。另外一項較大的分歧在於軟件工藝這個名稱本身。有些人完全排斥這個詞。他們認為,把富於創新精神且極速變化的軟件行業和傳統的手工業聯系起來是沒有意義的。這種想法確實有道理。

衡量藝術家:藝術即是怎麽樣的審視美和對美的提煉創造 這裏有兩層含義 所謂“藝術標準”那麽相應的應該說是在特定的藝術發展史中某某流派風格的標準 因為每一個歷史時期對藝術的審視角度是不一樣的 但要概稱為一句 那麽我認為應該是從哲學的生活對待人生,從哲學的態度對待藝術,從哲學的思想對待創作。同時,理性認識中國的儒、佛、道與人類生活中的真正意念,才是一個藝術家的終生追求目標。

衡量創造能力:擁有創造力的人擁有以下條件:
1、善於觀察事物的特征與規律;
2、善於歸納和總結事物的特征特征與規律;
3、善於學以致用,善於理論聯系實際;
4、具有否定舊事物的思維方式,善於逆向思維;
5、具有強烈的好奇心和求知欲;
6、具有超強的學習能力和動手實踐能力;
7、具有執著追求理想、不達目的誓不罷休的敬業精神;

(2)、軟件設計工程師們在做代碼復審的時候,是看“重復字”的多少, 還是程序的藝術性?

在這個方面個人認為軟件設計跟文學是有極大地不同的。而且即便是文學作品,關於“重復字”這件事,在不同類型的文學作品中也是不同的。同樣的軟件在代碼復審時,代碼量很大的大型軟件同一個簡單的helloworld小程序中的重字也沒有可比性。況且在軟件中代碼的重用不可避免,一個函數也會被調用多次。合理的對代碼進行重用,應該也是一件藝術性的工作。

(3)、在中國,一個成名的歌唱家往往出現在各種場合,演唱她當年成名的作品,觀眾們往往顯得百聽不厭。一個軟件工程師就不能這樣,在舞臺上展現他當年寫的“hello world” 程序,或者是1.0 的產品。為啥有這樣的區別呢?

一個軟件工程師不能在舞臺上展現他當年寫的“hello world” 程序,或者是1.0 的產品的原因,個人認為是因為,軟件開發雖然是一門藝術,但是它卻不僅僅是一門藝術。雖然經典永遠是經典,但是軟件開發它自身會有一個更新叠代的過程。而且軟件工程師與歌唱家並不是相同的職業,不能在同一種情況下去要求不同性質的事物會出現相同的結果,我們需要辯證的去看待這個事情。

3.絞刑架和職業發展

請同學們思考這個故事對個人及軟件業發展的啟示。

絞刑架故事就是在職業發展道路上的困難。各類行業也是如此。有了困難,才能阻攔與淘汰掉不如我們的競爭者。

4.案例

個人認為小飛應該保持保持原有的設計,以大局為重,因為可以在之後的時間內彌補,,如果是我,我會在之後的工作中承認自己的錯誤,並且解釋清楚後期彌補的重要性。

5.成長和代碼量的關系

軟件工程師的工作就是寫代碼,相關專業的練習也是以閱讀代碼,寫代碼為主,那麽代碼量和工程師的水平是線性的關系麽?

我認為不是,因為現在我認為以自己的水平寫一個2000行的代碼還是可以的,但是我並不是工程師,一個好的工程師我認為並不在於代碼量的比較,而是著重於質量吧,一個工程師之所以被稱為工程師,是因為在代碼量越來越多的同時還是能保證自己程序的質量,所以我認為代碼量和工程師是階段性的成長過程吧。

6.學什麽,怎麽學,核心競爭力是什麽?

程序員經常在學習,交流,提高自己,怎樣才是有效的學習方法呢?打字快就能寫程序快嗎?哪一種語言、編輯器是最好?最終我們這個行業的核心競爭力是什麽?

(1)、有效的學習方法:

1)、首先!上課之前要預習下一門課程。不懂的做好記號,因為計算機專業要上課的時候聽不懂。那麽就會一直聽不懂了。上課的時候一定要認真聽課。上計算機理論課的時候是比較枯燥的,但是一定要克服哦。上課是學好計算機最重要的部分了。一般在計算機學校都會分為理論課和上機課!上機課主要是鍛煉自己的實際動手操作能力。要知道你理論在怎麽厲害,不會自己動手操作那你很難學好計算機專業的。然後課外一定要多多練習。可以找一些以前別人做過的項目,然後自己在去做。學計算機專業的要經常去一些計算機相關的論壇去轉轉。

(2)、我覺得打字快不一定寫程序快。打字只是一種單純的體力活動或者技巧,打字的速度是可以通過練習去提高的;而寫程序是一種創造活動,寫程序需要程序員去動腦筋思考程序的寫法。

(3)、語言:對於服務端開發來說,Java、PHP或者Python都是不錯的。前端來說,Web前端也可以。

其實編輯器的話還是聽一下專業人士的分析,不要根據喜歡程度就去盲目的選擇。

(4)、我們這個行業的核心競爭力是什麽?

我認為有以下4點:溝通能力;學習能力;全局眼光和行業洞察力;創新能力。

7.各式各樣的工程師

我覺的一個人的能力不是從外貌就可以定奪的,當今知名人士身體有殘疾的多了去了,每一個都是一個偉人,都為各自的領域做出了極大的貢獻,只要是一名優秀的,合格的IT人士,就是一個偉大的工程師,就像這位盲人工程師一樣,雖然失去了視力,但是他仍可以去做編程工作,而且一做就是十幾年。

8.對職業梯子的思考

職業梯概念:職業梯 是指決定組織內部人員晉升的不同條件、方式和程序的政策組合。職業梯可以顯示出晉升機會的多少,如何去爭取,從而為那些渴望獲得內部晉升的員工指明努力方向,提供平等競爭的機制。

職業梯的寬度:要求員工在多個職能部分,多個工作環境輪換工作的職業梯為寬職業梯,它適應對員工高度綜合能力的要求,否則只要求員工具備有限專業經驗和能力的需要。

職業梯的速度:根據員工能力和成績的不同,職業梯設置可以有快慢之分。

9自知之明

自知之明的概念:就是自己能了解自己,自己能認識自己,自己能認知自己。

我對自己還是有自知之明的,對自己不是很熟知的領域,一般會虛心學習,對自己熟知的領域會分享一些經驗供參考。

現代軟件工程—構建之法---第三章:練習與討論