我的博客-ASE課程最後一週總結

回顧課程計劃,完成程度如何?

當時的計劃是學習完整的現代的軟件工程知識,可以完成一個優質的軟件。
能力調查表和課後指望:html

技能 課前評估 課後指望 如何提高
程序理解 2 5 科研mentor監督讀和修改最早進的算法代碼
代碼質量 2 5 高效利用時間,對於本身如今的水平,先埋頭寫就是了
架構設計 2 5 對於最後的團隊項目,確定須要學習開源的項目代碼或者和組裏其餘同窗學習才行,在此過程當中學習成熟的代碼結構設計和項目架構設計
線程進程設計 1 5 科研這邊的程序跑在多個GPU上,會練習到
我的源碼管理 3 5 使用git

如今看起來,學習完整的現代軟件工程知識,完成一個優質的軟件,基本算是完成了。好比如今對軟件工程的認識,和完成的還不錯的期末做業
對於技能表裏的計劃,程序理解能力提高,有提高,可是大概如今3-4分吧。代碼質量感受幾乎沒啥提高,由於埋頭寫代碼,也不知道本身寫的好很差,基本上就是能完成功能就萬歲。架構設計提高挺大的,多虧了組裏beta階段來了王子博同窗,跟他學習了不少。如今大概3-4分。線程進程管理有提高,如今大概2-3分。我的源代碼管理基本完成,代碼質量參考小組做業的開源代碼一樣的,也是子博給了不少的指導。前端

你在課程開始快速瀏覽了《構建之法》,提了 5 個問題, 請回顧那些問題, 本身回答它們。

在第一章的末尾,討論了bug和feature之間的關係,有些人知道有些產品的質量不如另一些好,可是也會選擇那些不夠好的產品,由於它們知足了顧客的需求,產品是否有理想的銷量是和可否知足顧客需求直接相關的。在暑期科研中,小組研究的課題是去尋找深度學習庫代碼之中的bug,可是深度學習中某一層的bug有可能並不會對最後的預測準確率有很大的影響(此處bug指和理論算法中實現的函數有區別,錯誤的實現代碼),由於在訓練的過程當中可能這個層的bug會起到像新的激活層同樣的效果,甚至可能對預測正確率有好的提高。那麼這種bug須要解決麼?vue

如今感受起來,bug是和軟件不可分割的,軟件中幾乎不可能徹底沒有bug。bug的解決要考慮到成本。好比咱們的項目中有一些已知的不足,或者沒有實現的功能,可是考慮到同窗的時間和項目的進度,只能砍掉。開發新功能和解決bug之間,工做量和代價之間,都要有取捨和平衡。
***git

在第十章中提到,咱們有不一樣程度的典型用戶,有的對軟件的專業程度需求高,有的需求低,這個在如今的軟件產品的對應中,是不是家庭版、我的版、專業版、企業版等等區分呢?若是可讓比較弱需求低的用戶在使用過程當中不會有那種軟件認爲我太弱了不給我所有的功能一類的感受呢?程序員

用戶選擇合適本身的版本使用起來也會更流暢。新手不須要那些很複雜的可是根本用不到的功能。
***github

在8.6.1以及14.1.2分別提到了項目目標預期與進度調整、開發過程的可見性的問題,在第七章微軟MSF中也提到了給員工足夠的信任的問題,若是任務緊,趕時間,項目參與人員也在盡力作,可是由於能力不足、或者壓力大致使拖延症等等,畏懼彙報進度;這種狀況下是應該要求讓員工不管作成什麼樣都如實彙報,仍是設置好ddl中途就再也不追問了呢?算法

必定要定時彙報進度!當過PM以後對這個有了不少的體會。有衡量的標準和可靠的spec,即便員工遇到了困難進度緩慢,也必定要如實彙報,方便管理者內心有數,能夠處理和協調。數據庫


私人問題,在14章質量保障中提到了若干互聯網公司的安全事故致使用戶用戶名、密碼泄露,做爲軟件開發很資深的研發總監,對於我的用戶的密碼設置問題,是否有什麼建議?django

是的,有不少軟件開發公司對用戶的密碼保護很差,對於咱們的密碼沒有進行合理的加密保護,甚至前一段時間的12306搶票軟件明文密碼泄露的問題。做爲用戶,咱們應當分級設計密碼,重要的軟件用複雜的密碼,不重要的軟件能夠用同一套密碼,泄露了危險也不大。api

看看還有什麼新的問題產生,請列出來,建議列出 2-3 個新問題。 可讓老師和助教來回答


  • 非程序員出身的PM會在工做的過程當中出現各類問題,爲何還會有不少大公司不少很重要的崗位的PM是屬於不會寫代碼沒有工程經歷的呢?爲何不選擇那些有代碼經驗的人作PM呢?
    ***
  • 做爲資深的軟件工程師,對於以前訊飛在demo中使用人工翻譯把印度人的口音問題解決記錄成文字版再使用訊飛本身的翻譯和朗讀軟件完成,訊飛本身在宣傳的過程當中比較清楚各個技術的具體狀況,在合理的範圍類進行宣傳,而翻譯員曝光後媒體對其大肆批評的狀況怎麼看?軟件的在必定程度上的舞弊是屬於能夠接受的呢仍是儘可能避免的呢?怎樣避免被媒體抓住鞭子?

    你看了一些軟件工程的文獻, 你的團隊也作了一兩次 「過後諸葛亮」分析, 能夠再去看一遍,如今有什麼新的感想?

    第一次的過後諸葛亮分析是本身寫的,第二次也參與了不少,我以爲當時的想法對於個人成長和認識有很大幫助,如今看起來也以爲收穫很大。

    對比一些技能評價表,你有什麼提升? 還有什麼收穫是不能用數字衡量的?

    在第一部分有寫。主要是對完整的軟件開發走了一遍流程,對於管理一個小團隊,做爲PM和做爲Developer的體驗和收穫都是很大的,瞭解了狀況,對於之後若是想從事軟件開發,應該會更加內心有數一些。

    設想一年以後, 你到了你職業發展的下一個階段(高年級, 讀研,工做),回頭看這門課, 你對於這門課的教學方法, 老師和助教的工做,和其餘課程的銜接,有什麼意見和建議?

    若是能夠的話,可不能夠嘗試下增長如下功能?由於做爲一個計算機科學的同窗感受下面的能力被培養的不好:
  1. 代碼質量。當時只在最一開始學第一門C語言的時候老師有講一些,可是那是基礎的代碼質量的規矩。能不能講解一些優秀的代碼,對於如何安排函數的文件、位置、配置等待來進行講解。
  2. 架構。這個我基本徹底沒學過,以前完成某個功能可能都是簡陋地完成,不太知道如今普遍通用的庫函數和規則。好比寫一個完整的網頁,可使用vue進行前端書寫,django完成api的server如何配置,數據庫能夠放在某個服務器上,不停工做的引擎對數據庫的內容進行完成能夠放在別的服務器上,工做的方式是直接和數據庫溝通。當時子博指的方向和指導文檔很大地幫助了咱們,可是若是他不在咱們組裏,咱們可能會用奇奇怪怪的低質量方法完成。感受架構的知識我在科大的培養體系裏欠缺太多了
相關文章
相關標籤/搜索