[爆卦]台大資訊系統訓練班ptt是什麼?優點缺點精華區懶人包

雖然這篇台大資訊系統訓練班ptt鄉民發文沒有被收入到精華區:在台大資訊系統訓練班ptt這個話題中,我們另外找到其它相關的精選爆讚文章

在 台大資訊系統訓練班產品中有5篇Facebook貼文,粉絲數超過4,687的網紅小吃貨的英國生活日記,也在其Facebook貼文中提到, #學習寫程式 #誰可以成為軟體工程師 #小吃貨轉職日記 #個人心歷路程 不知道是否還有人記得,很久以前我問了大家一個問題是,覺得什麼樣的人可以成為軟體工程師。 其實一直以來,我覺得只要會英文的人就可以學會寫程式,就可以成為軟體工程師。 為什麼會這麼覺得呢? 首先,就像是,你覺得誰學會使用電腦...

  • 台大資訊系統訓練班 在 小吃貨的英國生活日記 Facebook 的精選貼文

    2021-02-04 05:22:44
    有 66 人按讚

    #學習寫程式 #誰可以成為軟體工程師 #小吃貨轉職日記 #個人心歷路程

    不知道是否還有人記得,很久以前我問了大家一個問題是,覺得什麼樣的人可以成為軟體工程師。

    其實一直以來,我覺得只要會英文的人就可以學會寫程式,就可以成為軟體工程師。

    為什麼會這麼覺得呢?

    首先,就像是,你覺得誰學會使用電腦是一樣的道理。如果你在三十年前問大家這個問題,可能很多人會覺得,只有念相關科系的人可以學得會。

    在我們還在DOS的時代,還在打指令的時代,那時只要會打字,就可以成為文書處理專業。沒錯,那個年代,文書處理是一個科系。

    但現在,有誰會去大學念一個科系,只有學打字使用Microsoft Office系列。

    當然,軟體工程師也並不是一個容易的職業,就像我之前提過的,這個職業也有很多利與弊,不是像外面形容的那樣,好像坐在電腦前面打打字就可以做的,或者像其他工作那樣,可能學了一技之長可以用很久,這個行業的一技之長,可能很快就過保鮮期了。

    回到學習寫程式這件事情,在台灣聽很多人都說,「啊!寫程式就是要有天份啦!」「聰明的人啊!」也看過很多網路上的人在吵,資工vs 資管 vs 非本科系什麼之類的。

    最近有朋友問我說,為什麼在台灣的時候學不會,可是來英國以後我就學會了,是因為來英國以後特別努力嗎?

    其實你到現在問我學會了嗎?我也不會跟你說我什麼都會。但的確光是coding這點,我覺得在台灣學習跟來英國學習最大的差異還是在,學習的動力上面。

    在台灣的時候,其實有點為了學而學,從來沒有思考過自己是否真的有興趣,有時候以為自己其實也滿有興趣的,因為那些東西以前沒有碰過,可是只要碰到一點瓶頸 ,就會開始退縮,覺得好煩喔!這些東西怎麼這麼難,只要上課聽不懂老師在說什麼,就會很不想繼續學。

    在台灣除了去資工系修課以外,也有去台大資訊系統訓練班上過課,也有上過一些線上的課程。

    幾乎都是同樣的感覺,甚至覺得,自己是不是年紀大了,感覺什麼都學不會,聽不懂,自己好像很笨。

    來了英國以後,上課的第一天,老師說,我會用英語授課,而且不會為你們放慢速度,因為你們必須要去習慣。當時覺得自己更不可能聽懂,也不可能學會。

    可是我們上課的狀況通常是,一天上課兩個小時,上完以後有兩個小時的實驗課,大家坐在電腦前,老師一個一個看你做的東西,從很小的東西開始學。

    我覺得這個應該算是滿關鍵的,就是有沒有動手實作。然後不會的話老師也很耐心的教,此外老師還有另外的課後時間,只要我們有問題都可以去找他。

    在實驗課的時候,中間只要卡住,老師也會盡量讓我們自己去思考,而不會直接告訴我們答案,例如會問我們,為什麼你想這麼做,這麼做的原因是什麼。

    我記得很久以前在台灣的大學,問了老師一個問題,老師的答案是,你以後就會知道了。當下其實就讓人覺得有點反感,而且後續問老師很多問題,老師也是都這樣,這個以後就會學到了。

    我自己算是一個滿會因為老師而喜歡一個科目或不喜歡一個科目的人。就像我小時候很討厭數學課,也是因為不喜歡數學老師。也不是真的不喜歡,就是有一種覺得,反正老師也不在乎我學不學的會,只在意那些學得好的人。

    在台灣也聽過很多人說,啊要學會寫程式,數學就要先打好基礎,數學不好怎麼寫程式。可是真的成為工程師以後,在工作上根本沒用到什麼基礎數學啊!

    其實在英國也遇過很多數學系畢業的,可是害怕寫程式的人也很多,他們這邊通常學校會有一兩堂課是寫程式,可能學個Python, 像我之前念書的學校,學不好的很多,一些很厲害的大學的數學系,也有人就乾脆放棄那門課,不學,因為覺得很複雜,他們寧願把時間拿去研究純數。

    不過現在的電腦,都會幫你做好各種基本數學運算了,大部分現在的程式語言,你要跑什麼線性回歸什麼的都幫你做好了,也想不到什麼時候會用到三角函數之類的,除非你的工作是什麼data scientist 之類,可能要建立複雜的數學模型,或者quant 那類的,不然就算你要做Machine Learning這類的東西,也有很多已經現有的工具,軟體工程師大部分就是拿來跑一跑。

    要是你真的是做機器學習相關的研究,人家也不要你軟體工程師,人家要的是資料科學家背景,人家至少要你有個PhD唸完再來,你要至少會讀paper, 寫paper做研究啊!!

    如果是醫學相關的軟體,需要有專業技能,人家也要找醫學背景的來,如果是金融相關的,需要有非常多的金融專業技能,當然也是從金融背景的比較容易。

    通常軟體工程師,普通的軟體工程師職缺,就是不太會需要太多納些相關的專業領域,他們也願意你進去了再學,你主要需要的是快速學習、適應環境的能力,還有溝通能力,這樣如果跟其他專業領域的科學家、研究員、分析師溝通之類的,至少你可以不會有太多的障礙。

    當然,軟體工程師的工作也可以細分成很多領域,像是遊戲產業的軟體工程師,或者IoT產業的軟體工程師,甚至還有像是軟體架構師、軟體分析師、資料工程師之類的,他們可能需要使用到的技能也不一樣,但也不會沒事就需要叫你算個三角函數之類的.........通常你的背景還是在於你對於寫程式的熟悉程度,你會使用那些工具,你是否是個團隊合作的人,能否跟大家一起寫程式。

    總之,回到前面說的,所以到底學習寫程式需要什麼,英文真的是很重要的一環,因為程式語言本來就是英文為主,在來就是網路上的資源,也幾乎都是英文為主。還有你寫程式的環境,也幾乎都是英文,像是你使用的工具,回報給你的錯誤訊息也常常可能是英文的。

    來英國以後一直在思考的一點,在台灣討論到會不會寫程式,或者學不學的會,通常英文好的話,也可能在閱讀文件方面比較快,可以快速學到一些東西。

    語言也不是全部,如果已經在工作的話,工作環境也很重要,學習環境也很重要,在學校如果遇到一個很好的老師,或者有一起學習的夥伴們,也會比自己一個人獨自專研來的快,不過每個人的學習方法不同,更重要的是找到自己喜歡的學習方法。

    反正如果你想學的話,也不用管其他人講什麼,想學就學啊!當初我要學的時候,也很多人覺得我不可能學的會或者不可能成為軟體工程師之類的。

    其實也不是因為我原本念歷史系的原因,主要就是,大家覺得,我是一個沒有邏輯,邏輯不好的人。還有覺得我是一個三分鐘熱度的人,以及數學指考考了不到30分。這些我也都寫在部落格裡面了,所以一直以來都有在看我文章的人,大概也都知道了。

    當時,我大概聚集了所有身邊當工程師的朋友,都覺得不可能會成為工程師的因素吧!但現在我還是做為一個軟體工程師賺錢就是了。

    有時候想做什麼就去做,反而是一件比較容易的事情。尤其是學習這種事情,網路上也有很多資源可以學習也不一定需要花錢。

    在學校的時候,除了老師給予我一些自信以外,另外也是在英國認識了一些人,給予了一些鼓勵,有些素未謀面的人,也有些一面之緣的人,可能也是因為他們不認識原本的我,所以都覺得,沒有什麼是我不能找到工作或成為軟體工程師的原因。

    現在想想,或許這就是初生之犢不畏虎的概念,當初沒有想太多就跑來英國,然後來了以後才開始覺得必須要努力一點才能找到工作,中間也遇到了很多困境,工作以後也曾經想過要放棄當軟體工程師,想要去當個什麼辦公室助理之類的。

    也經歷了很多覺得很困惑的時期,雖然自己現在還是滿困惑的。但我覺得如果你真的想要學習或者轉職,只要做好功課(這點真的滿重要的,至少不要覺得只是看別人好像不錯,就決定要去做,至少要衡量一下利與弊),就可以去做吧!也不用管別人說你適不適合走這條路怎樣的。

    每個人適合走的路也不太一樣,還沒走之前都看不到,就算你看身邊的人都怎樣,自己還是自己。

  • 台大資訊系統訓練班 在 小吃貨的英國生活日記 Facebook 的精選貼文

    2020-06-05 05:52:37
    有 46 人按讚

    #軟體工程師面試 #文長慎入

    面試問題好像一直以來都是一個很多人關切的環節,在各大版上也一直有人會詢問。因為之前有幫公司面試一些人,還有加上從朋友那邊搜刮來的經驗,概括分享一下。

    這邊感覺可以分成幾個部分:

    1. 面試的題目是否都是演算法相關題目?

    2. 是為什麼實際工作內容通常都和面試考的沒有相關?

    3. 我現在學的東西對找工作是否有幫助?

    4. 公司招募看的到底是這個人的學經歷,能力,個性,還是什麼,為什麼有些人很感覺很厲害卻一直無法拿到offer?

    其實用FB排版不太容易,但因為懶得登入部落格,想說快速地打一打,所以也請各位見諒。

    #面試的題目是否都是演算法相關題目

    如果是投FANG之類的,Facebook Amazon, Neflix, Google (沒記錯應該是這幾間),反正就是這些有名的大廠,除了Netflix目前沒有遇到認識的聊過,其他都是考演算法沒錯。

    當然也不只有會考演算法,根據你申請的職缺,可能也會加考一些其他的東西。

    那其公司是怎樣呢?其實還是有很多公司會考演算法相關的,尤其是線上面試。

    雖然在疫情下全都是線上,但一般來說,還是會有分兩種,一種是沒有真人的狀況下,就是給你像是HackRank這種網站,你點開可能有六十分鐘讓你做兩題。

    做完以後你提交,你也不會知道你的分數跟分析結果之類的,看公司怎麼做設定,而且除了演算法相關題目,也可以設定選擇題之類的。

    另一種就是真人面試,通常電腦自動面完以後,你可能會跟真人線上面試,真人也是會給你類似所謂的白板題,就是出一個題目讓你現場解題,然後中間可能有的會要你跟他討論,當然看面試官拉!

    比較加分的還是,你編寫的時候可以邊闡述自己的想法,而不是低頭默默寫完,這樣也是有點尷尬。如果你編寫邊闡述的話,或者是少有點互動,也是展現你的溝通能力以及你對於題目的掌握能力,就像是你看到一個很簡單的題目 (2+3)*5 之類的,你可以很有自信的說,喔因為2+3在括弧裡面,所以要先算,然後再乘以5,展現底是真的有理解,而不是就是背題目之類的。

    有些公司也可能是給你回家作業,叫你做一個小專案之類的,看你應徵的職缺,可能是叫你做一個UI 或者叫你建一個API 也可能叫你做一整個比較完整的東西出來。如果你是面試架構師的話,可能會叫你建一個架構,或設計一個架構出來。

    然後也有的公司(像我們公司)就是需要pair programming 所以在線上面試的階段就是會有,真人跟你一起寫程式這樣。

    #為什麼實際工作內容通常都和面試考的沒有相關

    這個部分一直以來都是一個難解的謎題。像是Google Facebook這種大公司其實不難理解,畢竟他們是比較類似General 的招募,不是一開始就決定好你就是要去某個Team然後永遠讓你待在那個Team。就他們招募的是他們覺得,有潛力的人才,這樣不管需要做什麼都可以自由移動他們,給他們training就可以變得很好用。加上他們一次招募的數量也是相當龐大,考演算法相關的話,可以快速篩選,也更有機會找到他們需要的人才。

    因為像是Facebook或Google這種有自己開發框架,開發技術的公司,他們的確有很多時候需要寫演算法或者系統優化的工作。

    那像是普通的中小企業或新創,說真的,其實就是跟風。因為覺得人家Google Facebook都是這樣找到優秀人才,那我們也要依樣畫葫蘆,這樣鐵定也能找到厲害的人。

    可是這樣找到的人進去以後,發現公司好像也是不知道在幹嘛,最後可能也會待不下去。所以這個部分,近年來也越來越多公司開始改進,開始思考什麼樣的招募流程最適合自己公司。

    像是pair programming也開始成為近年來的一個流行的面試,有的公司並不是真的pair 但就是你要跟他們一起工作,了解他們公司的文化,或者跟他們的工程師進行一些深度討論。或者會問你說,假設給你設計一個系統,你要怎麼做之類的。

    當然,面試問題跟流程都是每間公司各有不同,不是說你現在準備一種就萬無一失。所以說最好還是盡可能的,提升自己的基礎能力。

    如果真的就是打算以FANG為目標的話,就可以從刷題開始,像是Leetcode, Hackrank, codewars之類的都不錯。之前有看到一篇文章,他刷了幾百題,而且每題刷了三次以上,真的很有毅力。刷題的重點就是在於熟練那些題目,可是也不要硬背,你練習是要練那個速度感。可是該理解的還是要理解。

    因為你進公司以後,你還是需要使用那些東西來工作,不是只是為了刷題而刷題,而且面試官可能也會考你變形題之類的,或者問你一些記憶體相關的問題,或者是系統設計的問題,或者單純想知道,你是怎麼想出解法的,所以硬背題目跟答案其實也是不太行。

    目前我的了解是,大部分中小型企業或者新創,很多時候你學習新東西的能力是比演算法更重要的,尤其是新創你什麼都要會,假設公司是剛起步的新創,你就要變成公司主要的技術專家,什麼東西不太會也要馬上現學現賣,也不要期望公司可能會給你什麼Training 或者有人給你依靠,可能同事還要依靠你。

    中型或者普通大型企業,假設公司已經有產品的話,大部分的時候可能是既有產品維護,除非你剛好很幸運地在新產品開發的Team,這樣就有機會學到很多東西,不然維護的話,很多時候只是在了解產品本身是否有Bug,改善code品質之類,也要看公司是否有想花成本在維護上面。如果公司就是打算一個產品,改一點東西就繼續賣錢,那樣好像也不太需要一直去migrate 或者搞新東西上去。

    如果你剛好很幸運在獨角獸新創,那你不但可以學到很多東西,還可以用最新科技,可能還有機會遇到大神帶你。

    所以說選公司其實也是有點重要,面試的時候,可以問問他們說,那你平常的daily work是怎麼樣的,公司有沒有走敏捷開發,公司有沒有用雲端,公司一個Team的規模之類,以及公司會不會提供訓練。

    #我現在學的東西對找工作是否有幫助

    其實這個就要看你的未來三年五年十年規劃。

    假設你就是都在寫前端,你也覺得我要寫前端寫一輩子,那好像就可以繼續一直focus在前端。如果你擔心自己會丟飯碗,是不是要學點後端,其實也是可以學,可是學了以後,你打算學得多專精?後端的東西也是會一直更新,一直進步。可能Restful API 也可能不是,DB也有好多種DB, 後端語言也很多種,所以你是想要學個大概,還是是希望,後端也問題的時候,自己可以去看code也看得懂?

    前一個專案,公司有一個前端,他就是因為自己做的ticket幾乎都會碰到後端,就乾脆把整個後端也寫一寫,就變成fullstack,雖然他主要還是算前端。但也因為是.NET 所以前端跟後端可能沒有太明顯的分界,至少我相信他本來就會寫.NET了,因為幾乎有一半以上的controller都是他寫的。

    如果你是寫react SPA,就是跟後端完全分開,你就只要寫到send http request 那邊的話,那好像也不太需要去了解到後端的架構,就是大概知道後端的endpoint 長什麼樣子就好,他們需要提供的文件就是需要提供。

    如果說你是怕以後失業,怕公司可能覺得請全端比較划算,那的確還是多學一點好,反正多學也是投資自己。還能順便展現自己的上進心以及學習能力。

    以consultancy來說好了,感覺是什麼都要學,像是公司可能就會說,啊最近我們的客人都要求要會什麼什麼,那你就趕快學一下。當然公司也不是很壞心的就叫你要馬上學會,公司最近也是有開始提供一大堆Training 之類的,還給你錢讓你去考一些證照。

    目前我使用的語言主要還是Javascript 和 C#這樣,然後公司有希望我可以好好學學Java。其實也不是不會寫Java,如果有發漏我其他文章的話就知道,其實我最一開始學的時候,第一個語言就是Java。

    在台大資訊系統訓練班的時候,我就上了Java和PHP的課程,為自己來英國念研究所做準備,一年的master course也都是Java 跟PHP為主,然後有用了一點Python這樣。可是工作以後就只有使用C#和Javascript 而已,所以說,學校學了也不一定會用到。

    很多東西都是工作以後才學的,然後Python是平常自己刷題的時候會用,因為覺得不錯用。

    其他的話,我覺得雲端相關的東西滿實用的,像是AWS或Azure 或GCP 有機會的話是可以自己摸摸。我自己是滿幸運的在工作上一直都有用到雲端產品,主要是AWS,前一個專案有用Azure 這樣。

    DB的話,就是SQL和NoSQL可以個學一個,應該就滿好用的了,目前最流行的應該就是PostgreSQL和MongoDB 。如果對於Graphic Database有興趣也可以稍微看一下像是Neo4J之類的吧!

    前端框架的話,就是React, Angular, Vue.js選一個吧!學會一個以後再去學其他的也不難,這三個我是剛好工作上都有用到,我自己是覺得Vue和React應該是比較好上手的,入門門檻比較低,Angular就一定要寫Typescript.

    後端框架的話,看你用什麼語言,Java就學spring boot,
    C#就是.NET,JS的話應該是Express,Python就Django,PHP就Laravel 。

    Mobile的話我沒有寫過也不知道。

    如果是平常想要補充知識的話,可以多念一些像是security 相關的東西,或者是Oauth那類的,也可以看一下架構之類的。像是Microservices, microfrontend, Domain Driven Development 這些概念性的東西。

    也可以看一些像是Clean Code相關的書,怎樣重構原本的爛Code或者TDD相關的書。

    反正前一篇文章就說了,這個職業就是要一直學,活到老學到老,如果打算做到老的話。

    #公司招募看的到底是這個人的什麼

    其實每個公司應該都不太相同。有的公司就是要招募他們覺得最聰明的人,所以就是一直問你一些很難的東西。或者就是只要找那種名校出來的人,最好有什麼數學物理奧林匹亞的。

    有些公司看的是你的個性,符不符合公司文化,或者同事喜不喜歡你之類的。

    有些公司就是很缺人,看你能不能馬上上工之類的。能的話就馬上錄取你之類。但通常那個可能是很雷的缺,例如公司找人找很久都找不到,終於看到一線希望。然後為什麼找不到人,可能是薪水開的偏低,或者公司名聲不好,上Glassdoor就可以查看公司的評價。也可能是職缺本身很雷,例如看起來就是個打雜缺。或者是前人都做不久就離開,所以需要一直找人。

    有些公司是看你寫的code 例如看你的code乾不乾淨,可能你寫出來的code都很乾淨,設計也很好,思路也很清晰,他們就會錄取你。

    有些公司看的是你有沒有某些特定的經驗,例如公司開那個缺剛好就是要找有AWS經驗的人,所以可能就是會錄取他們覺得AWS經驗比較多的人。或者是剛好想找之前有做過Serverless架構的人,或者是有碰過Kubernetes的人,這個時候真的就是靠經驗了。

    也有的公司就是,他們也懶得找人,HR給他們面試的第一個人就會錄取,這個完全靠運氣。這件事情真的發生在我第一間公司的另外一個Team,主管非常不喜歡面試人,也覺得我工作都沒時間還要面試。所以就是隨便問問之類的,然後就跟HR說好。

    --------------------------------------

    以上就是我目前經歷過以及別人分享給我的經驗。我覺得面試的話,運氣真的也是佔滿大的比例,尤其是遇到像第一間公司那種狀況的。

    當然年輕的時候可能會比較急躁,也很擔心自己找不到工作,考量到的還有金錢跟公司名聲,所以學不學得到東西也可能是其次。

    選offer的時候,也可能就是可以分析一下,自己想要的到底是什麼,是金錢,是做得開心,還是想要可以做的久(這個也要看公司可以活多久),除了看Glassdoor也可以上網看一下公司財報。

    最近的疫情衝擊下,有很多新創或中小企業也開始裁員跟減薪,所以公司平常的財務狀況和經營方針也是很重要的。即使公司可能一直都有收入,也可能因為現金管理問題,導致沒有足夠現金需要裁員。

  • 台大資訊系統訓練班 在 數位行銷學院 neo Marketing School Facebook 的最佳貼文

    2020-03-06 20:48:33
    有 12 人按讚

    #程式語言學習
    #台大資訊系統訓練班 統計,為增進數位技能,學習程式設計的學員以非資訊領域占大宗,Python 的應用層面較廣、C 語言深入參與底層技術的開發,不管是線上還是線下學習,最重要的是學習過程一定要忍受挫折,想辦法解決問題...>>