升大學的暑假,我回高中母校協助資訊競賽集訓,也負責做集訓網站。印象中也是買了一本書自己研究,寫的是PHP,有接SQL資料庫。
網站功能很基本,就是會員系統、公告板、討論區、還有上傳檔案的地方。
從零開始,程式都是自己一行一行打的。
那時自我感覺很良好,想說自己還沒畢業,就已經有工作能力,最差也可以領22k吧。
不過那時根本沒思考職稱該是「程式設計師」還「軟體工程師」就是了。
大學期間我過著拚命讀書也拚命工作的日子,最誇張的一學期是修了二十幾學分再加上三份工作,可想而知睡眠的優先權被調得非常低。
我接的大部分是一些學校裡的小案子:教學用的網站、資料庫、後台。
由於學生來來去去,code通常不會有很完整的架構,文件?那是什麼?寫那個有算薪水嗎?
於是我很早就發展出一套理解前人code的方法。後來聽說這在業界某些地方其實也挺實用的,不過我沒在適當的時機進入業界任職,也就沒靠這個賺到多少錢。
當時的我認為,沒有文件的時候,code就是最好的文件。
這跟今日使用AI開發很流行的SDD(spec-driven development),spec才是single source of truth,根本完全相反。
其實我同意後者是個比較好的世界,畢竟spec是用人的語言寫的,不像code要工程師才看得懂、改得動。
只不過,這樣就不需要有人去搞懂陳年code了,令我不免有多年的累積成空的感慨。
~ 本文與 \ Claude Sonnet 5 \o/ Gemini 3.1 Pro & 3.6 Flash / 協作完成 ~
除了Web,我也寫過App。大學參加過一次Android App比賽,跟隊友一起做了個收藏書籍的App。
上面提到的學校裡的案子,也有做過一些App,幫助學生背單字、練習發音、對話等等。
在美國讀書期間,我當過一門Android課的助教,那時語言已經從Java換成Kotlin了。語法相近,解答學生的疑惑、幫忙debug不成問題。但是那些課堂作業離完整產品實在太遠了。
大學接案做的東西,也都是課堂內部使用而已,所以我從來沒有上架App的經驗。於是後來遇到一些需要上架的商業案子,即使功能簡單,我也沒辦法接到。
2023年前後做HCI研究,也寫了一些Web介面讓使用者操作,但只是做到能demo的程度而已。
我倒是完全沒有預料到,那就是我最後一次進行所謂的前端開發。