Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

學生心得:enter3017sky #28

Open
aszx87410 opened this issue Apr 14, 2019 · 0 comments
Open

學生心得:enter3017sky #28

aszx87410 opened this issue Apr 14, 2019 · 0 comments
Labels
轉職失敗 課程結業時未轉職成功

Comments

@aszx87410
Copy link
Member

出處:https://hackmd.io/s/rJCJ-je9N

簡介

黃信越,78年次。無程式背景。大學是電機工程系,因為不喜歡電子廠模式,退伍之後因緣際會下透過同梯介紹,從事汽車音響相關的工作五年半,接觸過許多車款的改裝、解決許多客人的客製化的改裝。過程中發覺硬體方面的學習能力非常強,幾乎是動手 DIY 的東西都是「第一次 XXX 就上手」。

心理歷程與前因後果

我有一個年紀相差 14 歲同父異母的大哥,本身也是從事軟體業,多年以來也曾多次嘴巴說說的想要追隨他的腳步。在三年前也與黃泰順(丁丁)聊過,聊了那些程式語言在做什麼、我應該先從什麼開始學習、前端後端的差別(還記得當時聽了之後覺得後端比較合適XD)、我應該學習什麼,他還說我一些特質適合當工程師XD,這次的談話之後,當時還趁著鐵正熱而買了《深入淺出程式設計》,至今才翻了十頁。

最後,經過了很多事、浪費很多時間、軟爛許久之後,一個認識相處不到三個月的女生,她跟我說的話引導了我重新再審視、思考這一切。終於知道自己想追求些什麼,無非就是能一直學習(或成就自我)的工作,於是開始行動了。

  • 2018/06/09。line 了丁丁「想請問你有推薦的軟體程式嗎?」、與資策會上課後在台北發展不錯的朋友聊過、也請教我大哥。後來丁丁推薦「六角學院」、「Udemy」與中肯的評價,自己在 Udemy 買了兩三個課程,其他的就是靠 Google,開始學習。

  • 07/08 又約了丁丁出來碰個面,經過了一個月的下班 3~5 小時的學習,聊聊把一些學習過中的想法跟心得,或者是當下對於學習程式的一片熱血激昂,還是什麼的,我也忘了。

  • 07/12 丁丁傳了『程式導師計畫第二期』這個訊息給我的時候,心裡的火又燒得更旺了。

因為坦白說,新人自學比較起有系統的線上教學,效率肯定是相差很多的,所以這一個月的學習過程,除了看線上影片練習 HTML 與 CSS,另外一方面也在尋找、比較什麼課程適合我,譬如說第一個想到的「十萬又台北的資策會」、「看上去很熱血、沒有前端、資訊不足的好想工作室」、「CMoney 很農場的免費學程式課程」,當時沒有看到覺得合適的。

唯一感覺不錯的就是看到小明系列衍生看到的「這啥!感覺不錯欸!啊靠!已經過了...」的『程式導師計畫第一期』。所以丁丁傳訊息給我的時候,我還想跟他說:「我知道,那個已經過了。」結果仔細一看,新的一期!當下「只有爽而已!」

  • 07/22 過程中,考量了很多因素之後,不喜歡新版的 Mac,決定買二手的。跑去台南面交 2015 MBPR13。

在此要感謝丁丁,回顧這些日子以來,他給予了我很多幫助,課程開始不久的時候問了很多新手問題,他很有耐心的以淺顯易懂的方式回答了我、還有這段時間以來偶爾的關心。

擁有的學習條件

完整的學習時間、圖書館、很多的書、MacBookProRetina13 還有一顆堅定的心。

課程開始前的心得以及對於課程的期待

  • 課程開始前的心得

自學兩個月以來的心得,學習若沒有什麼依據或方向,就像在大海之中迷失方向。

從什麼都不知道的新手透過 Google 找尋資源的那種迷惘,然後開始從 Udemy 的 Web 課程加上 freecodecamp 輔助,才開始有了方向感,心裡也踏實許多。

所以,看了課程目標、進行的方式以及大綱之後,內心是滿滿期待。

  • 對於課程的期待

跟著課程穩紮穩打的前進,準沒錯。

課程開始一段時間(例如說一兩個月)後的心得,跟原本的期待有哪些差異?優缺點在哪?

第一週沒什麼特別的感覺, cli 跟 git 的部分覺得還好。

滿心期待第二週,JavaScript 整個讓我挫折感連連啊。儘管在課程開始前看了好幾次胡立老師的影片,後來才開始感受這個課程其實跟我想像中的不太一樣。還有第四週的更是深切的感受到了。

課程(影片、直播)給了我關於這個主題的整個輪廓以及重點,然後最重要的任務就是完成每一週的作業。換成我熟悉的方式說,跟你說明這個螺絲起子、零件怎麼用,然後你的任務就是完成把這個東西生出來。而在嘗試解決「做完作業」這個大問題的時,有許多的未知及小問題待處理!

有很多的方式可以完成作業,而我的方式是看著影片練習之後,在嘗試著以自己的理解完成的將它寫出來,過程中卡關,就嘗試不一樣的方式看看、盡可能將大問題拆解成小問題、或者尋找不一樣的方式。

第二週寫解題心得的時候,因為心得不知道怎麼寫而感到苦惱,就像儘管題目寫(試)出來了,但其實自己是處於模糊之中的,並不是透徹的理解,這時候無意間看到 zuppachu 同學的筆記,學到很多,後來也用了一樣的方式做筆記。

第四週發現自己的學習方式不太好,畢竟本來就不是讀書的料,然後也脫離學校已久,所以一直想盡辦法理解作業、寫出作業也在調整學習的方式,試圖擺脫覺得自己是白癡的想法。這時候開始會去看同學的 github,嘗試從其他同學面對問題時不同的想法或解法得到一些靈感,這邊首推 futianshen 同學,對我很有幫助。

  • 優點

最大的優點就是,課程目標的綜合能力真的會有成長@@
每次理解後的回顧,都有不一樣的感受。

課程目標 - 綜合能力
具有找資料的能力,能夠知道如何找到相關資訊
具有分析問題的能力,能夠快速定位問題
知道如何解決問題,包括但不限於拆解問題、簡化問題、轉化問題
解決問題後能夠重新歸納並整理
  • 缺點:時間非常緊湊。

在學習程式的過程中,我們可能都看過很多關於『學習』方面的文章,現在回顧這一切真的很有感覺。當初學習那些新概念的時候,明明就是看中文聽中文啊,沒辦法馬上「啊!原來是這樣啊!」,可能過了一段時間回過頭複習,「咦?我搞懂了!」,然後敲一敲就完成了。

由於這場馬拉松時間非常緊揍,所以除了緊跟課程、安排好自己的時間、整理好自己的心情,最重要的是不管怎樣都不能動搖!當然我們是血肉之軀,動搖的時候記得提醒自己「與其被動搖了,倒不如這個部分先休息吧,換個其他的東西學習之類的都好」,然後繼續學習。

一開始的挫折加減有,而大部分的學習都需要一點時間,大概是讓大腦的神經突觸在你學習的過程中增生或者是新知識在你腦子裡像水泥般慢慢凝固,然後就理解了,你就會本來的挫折反而更讓你開心的,所以有挫折才更讓人開心。

程卡關後(就是大家都卡關那時期)的心得

以下是有感卡關:

  • 第二週程式基礎(下)
  • 第四週前端基礎(中)

這段時間一直覺得自己是白癡,為什麼看都看不會,就如同上面提到的部分,需要點時間吧,每個人都不同。
花了很多時間在研究表單,

  • 第五週後端基礎(上)留言板

看著影片,敲敲打打出一個留言板,幾乎不知道在幹嘛,只知道我矇懞懂懂地完成了留言板。
因為希望自己盡可能的理解敲了什麼 code,所以影片反反覆覆看了很多很多次,好笑的是儘管是看著影片打,還是遇到很奇妙的 bug。印象中五六七週每次都是重頭敲一次留言板。

到了第七週用 jQuery 改寫的時候,經過了這段時間的研究與敲打,總算是對 PHP 有些感覺了,除了理解了影片中的範例 code,可以依自己的想法修改內容。而 jQuery 的部份除了透過影片、圖書館相關的書籍之外,有了前幾週的基礎,蠻快就完成了。

http://mentor-program.co/enter3017sky/week5/week5_index.php
http://mentor-program.co/enter3017sky/week6/index.php
http://mentor-program.co/enter3017sky/week7/index.php

這邊開始嘗試使用 PDO 來操作 MySQL。後來經過 [BE101] 用 PHP 與 MySQL 學習後端基礎 職缺報報 的練習(pass 進階練習了QQ),以及第八週作業 Transaction 練習,參考書籍,《PHP 7與MySQL網頁資料庫程式設計》、《PHP學習手冊》、《PHP網路服務 : 建構現代網路的API》、《PHP大師寫出頂尖的程式碼 : 為PHP專業人員所寫的現代、高效和安全技術》,整個對 PHP 的理解又大大了提升。

後來 [BE101] 實戰 Blog,影片就是瀏覽過去而已,剩下的幾乎可以重頭到尾敲出來了,甚至可以根據自己的想法增加更多更多的功能,真的是蠻感動的QQ。

  • 第九週(10/29 ~ 11/04):前端中階(上)

hw2:實作出 Stack 與 Queue

這個部分,複習幾次物件導向,參考了《用 JavaScript 學習資料結構和演算法》,後來用了幾個不一樣的方法去實作這個作業,過程中發現對陣列的操作不是很詳細、以及物件導向的知識不夠扎實。

hw3:Event Loop

印象中第三次看的時候,突然搞懂了!
以下有個小故事。

2019-01-25

  • eventloop 之來杯美式!

愛喝咖啡的我,每天都會在超商買上幾杯咖啡,有時候你跟店員說了「我要一杯熱美式。」店員拿起咖啡杯,按下確認鍵,咖啡機運作了。在咖啡機運作的過程,通常也會有其他的客人在排隊了等結帳。

JavaScript 是單線程的程式語言,所以同一時間只能做一件事情。假如店員看著咖啡機,等機器滴完,然後裝上蓋子遞給我,才繼續幫下一個客人結帳,這是同步(synchronous)的任務,會在主線程之上形成執行堆疊,通常會有更多的客人接著來排隊,而這個情況就會造阻塞。

但是 JavaScript 是運行在遊覽器之上的,咖啡機製造咖啡過程的這段時間,就像 Web 提供的 api - setTimeout 那樣,此時你的咖啡就被擺在任務佇列(Task Queue)中,直到櫃檯沒有人排隊結帳之後,才換你。

誒等等,是不是哪邊怪怪的?必須等待所有的人?我想只有他一個人,而排隊的人又很多的,店員自己本身很有壓力,就一直結帳下去了,看著店員的我心想「啊~原來我被放到任務佇列了啊~原來這就是 event loops」。

面試時的心得,課程有給了你哪些幫助?如果可以的話希望還能獲得哪方面的幫助?

  • 面試時的心得,課程有給了你哪些幫助?

如果有用心在課程上的話,基礎很扎實的,當然也有部分是取決於個人因素。
而最大的幫助大概就是胡立老師課程的開場白了「為什麼我們需要 xxxx?」,經過果實夥伴的面試問了一系列類似的問題之後,儘管自己沒有特別去思考過,但由於教學的方式,無形之中也讓你改變的思考的模式,當你使用這個工具時,會去思考為什麼使用它?它跟它又是什麼分別呢?所以才沒被問倒XD

大致上來說,這個計畫的幫助是全方位的,所以這邊就先跳過了,比較適合自己來體驗。

  • 如果可以的話希望還能獲得哪方面的幫助?

有得時候會不知道實務上的要求會是什麼,或者是 code 的要求之類的。

總結一下整個課程的心得感想,像是修完之後跟原本的期待是否有出入,是否推薦其他人參與課程,優點與缺點等等的

4/15 要去公司報到了,回想去年看到這個課程時內心的激昂,相信這個課程能讓我達到轉職的這個目標,然爾經過這段時間的努力,雖然沒有如期地達成,但最終還是拿到 offer 了,如果你願意給自己一個機會,花半年的時間做好一件事情,首推胡立老師的課程。

第二期比較不友善的地方,第三期的改變了許多,對新手來說更是友善。

譬如說 課程規則 中:
3. 每日心得 :提供了 ORID 的方式,來反思每天的學習,讓你能更快的學習成長、進入狀況。
4. 簡答題規範 :由於整體的時間拉長了,也相對的比較要求,但如果每天都經由 ORID 模型來思考自身的學習,我想這點也會變得更加容易。
5. 程式碼規範 :用 ESlint 主動要求程式的規範其實蠻好的,會省下思考、搜尋、吸收「程式碼怎麼寫比較好」的時間。

第一週的暖身週真的很不錯,特別是『hw3:教你朋友 CLI、hw4:跟你朋友介紹 Git』,透過輸出加深理解以及延伸學習 Shell Scripts。

第二期與第三期相差不過幾個月,第三期的課程改良的程度真的是讓人驚訝,胡老師對教學的熱忱完完全全的體現在他所做的事情上面了,無所不用其極的讓你以更快更好的方式學習程式,我相信老師的目標很快就會達成了,但是光是相信是不夠的,所以第三期我也會親自體驗效果如何XD。

@aszx87410 aszx87410 added the 轉職失敗 課程結業時未轉職成功 label Apr 14, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
轉職失敗 課程結業時未轉職成功
Projects
None yet
Development

No branches or pull requests

1 participant