期中做業,閱讀材料感想

html

軟件工程≠計算機科學

軟件是「直接涉及人類活動的」, 而傳統的計算機科學沒有這個屬性。計算機科學會關係與P和NP之間的巨大差別,而軟件工程則側重於對於給定的人類問題,在適當的時間內,合理的成本價,能夠接受的錯誤bug來完成咱們預期功能。人們日益增加的需求和日益出現的軟件是並進的,其關注點在於知足人們的真實需求。有計算機科學的專業在前,軟件工程在其之上給人們的需求得以知足,而且權衡各方面的成本。在後麪人件的閱讀後,感覺會更加深入。程序員

大教堂和市集 + 有人負責,纔有質量:寫給在集市中迷失的一代

大教堂模式:由專屬的團隊負責開發,開發完成後開源後的軟件。每一個版本都由其控制。
市集模式:開發過程當中,就把源碼公開供人監視和共同開發。
做者認爲,前者糾錯的代價更大,後者」讓更多人看到源碼,bug將無所遁形「。
單是這些介紹其實不若有其餘聲音一塊兒討論,所以把後面這個和它放在了一塊兒。後面這篇文章則認爲,只有有人負責纔有質量,市集模式的開發方式,致使代碼無人負責,致使了爲了解決問題而使用了沒有設計好的流程和方式,存留了太多問題。這兩種相比,我沒有太多的體驗由於沒有參與過相似項目的開發或者是源碼體驗,不過這種思考和爭辯感受仍是有意思的。編程

現代軟件工程 習而學的軟件工程教育

這種體驗仍是有一些想法的。好比如今若是讓我用新的語言開始寫代碼,那麼基本上就是拿過來直接寫,把手冊看成字典來查詢,在開發的過程當中學習。可是在大一大二轉專業過來剛開始進行的時候,是特別痛苦的,由於沒有編程基礎,不知道什麼是編寫gui的方法,沒有接觸過面向對象,而老師就直接佈置了做業,認爲咱們能夠自學完成,可是就太痛苦了,徹底應付不了,致使效果極差。我認爲,在有了必定的基礎和認識以後,習而學纔是高效有用的。好比實習,咱們都知道新人來後前面的一段時間會要別人教其學習,對公司帶來的生產力是負數,若是起點過低,相信對每一方都是傷害。可是,在有一些基礎後的習而學是高效的,我認爲比學而習高效的多,但也應當有一些基礎,或者同時進行,或者一開始的習而學不要起點過高。學習

What Should We Teach New Software Developers? Why?

計算機行業和軟件工業界的gap帶來的困擾,我做爲一個半路出家沒有代碼基礎的同窗來講,感覺仍是很大的,能夠說這個困擾伴隨了整個大二大三,其實到如今也沒有解決清楚。一開始,擔心我想要去工業界工做可是爲何課程的設置這麼基礎,爲何沒有完成的大項目課程;擔心我要去科研,爲何實驗室的引入和設計不放在大學的一開始或者大二大三,爲何不教你們科研都想學的深度學習的完整課程。爲何不教咱們科研可是畢業開始申請了又要咱們拿出來gpa和論文。而後以爲計算機科學專業是給那些真正有想法的人,那些對編程有興趣的人,本身會探索各類技巧,完成不少項目;那些對科研感興趣的,會在課餘主動在實驗室完成不少學習和實踐。對於沒有什麼想法隨波逐流的人來講,學習計算機科學而不是軟件工程,我認爲必定程度上是有負面影響的:想要培養科研人才卻不督促完成,挑選出了優秀的適合科研的自學和有熱情的人才,可是拋棄了後進同窗於不顧。或許之後課改能夠更加因材施教一些。ui

《人件》

人件讀後能感受到,真實地運營一個軟件公司和本身設想中的運營、和運行一個做業項目小組,或者運行一個傳統行業的差異都是很大的。軟件公司以人才爲核心生產力和生產資源,從人員的招聘、工做環境的維護、人員流失的代價、工做方式的衡量評估方法,都以人這一資源爲核心圍繞進行。軟件公司裏,人做爲最核心的生產資源,有其獨特性,每一個人都不一樣,生產的進行沒法像傳統行業同樣由機械或者其餘生產資源決定其生產效率,而是人的本身的創造性爲生產力,面對這樣的頗有彈性的核心生產資源,處理方法應當有所不一樣。其次是軟件公司做爲「高新技術」公司,不管是員工仍是公司每每關注點會放在高新技術上,可是實際上對於大多數的普通軟件公司來講,管理者的思考中心應當放在對人的管理上,由於「高新技術」是那些研究人員所創造的,普通的生產公司,對於人這一核心生產資源的重視纔是最應該作的。
首先想談一下使我有感觸的小點。第一個就是「碎片化工做」的傷害了。若是一個員工要兼顧4個以上的項目,那麼他就要承受4倍的人際互動,就等於把全部時間都花在角色切換上了。這個對個人觸動太大了,以及後續的「沒有人能夠同時是多個有凝聚力團體的一員。緊密協做的凝聚力團體是排他的,碎片化的團隊不可能造成凝聚力」。做爲一個學生,我時常感覺到每每只有一個工做在手頭的時候,我能夠進入浸入式的工做狀態,效率很是高;而手頭有多個工做時,不只是切換的花費的無效時間、從新進入思考狀態的時間使人煩惱,並且是有顧此失彼的事情時常發生。而後是「今天常見的模塊式小隔間是各方妥協的經典之做,在沒給你任何有意義的隱私的前提下,還讓你感受被隔開了。」忍不住想笑,確實是形容的很貼切。對於生活中習覺得常的設施,沒有想到它背後還蘊含了對於員工的「隱私」體驗和上級對於工做狀態的監管之間的角力妥協。而後是加班會破壞集體的團結,由於額外的時間的佔用總會有人由於私人的緣由沒法參與,有些對大多數人自由靈活的時間安排對於某些人來講是固定沒法參與的,久而久之會致使其餘人感覺到不公平而破壞掉凝聚力和團結性。
而後是聊一下這本書的核心內容帶來的收穫。首先是把人做爲核心生產資源的認識,其次是對人這一特殊生產資源的高效利用須要有所思考。把人看成核心生產資源,一次兩次的虛假deadline提升生產率會致使後續的懈怠;在工做環境的隱私和安靜上的投入能夠有更高的彙報;留不住人才,人員的交換和流失對於公司來講代價比想象中大得多;管理者應當以產出質量爲衡量指標而非工做時長。對於人這一特殊生產資源的高效利用,不一樣於人在流水線上的工做,時間和產出成正比,程序員的產出只和他高效思考工做的「時間流「成正比。無效的工做時間有不少,加班佔用了私下時間,每每會帶來其正常工做時間的低效和作其餘事,要讓員工意識到完整的浸入式工做的重要性。要給小團隊足夠的自由,好比空間的安排和時間的安排,能夠以最終的項目產出做爲其是否高效工做的衡量方法。招聘新人的前一段時間帶來的生產力是負數,可是對於人的投資是必須的;等等。設計

相關文章
相關標籤/搜索