學習全端網路開發的旅程,從找不清方向到自信學會一技之長

本文轉載自AC畢業生 Walle的部落格

從去年 11/26 開始加入 Alpha Camp,已經過了整整一年,是時候該來盤點這些日子的成長!

(註:AC全端開發課程已改版為三學期,從程式設計入門掌握網頁開發、到軟體工程師養成,讓不同職涯和學習目標的人,能夠客製化找到自己的路徑。)

學期一:暖身

  • 認識 User Story、User Flow Chart、Wireframe 等協助設計網站 UI/UX 的工具。
  • 學習 HTML5、CSS3,並且在 codepen 上開始練習設計網頁。
  • 以 Ruby 作為第一個入門的程式語言,理解基本的變數宣告、資料型別、迴圈與遍歷、如何 debug 等知識。

學期二:啟程

  • 學習設定 codepen 開發環境與協助開發人員的工具(DevTools)。
  • 延續學期一的網頁設計課程,成功建立個人網站。
  • 認識物件導向,上手 JavaScript 與基本的演算法邏輯,熟練 DOM 操作與事件,建立約會網站、名片產生器等小作品。
  • 運用 CSS 佈局系統與 Bootstrap 實現 RWD。
  • 認識Ajax、Json,並且串接第三方 API。
  • 學習如何運用 Git 做版本控制與管理。
  • 運用 Mocha、Chai 實作測試。

學期三:後端開發實務

  • 認識網路運作的觀念(server/client)、傳輸協定。
  • 認識程式架構(Model-View-Controller)、RESTful 路由設計。
  • 熟練操作終端機與指令列,認識 Library、Framework 與 NPM。
  • 運用 Express.js 與 template engine 建立幹話/密碼/短網址產生器。
  • 認識資料庫、SQL 、sequelize 與資料庫字元設定及正規化,用 MongoDB 打造 Todo List 、記帳本餐廳清單,實作排序、篩選等功能。
  • 熟悉 Asynchronous JavaScript,將程式碼從 Callback、Promise 優化到 async/await。
  • 認識 Session&Cookie,運用第三方工具(passport)實作多種登入功能,並用密碼雜湊提升資料安全性。
  • 運用 Heroku 部署應用程式,並且調整相關的資料庫設定。
  • 認識關聯式資料庫,學習繪製 ERD。用 MySQL 重建 Todo List 與 記帳本,熟悉兩者原理與操作上的差異。

學期四:業界專案實戰

  • 學習產品設計思維,運用同理心地圖與人物誌協助產品開發。
  • 熟練 MySQL 的使用方式,處理更為細節的 CRUD,打造餐廳論壇網站。
  • 建立 API 伺服器,練習資料處理與串接,並且學習 Vue 的基礎運用,將餐廳論壇重構為 SPA。
  • 組成三人小組打造 Simple Twitter 專案,練習多人開發的情況下要如何處理版本控制,如何分配工作細項與時間安排,過程中負責設計與優化所有頁面的 UI/UX,以及專案初始化與會員系統的建立,過程中熟悉如何處理資料關聯與部署時的資料庫相容問題。
  • 組成三人小組打造 Waromen(客戶關係管理系統,CRM),目前仍持續開發與維護當中,預計要於12月底正式發布第一版。

心得可以參考:AC畢業專案 — — Waromen,我的第一個完整作品。

此專案的詳細內容與開發進度請見 Github

一直到整理出這篇文章,才發現原來在 AC 的幫助下,自己漸漸地就累積獨自開發完整專案的能力,知道怎麼從剛開始寫使用者故事、畫 wireframe、設計 ERD、切版、串 API 等等,得以選擇喜歡的語言、框架、資料庫、套件 …

最近好朋友的甜點工作室開張了,在處理訂單經常遇到許多麻煩、要重複做同一件事很多次,甚或是需要更強大的行銷方式來幫助業績成長。過去如果我看見這樣的情況,恐怕也無能為力,只能靠人力下去幫忙,但如今學習了全端網路開發,我有能力可以幫她架設網站、透過優化搜尋引擎與 UI/UX 的設計實質提升轉換率,並且設計後台幫她解決惱人的重複性工作與重要數據紀錄。

這才發現當學習一項技能幫助到生活與工作時,那感覺有多麽興奮和開心。

很期待未來技術實力更上層樓時,能夠幫助更多人解決生活中的大小事。

3分鐘小測驗,找到你學習全端網路開發的入口