網頁

2015/5/24

♌資策會Java跨平台程式設計師就業養成班記錄(三)

目前在資策會的課程已經上了約一半左右(2015/3/16 - 2015/5/22),原本是計劃每週都發一篇文章紀錄當週所學的內容,但因為太忙了只好拖到今天才發心得。

生活環境對資策會的學習有非常大的影響。對自己在外租房生活的人來說,每天都會有固定且必要處理的雜事,例如洗衣服,煮飯,打掃,洗澡等,這些事看似簡單但其實每一件也是要花至少一小時的時間,算下來一天可用的時間真的是沒多少,加上前陣子又忙著搬家等等。

而且課程越來越吃緊,即使假日也是在寫老師出的習題等,真的是沒什麼時間。所以與父母一起住的人非常幸福,因為生活上的瑣事父母都會幫忙打點好,可以更專心認真念書,要好好珍惜才是。



從上一次第一週的Java課程結束到現在的課程分別為:

  • Java(3/23~4/31)
  • 資料庫概論(4/2)
  • SQL(4/7~4/10)
  • JDBC(4/13~4/17)
  • SQL實作(4/20~4/24)
  • HTML, CSS(4/27~4/29)
  • Javascript(4/30~5/6)
  • 設計方法(5/7~5/8)
  • Servlet(5/11~5/22)

從這可以看出的脈絡是打造一個Java的網頁應用系統要學習的不只有Java,還得搭配其它技術才能完成,Java只是網站伺服器的基礎而已,但對不懂得人來說以為會寫程式就是會做網站了(我以前真的這樣認為),但其實下面這些都是要學的,分為三大部分:第一是瀏覽器端的技術,又稱前端(frontend);第二是網站伺服器端的技術,又稱後端(backend);第三是資料庫系統的技術,也算後端。


瀏覽器端的技術多是著重在處理如何將資料呈現在畫面,也就是瀏覽器上的問題

伺服器端的技術是著重在如何處理使用者輸入的資料,業務邏輯,並連接瀏覽器網站伺服器與資料庫間資料傳遞與資源分配的問題。

資料庫端的技術是著重在資料庫的管理,架構設計,效能調整,及如何存放等問題。


這也是來資策會上課最大的好處,資策會幫你整理並串接好你所要學習的相關知識。例如像我這種非本科系的人來說,雖然來之前已經稍微碰過程式語言C,也大概知道打造網站會用到MySQL + PHP等,但僅靠自學不靠任何人指點,要能融會貫通所有知識要花的時間絕對是三到四倍以(不是兩倍喔),這也是自學花費的額外成本,所以在資策會的學習時間若是半年,自學一樣內容的時間大概最少一年(假設無所事事不用工作),若平常有工作的上班族要自學建議念英文比較好,因為你花的時間會是一年半以上(下班假日都拿來念書)。

相信有很多想踏進程式領域的人都跟之前的我一樣,非常猶豫是否要來資策會學習,畢竟那要花半年的時間,而且學費也高的嚇人,然而我必須告訴大家,以我上課上到今天的心得,覺得非常值得(但或許結業那天我會覺得不值得也說不定XD)。

2015/8/19:親身驗證非常值得,條件是你必須用功一點,雖然我還沒結業但我已經拿到offer了。

但我所謂值得不是馬上可以找到美好的工作的那種,而是學習程式的效率。

2015/8/19:還有進入寫軟體這一行的效率。


網路上常看到這樣的說法:「幹嘛花那麼多錢去資策會呢,買本書自己學就好了」。相信每個人聽到都會覺得很心動(我也是),因為自學的目的不外乎就是省錢(12萬新台幣耶!),這也是為什麼我曾自學過一點C的原因,當時覺得自學應該就可以了,就去搞了本《HOW TO PROGRAM C/C++》原文書來讀,那時後是一邊上班一邊自己念,我花了約三個月才把C的部分念完。


自學最大的成本就是時間。自學一開始總得有本書來念對吧,但對非本科系的人來說,光是要讀哪一本書都是個問題,一本書價錢也都五六百,七八百的,而且這是買對書的前提。


就算你可能已經知道大概要學Java好了,網路上一查發現有關Java的書一缸子,就隨手買了本四五百元的便宜書,買來發現念了不太懂(花時間),所以又去書局翻(花時間),到了天隴書局你更無從選擇了,在毫無基礎下的你從一大排書價隨手翻了幾本,完全看不懂在寫啥,可能還翻到JavaScript或ASP.NET之類的書,因為上面加了「如何用XXX打造網站」之類的敘述(稍微懂得人就知道這個笑話),所以回家後跑到網路上如PTT的C_and_CPP板或是Soft_Job版問了網友,在回文中不時看到如「自學OK的啦」,「我花了兩三個月從無到有就開始寫了什麼程式App的」,又讓你對自學更有自信了,(這些建議蠻糟糕且毫無建設性,雖然確實是有厲害的人在,但相信看這篇文章的你絕對不是,要不然你怎麼會在這看篇文章呢?)。等你找到正確的學習路徑(或是讓你讀的下去的書)之前已經三個月過去了吧(保守估計,因為平常還要上班很累,加上不斷試誤的時間,如果有女朋友那就別想自學這件事了吧),當初說好的三個月呢?

2015/8/19:光開發環境設定就搞死你了,不同作者使用的開發工具又不盡相同,讓人更迷糊。


自學的成本 = 找學習路徑的時間 + 找對的書的時間 + 買錯書的錢 + 買對書的錢


所以為什麼我會覺得值得呢,因為到目前課程讓我很快知道正確的學習路徑,我不用浪費時間在從哪本書開始,不用浪費時間讀看不懂的書,不用浪費時間搜尋要從哪開始,不用從網路上參差不齊的建議中尋找答案。


當然我會推薦來資策會半年的Java課程是對「有心」想踏進這塊領域的人來說,沒有決心的話反而會浪費你的時間和金錢,因為這邊的課程非常硬(對非本科的人來說),後面的課程又和之前的課程有關,前面的課程沒搞懂後面的課程幾乎就是想睡覺的狀態,最後上課聽不懂昏昏欲睡,越學挫折越大,不就是浪費錢和時間嗎?

舉例來說,第一堂課是Java,教你基礎的程式語法,物件導向的觀念(我到現在還不是很懂),和一些常用的類別等,而後面的JDBC,還有Servlet,Hibernate都必須有基礎Java的觀念,所以要是第一堂沒學好,後面課程又一直接著上,前面都來不及搞懂後面又接著上的情況下會吸收不進去。


再說明一下這邊的「有心」的意思,這個曖昧且讓人自信過剩的辭彙,因為一個人想做一件是通常都是「有心」的,但很多事情光是有心是不夠的,還是要有管道與方法,否則光是找到對的路就足以浪費非常多的光陰。

很多人愛提「有心」這兩個字,尤其長輩或主管,例如你有心就可以做到,有點類似相信我之術那種感覺,虛無飄渺隨人定義且毫無道理,相同的還有「努力你就可以做得到」,真是害人不淺,日本漫畫看太多...。

離題了,剛提到的「有心」是指,上課都不打瞌睡認真聽不滑手機,週一至週五下課後都可繼續復習三個小時,放假可念書六個小時,這樣就是我說的有心,如果能做到相信在資策會的Java課程會大有所獲,如果沒有做到也不會怎麼樣,不過就是浪費時間罷了。(老實說我自己也沒做到自己定義的有心,沒辦法生活中的瑣事總是會花上你許多時間。)

2015/8/19:如果您能切實做到上面這些真的是超級優秀,保證結業後薪水有機會談到四萬以上。我頂多做到每個自習都留下來練習而已,假日其實我很少練習,因為家中的電腦沒有資料庫。

2019/3/30:因為對當時的我來說覺得資料庫很可怕,還擔心把我的電腦用壞,所以只有在專題製做期間資策會假日有開放教室時才會去做專題,而我自認資質還可以,程度在本期排名約第六第七左右。

2015/8/25:要補充一下除了自身能力夠強外,要拿四萬以上的薪資還有一些條件,第一要選對產業,第二要選對公司。第三要會談薪水。


課程最後會有專題製作,目的是為了讓學員能應用課程中所學的技術,去完成真正可以動的作品,例如一個動態網站如購物網站、訂票網站、資源管理系統等基於Web的應用系統。如果你想做的是手機App要去的是另外一班叫「行動應用開發程式設計師SOHO養成班」,因為我上的「Java跨平台程式設計師就業養成班」著重於學習如何使用Java搭配其他技術,以瀏覽器為核心開發應用系統(WebApp)。

專題製作通常無法自行完成的,課程中導師會安排分組,以本班32人來說導師希望每組約5到6人。專題發表當天會邀請廠商來觀摩,上午發表專題,下午現場徵才媒合(現場面試),所以每組發表時間約20分。但是要怎麼分組就是各憑本領和運氣了,回想一下大學分組的情況,差不多就是那個樣子(不是大家一起升天就是大家一起死,有人出張嘴意見一堆不做事的情形在所難免,很阿雜的感覺),即使分完組大家意見一定會不一致需要磨合,我前幾個禮拜就因為專題題目與規模這問題感到心情煩躁,台灣人有種情況,在公開場合要發表意見都說沒意見,但私底下意見一堆,但轉念想想這也是學習的過程吧,不過很浪費時間就是,也或許有年紀上的代溝吧。


2015/8/19:當初的問題是我提議做B2C的單一購物網站就好,而另兩名組員想做商店的商店,類似PChome的開店平台,最後證明從時間或技術來看尚無能力製做如此規模的系統,更別提資料庫規劃部份。最後光做個單一個購物網站就令初學的我們非常頭疼了。所以再次提醒,如果組員意見特別多會是個災難,因為你們將要浪費一堆口水,找一堆資料來解釋該做什麼,不該做什麼,而他只出張嘴。

2015/8/19:第一堂基礎Java課程上完後有個考試,老師有說這考試結果很準確,成績好的同學通常到結業前都會維持相同的水準,並會被列出為適合當組長人選。我想是因為基礎Java課程長度約四週,在這期間即可看出每個學員的努力程度,通常第二週就能顯示每個人的狀況了,第二週開始習慣遲到、早退或晚自習不見蹤影的通常到了結業也都是這麼回事,從學習態度可以確實預知未來結果,從邏輯上推論非常合理,也是老師教了那麼多期,看學生來來去去長期下來所歸納的結論。


因此在這邊也是要學著與人溝通與團隊合作,畢竟現在軟體規模越來越大,少有能單打獨鬥的完成什麼作品,且要往上爬不可能永遠只做在底層寫程式碼的工作,高階工作要懂得領域知識,了解客戶需求,分析系統架構,所以和不同的人合作相處也是非常好的經驗(當然過程總是不舒服)。雖然導師說曾有自命不凡的學長不屑與人合作所以自己單獨自己一個人一組獨力完成作品的情況。

2015/8/19:一個人獨立開發還是有機會做得到的,前提是你要學得非常好,且在正式進入專題製作前一個月提早開始動工。有的廠商徵人會看團隊合作(溝通能力),所以如果您超強可以找超弱及意見不多的組員,責任就是完成整個專案,如果您夠好心的話再慢慢指導您的組員幫助他們成長。


以常態分配的角度看,用功的人約占五分之一,五分之三就是一般般,剩下的就是來混的。

課程中會安排觀摩前兩期的學長的發表過程,台下的幾乎都是廠商(12家左右),雖然有少數廠商開著筆電在忙自己的事或是在滑手機,或是不懂技術的人資(其專業是如何砍員工薪水),但多數還是很專心聽學員的發表,觀察學員在課程中所學並應用的技術。

總得來說目前對資策會Java班課程的評價算良好,課程設計規畫非常適合不懂程式的完全初學者。但還是要強調來這真的要心無旁鶩全心專住在課程上,這樣才有辦法跟上進度,才不會浪費半年的時間、學費、生活費。

2015/8/19:還是有人是來浪費錢的。

下周就要開始Hibernate的課程了,老師說會用到不少之前的東西,目前剛上完Servlet有很多東西都還沒複習搞懂,這就是課程帶來的壓力,下次分享可能是結業囉。


最後要推一下PTT的這篇,順便對留言提出看法,而這些看法都是寫給非本科系完全不懂程式想轉資訊領域的入門者看的。

可以看到下方的噓多是說補習沒用,自己摸一摸就會等等。但我的看法是如果完全不懂程式並對這些意見信以為真會走很多冤枉路。這些論點有個盲點,就是已經忘記當初自己學習的過程,或是把每個人都當強者或是台大出來的。

2015/08/14:目前我已結束全部Java課程且幾乎完成課程最後的專題製作,此時此刻我也有種買書來看自己摸一摸就會的錯覺:p,也就是說,通常人在學會了一樣東西以後就會覺得根本沒什麼,而忘了當初為了弄懂它絞盡腦汁的痛苦經歷。

例如"夠強的高中生自己摸一摸就會"這種說法,但事實是大多數的高中生都不夠強,或大多數的人都不夠強。我寧可承認自己很笨,所以才得去資策會"補習"。



2019/3/30:現在PTT上又有一個新的詞,叫做前/後端/AI/大數據難民,泛指那些非本科轉職的傢伙如你我。


而重考台清交電資所更是不負責任的建議了,這種建議就跟剛剛說的「有心」類似,根本沒說清楚背後所要犧牲的時間與資源。在資策會上課我很清楚我的機會成本,就是十二萬的學費,半年的生活費,半年沒收入的生活,半年的光陰,還有半年不能四處玩樂必須學習的日子。但去重考電資所,要犧牲的是重考一年補習班,學些和工作無關緊要的考試內容,一年沒工作,一年的光陰,考進去還只是剛開始而已呢,你還要蹲至少兩年把碩士論文生出來才行,然後畢業後做跟前後端難民一樣的工作。

至於最後說有興趣的早就自幹了開始做些了不起的東西等,這也是那些「優秀」的人會講出來的「建議」,隱含的意思所以你要夠優秀,要不然你就不夠格,但忽略掉大部分人的程度其實都沒那麼優秀,也或是很多人少了那個敲門磚,師父引進門,修行在個人的那個師父,而且很多人其實不是不夠優秀,而是少了資訊的管道。那換句話說,有興趣做老闆的也不應該念大學直接出來開個微軟或蘋果公司對吧?這麼厲害乾脆也不用念資工,讀碩士,連小學都不用念了。


資策會的課程和坊間的補習班並不同,資策會完全是就業導向,是個進入資訊領域非常好的敲門磚。十二萬除以600小時一小時也才200元。




2015/08/14:因為忙著做專題所以就在這邊簡單更新一下目前狀況吧。目前課程已經完全結束進入專題製作的階段,沒問題的話8/21號當天上午就會進行成果發表。本期各組的專案題目分別有電影訂票系統,服飾購物網,企業資源管理系統,相簿分享社群。

我所參予製作的是服飾購物網站,類似Lativ的後台產品的上架功能,其他還有前台的購物車,登入系統,會員中心,訂單管理就由本組其他同學負責了,到現在覺得最頭痛的地方不是寫程式,溝通及整合其他人寫的程式才是最痛苦的,除了資料庫的欄位,型態要一致,開發環境還有運行的版本及額外匯入的類別檔,資源的位址等都要協調好。

打開其他人的程式碼就整個非常不舒服,因為有些邏輯真的非常奇怪,所以寫出來的程式也是非常的亂,看到亂七八糟的package,毫無意義的變數名稱或是欄位命名就非常頭痛...。


給決定要去資策會的朋友有幾點建議,如果您覺得自己能力很好,很有想法和方向,不要排斥當組長,但切記不要找意見一堆又明顯不用功的組員,因為如果組員比你不懂卻比你多意見就是個災難。通常搞不清楚自身能力,時間壓力,只想開些很厲害但做不出來的規格。因為你必須花一堆時間說服對方做一些事,或不做一些事,此外還要擦屁股。要判斷一個同學用不用功很簡單,看他早上遲到的頻率就知道了(準確率90%)。

2015/8/29:當組長的好處是除了拿到一個精美的隨身碟外,結業當天的面試有些公司會想找組長(例如緯創軟體),因為通常會認為組長都比較有能力,這是顯性的好處。而隱性的好處就是,這是磨練你溝通及擦屁股的機會,壞處就是要瞻前顧後,會比較辛苦一些。

還有看對方螢幕的電腦畫面是Eclipse還是遊戲畫面,上課在打game的,程度不是大好就是大壞,一開口聊得是遊戲而不是程式問題的同學通常(75%)都是來混的。


如果您的能力不是非常突出,趕課程進度覺得非常吃力,建議您找個優秀,有想法且樂意協助他人的組長加入,專題規格不是太誇張就遵照對方的規劃去實現就好,要不然入錯組整個專題製做就只剩下買便當等出包了。


我認為專題製作這段期間反而是學最多的時候,因為之前課程進度非常趕所以很難好好的複習且實際應用,但到了專題時間都是自己的,所以會有很多時間去應用那些課堂上學到的技術。

牢騷發完了回到重點吧,雖然目前尚未結業,但到今天已經有兩家公司先來進行初步的筆試及面試了,第一家是富邦產險,第二家是普奇科技,也就是ZK framework的廠商。富邦就只進行筆試而已,而ZK除了筆試外,在筆試通過後會由該公司的R&D Director(也是資策會出身的學長)進行初步的面談。

當初很想進去ZK這家公司,因為國際化,面對全球企業用戶,產品是Java及JavaScript的Open Source框架,離我住的地方近,薪資不錯,最少最少最少36,000,公司規模小而美(20人左右)。

去大公司最討厭的就是繁文縟節,官僚組織的行政流程,缺乏彈性還有馬屁文化,還有只看學歷的敘薪標準,部門或小團體間的惡鬥等等。但從筆試出的題目還有公司產品來看,他們應該非常要求Java及JavaScript的基本觀念,畢竟是做Framework的公司,但由於後來專題都由原本的JavaScript改用jQuery寫(jQuery selector真的比較方便),所以很多基本的都忘了(其實是要摸熟學好真的需要多點時間經驗),但筆試最後不計分的兩道題目我都寫錯...全班只有一個人寫對一題,科技長也老實地說年紀部份確實是有影響,擔心年紀大的會老油條,沒衝勁。重點是兩題都要對才有資格進去。

2015/9/19:把猛虎出閘後面的題目做個三遍就覺得簡單了。

2019/3/30:世界很大不用太執著。

而另外一個程度也很好的女生雖然也是兩題都錯,那科技長就直接問他是否可直接去上班。另外即使通過面試,進去ZK會有一個月的試用期,而在這個月會有很多測驗,若測驗沒過的話也是掰掰囉,所以如果有想要進ZK的朋友,JavaScript還有Java務必要惡補,至少DOM Tree和各種事件的捕捉要很清楚。

2015/9/15:現在對這家觀感不好了,為什麼呢?因為他們比較需要女性工程師去提高整體戰力。


剩下的等結業後再跟大家分享吧:D。


沒有留言:

張貼留言