Web程式設計師應有的七個特質

Yotlin
Parenting 數位研發
Jan 16, 2022
Photo by Marvin Meyer on Unsplash

注重觀念

  1. 了解底層運作原理:
    在電腦0101的世界裡,並不存在基因突變,任何工具或framework都沒有”特異功能” ,最終還是會透過某個原理來完成工作
    ex: Laravel IOC https://ithelp.ithome.com.tw/articles/10219258
  2. GIGO(Garbage In, Garbage Out):
    垃圾進垃圾出,你的程式不是google 搜尋,不會幫你修正輸入
    https://terms.naer.edu.tw/detail/1679759/?index=7
    任何問題都要先由來源(input)查起
  3. 熟記觀念 =轉換技術容易:
    沒有人可以保證某個技術可以用一輩子不換
    ex:asp
  4. 拒當碼農
    不要只會copy + paste,先了解這段程式的全部作用,然後……還是copy + paste (多打多錯)

專精技術

  1. 避免程式語言轉換成本:
    程式語言或framework特性不同,不斷切換容易出事
    ex: switch cace ,在php 會轉換型別,在javascript則不會
  2. 腦容量有限:
    專精2~3種技術,其他靠google

不斷更新

  1. 技術不進則退:
    任何程式語言都有漏洞,或是隨著硬體,作業系統的進化,而需要改版,中間會有多少改變,永遠抓不準,只能不斷跟上,才不會被淘汰
  2. 避免處在封閉的開發環境:
    技術會有所謂的主流,除非你有把握做到退休,否則…
    ex: laravel 和vue 的流行 https://kknews.cc/zh-tw/code/36mmzla.html
  3. 老闆想要的永遠比你會的還多:
    BJ4
  4. 更新資安問題,但不去追求最新版本的工具或套件,避免當白老鼠

重視溝通

  1. 減少來來回回的成本:
    把時間和精力花在專案初期的溝通上,會比你誤解需求來回修改程式的成本低
  2. 善用工具:
    製作清楚的api文件,流程圖等,來取代複雜的文字說明
  3. 統一用詞:
    秦始皇的車同軌、書同文,確保大家在講的是同樣的東西

強調品質

  1. 墨菲定律:
    程式總是會在你沒有測試就上線的那次出問題
  2. 測試就是你自己的責任:
    不管PM和QA在怎麼幫你測試,最終修正bug的工作還是會回到你的身上來,為了避免debug的麻煩,何不在一開始就好好測試減少bug?
  3. 不要害怕重構自己的程式:
    良好的品質,建立在良好的架構上,避免最後歪樓,該重構的程式還是要好好去面對他
  4. 懶惰反而成就品質:
    因為懶惰,所以程式上線後,除了系統異常時,我一點都不想去關心他。我們就是要為了這個懶惰而去思考或使用工具,所謂科技始終來自於人性

時間管理

  1. 要事第一:
    插件永遠不會停,清楚了解每個任務的重要性,dead line,排定好優先順序
  2. 學會預估工時:
    先找出任務最麻煩的部份,思考會不會卡關,如果會卡關,能不能切分任務,無法預估的部份再另外排定工時或是尋求他人協助
  3. 主動回報延遲:
    地球不會因為你估好工時而停止轉動,突發狀況總是說來就來,一天24小時也不會因為你的延遲而增加,明天總是會來。
    主動回報,讓大家有辦法提前應對,才是時間管理最重要的課題

思考方案

  1. 思考要解決什麼問題:
    任何程式都是為了解決問題而存在,不要完全不思考就進行開發
  2. 標準寫法:
    有的web功能有所謂的標準寫法,不要自創寫法,讓自己的程式曝露在危險下 ex: PDO的使用 ,
  3. 考慮解決方案:
    可以考慮以下幾點來提供方案:效能 、人力成本 、機器成本、回應速度、穩定性、開發時間
  4. 提供備案:
    解決問題的方案一定不只一種,最好要提供多種方案來應對外在的變化
  5. 決定方案:
    一次到位 > 先求有再求好 > 委外
    沒有哪個比較好,但一定要多方共同思考決定

--

--

Yotlin
Parenting 數位研發

22年以上 Web 全端工程師經驗,目前任職於親子天下數位研發中心技術部,帶領團隊共同成長