自我介紹 and 閱讀感想
自我介紹
在你一生中身體最健康,精力最旺盛的時候,能在大學全職學習和研究,這是少有的機會。請說明一下,你是怎麼選擇了這個專業的?
- 大一入學科大的時候其實學的是物理專業。因為高中曾經自學物理競賽,並且得到了一等獎,並且拿到了科大的冬令營金獎,而物理又是科大的王牌專業,所以順理成章的去讀了物理。但是高中生對於專業選擇的認識和對於今後職場生活的認識都是太狹窄的,只能在當時自己能看到的範圍內做出眼前的最優解。所以大學入學後,瞭解物理專業的發展前景、工作環境、就業方向,以及物理實驗室中的科研條件,從簡單的閱讀課本、做題、推導中擡起頭後,發現一輩子從事物理科研並不是自己心目中理想的生活。相比於一個探索者,我更希望自己是一個發明者。自己之前對物理學的喜愛在於已知的物理體系中通過複雜的計算髮現一切現象和諧自洽的快感,而物理學科研的探索,更像是在黑暗中摸索方向的過程,讓我感覺有力使不出來,而以人的意志為導向建立的計算機世界,則是以需求為導向,可以有更快的反饋和產出,迅速轉化為生產力的。另外是大學後第一次接觸到了電腦程式設計,發現這個東西真的挺好玩的,即使是以後從事最簡單的程式碼工作去敲鍵盤搬磚,也讓我感覺到很愉悅。所以從當時物理學的滿績學霸變成四處碰壁的計算機學院萌新菜鳥,我沒有感到過後悔。
為什麼選擇讀博和自然語言處理方向的話,一個原因是我的coding能力太弱了,預感到進入職場要靠能力吃飯了,沒有人會再像在學校裡一樣指導和教學自己,現在的水平會四處碰壁被虐哭的,在學校裡繼續躲一躲趁機提升coding的能力;一個原因是因為研究機構會允許自己去嘗試自己的新點子,去有很多的機會了解世界上最傑出的人研究的方向,這樣很多的大牛都是自己的老師了,站在巨人的肩膀上,感覺自己比較靈活喜歡多想多創新的性格可能會有用武之地;選擇NLP是因為感覺它的需求量太大了,但是現在的發展水平還遠不能滿足大家的需求以及生產力的需求,轉機是計算力和計算方法的改進使得近期越來越多的突破進展在湧現,自己認為這個研究的方向是值得的,很有價值的,所以不會感覺自己在做無意義的科研灌水。
能力調查表
感覺按照學校培養方案走,沒有像其他大牛同學一樣自己做專案或者多加了很多練習,現在的coding能力是挺拿不出手的。
我認為的幾個重要的能力和現在的水平以及期望水平:
技能 | 課前評估 | 課後期望 | 如何提升 |
---|---|---|---|
程式理解 | 2 | 5 | 科研mentor監督讀和修改最先進的演算法程式碼 |
程式碼質量 | 2 | 5 | 高效利用時間,對於自己現在的水平,先埋頭寫就是了 |
架構設計 | 2 | 5 | 對於最後的團隊專案,肯定需要學習開源的專案程式碼或者和組裡其他同學學習才行,在此過程中學習成熟的程式碼結構設計和專案架構設計 |
執行緒程序設計 | 1 | 5 | 科研這邊的程式跑在多個GPU上,會練習到 |
個人原始碼管理 | 3 | 5 | 使用git |
部落格閱讀
為何要來上課和認真聽講
對於文章裡面的一些觀點,我其實是有點反對的。首先是自己所處的真實情況中,我認為有些課程是用來認真突破,緊隨老師的,有些課程是屬於開拓視野的。曾經在學院裡的學業研討會多次和學院領導討論過學院培養方案的問題,資深的老師對於若干課程的想法和我是一致的,也每年都往學校反映,但很多體制上的事和上級領導的想法不是我們能決定的。
另外是”這個老師很水我就不聽講,這個課太爛我不聽,大不了自己看,然後你發現考試成績也不會太差。但是這裡的問題來了,我始終相信老師的整體水平還是優於學生的“,這個話也許不錯,但是認識的身邊的人中確實是有很多能力非常非常強的,他們從小就接受寫程式碼的訓練和學習,而大學的培養目前來說距離因材施教還遠,一個班幾十上百人的大課,要照顧像我一樣的普通的同學,老師們大都從頭講起,兼顧到大部分同學,這就意味著那些最突出的同學投入全部的精力聽課回報比是很低的。舉一個不太恰當的例子,在高中,雖然學習物理競賽,但是因為我們那裡教育水平比較落後,物理老師擔任教練是但是不懂物理競賽,甚至帶領我們沒有學知識書,直接啃習題集那些題目和答案完全看不懂的東西。在那個條件下,我們學的懂的人給班上剩下的人講課,最後打敗超級中學中那些正規培訓的同學。我是沒有聽過高中物理課的,都靠自學,碰到很難的物理題老師還會讓我們幫他講解清楚。在中國這個殘酷的高考競爭下,我嘗試揣測大學其他同學的水平和能力,以及加上自己對於所上課程的認識,我認為對於他們來說,強迫他們去“認真聽課”是有點不講道理的。
所以我認為大學最重要的能力是知道自己想要什麼,不是延續初中高中的繼續無腦“認真讀書”。首先是有了大學這個開闊的平臺終於不用為了高考的應試教育埋在課本里了,要去接觸優秀的師兄師姐討論瞭解大學該如何讀,去預約學業諮詢資深的老師教授瞭解學科最後的方向,去和自己期望方向的校友瞭解所需要的方向技能。大多數人和我一樣,來自普通家庭,不知道好的大學該怎麼讀,前二十年全心埋在書裡才能考上一個好的大學,讀書以外的能力和對世界認識的欠缺是非常大的。在大學期間應當完成世界觀的構建以及今後人生職業規劃的設想,在能看到的範圍內做最好的努力,並且不斷拓展自己的視野。把老師的課當作自己汲取知識的機會,自主地督促學習,去感受到學到新的領域新的知識的爽,去感受核心專業課上能力終於有突破的爽。而不是逼著自己還想初中高中生一樣“認真聽講”為唯一目標。形式上的認真聽講不是目標,進步才是。
*寫完後發現和子博同學的思想不謀而合,哈哈。子博是coding能力超強的我的偶像了。容我給自己臉上貼個金,在自己這邊隨筆裡說一句英雄所見略同。
在大學中體會到的師生關係
在上面一部分的最後已經闡述的差不多了。
在工作中,引用參考和剽竊抄襲的區別是什麼
對於程式碼來說,我們大多開源的資源是有共同預設遵循的準則的,首先要遵循這些開源許可協議,在工作中不得惡意引用和違反協議的使用。學習過程中的話,還是要知道自己想要的東西是什麼吧。明明是有意義該認真學習的事情去抄別人的,最終自己能力太弱,早晚要還的。
閱讀課本過程中產生的問題
- 在第一章的末尾,討論了bug和feature之間的關係,有些人知道有些產品的質量不如另外一些好,但是也會選擇那些不夠好的產品,因為它們滿足了顧客的需求,產品是否有理想的銷量是和能否滿足顧客需求直接相關的。在暑期科研中,小組研究的課題是去尋找深度學習庫程式碼之中的bug,但是深度學習中某一層的bug有可能並不會對最後的預測準確率有很大的影響(此處bug指和理論演算法中實現的函式有區別,錯誤的實現程式碼),因為在訓練的過程中可能這個層的bug會起到像新的啟用層一樣的效果,甚至可能對預測正確率有好的提升。那麼這種bug需要解決麼?
- 在第十章中提到,我們有不同程度的典型使用者,有的對軟體的專業程度需求高,有的需求低,這個在現在的軟體產品的對應中,是否是家庭版、個人版、專業版、企業版等等區分呢?如果可以讓比較弱需求低的使用者在使用過程中不會有那種軟體認為我太弱了不給我全部的功能一類的感覺呢?
- 在8.6.1以及14.1.2分別提到了專案目標預期與進度調整、開發過程的可見性的問題,在第七章微軟MSF中也提到了給員工足夠的信任的問題,如果任務緊,趕時間,專案參與人員也在盡力做,但是因為能力不足、或者壓力大導致拖延症等等,畏懼彙報進度;這種情況下是應該要求讓員工無論做成什麼樣都如實彙報,還是設定好ddl中途就不再追問了呢?
- 私人問題,在14章質量保障中提到了若干網際網路公司的安全事故導致使用者使用者名稱、密碼洩露,作為軟體開發很資深的研發總監,對於個人使用者的密碼設定問題,是否有什麼建議?
- 讀完整本書,最終腦海中最終留有這麼一種印象,江湖武功,各有使用範圍,武功招式很多,很多我們要學,從需求分析到軟體設計實現、測試、釋出等等,規矩要學好,真正專案中還是要根據實際情況而定,某些場景或者需要完整的按部就班的嚴格遵守流程,某些場景需要敏捷開發,把整個流程的若干步簡化到適當的程度。或者需要公開、監督和分工,又有“祕密團隊”如第五章蘋果公司的相反操作的成功案例;也有遵守開發流程,8個月,8個月最終拖了好幾年的大公司翻車案例;也有“落後的部門,補得人越多,專案越慢”等有趣的發現;到頭來,還是武功招式再多,仍然是coding能力,大佬的數目和能力這種核心實力是決定成敗的關鍵。軟體工程之法,是輔助我們大多普通人得以在一套章程下順利完成一個還不錯的專案的武林指導,而大佬的存在則是開掛一樣的存在;這種認識是正確的嗎?